Ga naar inhoud

Sojern Pixel-integratie

Als u advertentiecampagnes via Sojern uitvoert, kunt u uw Sojern-account koppelen aan Wink door uw Sojern GTM Container ID in te voeren in het Wink-portaal. Zodra de koppeling is gemaakt, wordt de trackingpixel van Sojern automatisch geactiveerd voor uw accommodatie — en volgt deze de volledige gastreis van zoeken tot voltooide boeking.


  1. Vraag uw GTM Container ID op bij Sojern

    Neem contact op met uw Sojern-accountmanager en vraag om uw GTM Container ID. Dit heeft het formaat GTM-XXXXXXX. Dit is anders dan uw Sojern Pixel ID — zorg dat u specifiek om de GTM Container ID vraagt.

  2. Voer deze in het Wink-portaal in

    Log in op my.wink.travel, selecteer uw account en ga naar het tabblad Aanpassingen. Plak uw Sojern GTM Container ID in het Sojern-veld en sla op. Uw integratie is nu actief.

  3. Bevestig bij uw Sojern-accountmanager

    Laat uw Sojern-accountmanager weten dat de integratie actief is. Zij kunnen aan hun kant verifiëren dat de pixel correct wordt geactiveerd op wink.travel voor uw accommodatie en dat de gegevens binnenkomen in uw Sojern-account.


Voor transparantie, dit is wat Wink configureert om deze integratie te laten werken:

  • Een Sojern GTM Container ID-veld is beschikbaar in het tabblad Aanpassingen van uw Wink-portaal. Wanneer u uw Container ID invoert, valideert Wink het formaat en slaat het veilig op bij uw accommodatie.
  • Op elke pagina waar uw accommodatie actief is op Wink, wordt uw Sojern GTM Container ID in de pagina weergegeven en laadt het tagmanagementsysteem van Wink uw Sojern-container dynamisch naast de eigen container. Dit gebeurt automatisch — er zijn geen handmatige stappen nodig van het Wink-team per accommodatie.
  • Uw Sojern-container wordt asynchroon geladen, wat betekent dat dit de laadsnelheid van de pagina voor uw gasten niet beïnvloedt.
  • De tracking van Wink en uw Sojern-pixel draaien parallel, waarbij ze dezelfde gedeelde gebeurtenisgegevens gebruiken. Elk boekingsevenement dat Wink volgt, is tegelijkertijd beschikbaar voor uw Sojern-container.
  • Wanneer uw accommodatie niet wordt bekeken — bijvoorbeeld wanneer een gast een ander hotel op Wink bekijkt — wordt uw Sojern-container niet geladen. Dit zorgt ervoor dat Sojern alleen gegevens ontvangt die relevant zijn voor uw accommodatie.

Wink pusht GA4-compatibele events naar de dataLayer gedurende de hele gastreis. Uw GTM-container leest uit dezezelfde gedeelde dataLayer, dus elke trigger of variabele die u configureert heeft toegang tot alle hieronder beschreven eigenschappen.

Elk event volgt de standaard GA4 Enhanced Ecommerce-structuur: een top-level event string en een ecommerce object. Voor elke push wist Wink de vorige ecommerce-payload om te voorkomen dat verouderde data in nieuwe triggers terechtkomt.


Deze events worden automatisch geactiveerd terwijl een gast door de boekingsfunnel beweegt. Configureer uw GTM-triggers als Custom Event triggers die overeenkomen met de onderstaande eventnamen.

StapEventWanneer het afgaat
1view_item_listHotelinventarislijst of raster wordt geladen
2view_itemGast bekijkt een specifieke accommodatiepagina
3add_to_cartGast voegt een kamer toe aan de winkelwagen
4begin_checkoutCheckout-/betalingspagina wordt geladen
5add_payment_infoGast selecteert een betaalmethode
6loginGast logt in via SSO
7purchaseBoeking is bevestigd
8refundBoeking is geannuleerd

Wordt geactiveerd wanneer een hotelinventarislijst of raster wordt weergegeven.

{
"event": "view_item_list",
"ecommerce": {
"item_list_id": "featured_hotels",
"item_list_name": "Uitgelichte Hotels",
"items": [ ]
}
}

Wordt geactiveerd wanneer een gast een specifieke accommodatie bekijkt.

{
"event": "view_item",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}

Wordt geactiveerd wanneer een gast een kamer aan de winkelwagen toevoegt.

{
"event": "add_to_cart",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}

Wordt geactiveerd wanneer de checkout-/betalingspagina wordt geladen.

{
"event": "begin_checkout",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"coupon": "SUMMER10",
"items": [ ]
}
}

coupon is alleen aanwezig wanneer een kortingscode is toegepast.


Wordt geactiveerd wanneer de gast een betaalmethode selecteert of bevestigt.

{
"event": "add_payment_info",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"coupon": "SUMMER10",
"payment_type": "STRIPE",
"items": [ ]
}
}

payment_type wordt gevuld met het type betaalacquirer. coupon is alleen aanwezig wanneer een kortingscode is toegepast.


Wordt geactiveerd wanneer een gast zich authenticieert via single sign-on.

{
"event": "login",
"ecommerce": {
"method": "IAM"
}
}

Wordt geactiveerd wanneer een boeking is bevestigd.

{
"event": "purchase",
"ecommerce": {
"currency": "USD",
"transaction_id": "bc-a1b2c3d4",
"value": 299.00,
"coupon": "SUMMER10",
"shipping": 0.00,
"tax": 0.00,
"items": [
{
"item_id": "rr-xyz789",
"item_name": "Deluxe Ocean Suite",
"item_brand": "Grand Resort",
"item_category": "GUEST_ROOM",
"price": 299.00,
"quantity": 1,
"property_id": "prop-abc123",
"property_name": "Grand Resort Maldives",
"property_brand": "Grand Collection",
"property_chain": "Luxury Hotels International",
"city_name": "Malé",
"country_code": "MV",
"start_date": "2026-06-01",
"end_date": "2026-06-05",
"num_adults": 2,
"num_children": 0,
"cancellation_policy": "Refundable",
"rate_plan_id": "rp-summer2026",
"room_rate_id": "rr-xyz789",
"room_rate_name": "Summer Escape — Bed & Breakfast",
"num_perks": 2,
"room_location": "Overwater",
"room_view": "Ocean",
"room_classification": "Suite"
}
]
}
}

transaction_id is de unieke boekingscontractidentificatie. coupon, shipping en tax zijn alleen aanwezig indien van toepassing.


Wordt geactiveerd wanneer een boeking wordt geannuleerd.

{
"event": "refund",
"ecommerce": {
"currency": "USD",
"transaction_id": "bc-a1b2c3d4",
"value": 299.00,
"coupon": "SUMMER10",
"shipping": 0.00,
"tax": 0.00,
"items": [ ]
}
}

transaction_id komt overeen met het purchase event voor dezelfde boeking. coupon, shipping en tax zijn alleen aanwezig indien van toepassing.


Alle events die een items array bevatten, gebruiken hetzelfde item-schema. Elke eigenschap is optioneel tenzij als verplicht gemarkeerd.

Deze velden worden native herkend door GA4 en verschijnen in standaard ecommerce-rapporten zonder extra configuratie.

EigenschapTypeVerplichtBeschrijving
item_idstringJaUnieke identificatie voor de kamer of het product
item_namestringNaam van de kamer of het product
affiliationstringAffiliate- of verkopersnaam
couponstringToegepaste kortingscode op het item
currencystringISO 4217 valutacode (bijv. USD)
creative_namestringCreatieve naam gebruikt in een promotie
creative_slotstringPositie van de promotiecreatie
discountnumberToegepaste korting
indexnumberPositie in de lijst (1-gebaseerd)
item_brandstringHotel- of merknaam
item_categorystringProducttype — bijv. GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA
item_list_idstringIdentificatie van de lijst waartoe dit item behoort
item_list_namestringWeergavenaam van de lijst
location_idstringGeocoördinaten van de accommodatie
pricenumberEenheidsprijs
promotion_idstringIdentificatie van de promotie
promotion_namestringWeergavenaam van de promotie
quantitynumberAantal (standaard 1)

Deze parameters bevatten Wink-specifieke boekingscontext. GA4 toont ze niet automatisch in rapporten — u moet elk van deze registreren als een item-gescopeerde aangepaste dimensie in uw GA4-property voordat ze verschijnen in exploraties of standaardrapporten. Zie Aangepaste dimensies in GA4 hieronder voor instructies.

EigenschapTypeBeschrijving
property_idstringWink-accommodatie-identificatie
property_namestringWeergavenaam van de accommodatie
property_brandstringMerk waartoe de accommodatie behoort
property_chainstringKetens waartoe de accommodatie behoort
property_url_namestringURL-vriendelijke slug voor de accommodatie
city_namestringStad waar de accommodatie zich bevindt
country_codestringISO 3166-1 alpha-2 landcode
start_datestringIncheckdatum in YYYY-MM-DD formaat
end_datestringUitcheckdatum in YYYY-MM-DD formaat
num_adultsnumberAantal volwassenen in de boeking
num_childrennumberAantal kinderen in de boeking
cancellation_policystringEén van: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions
rate_plan_idstringIdentificatie van het tariefplan
room_rate_idstringIdentificatie van het specifieke kamertarief
room_rate_namestringWeergavenaam van het kamertarief
num_perksnumberAantal extra’s inbegrepen bij het tarief
room_locationstringLocatiebeschrijving van de kamer (bijv. Overwater, Garden)
room_viewstringUitzichtbeschrijving van de kamer (bijv. Ocean, City)
room_classificationstringKamerclassificatie of -niveau (bijv. Suite, Standard)
bed_typestringBedconfiguratie van de kamer (bijv. King, Twin)

GA4 negeert aangepaste item-parameters in rapporten totdat u ze expliciet registreert als item-gescopeerde aangepaste dimensies. U hoeft alleen de parameters te registreren die u in rapporten wilt gebruiken — niet alle 20.

  1. Open Aangepaste definities

    Ga in GA4 naar Beheer (tandwiel-icoon linksonder) → selecteer uw property → GegevensweergaveAangepaste definities.

  2. Maak een nieuwe aangepaste dimensie

    Klik op Aangepaste dimensies maken.

  3. Vul de dimensiedetails in

    • Dimensienaam — de leesbare naam die in GA4-rapporten verschijnt (zie onderstaande tabel)
    • Scope — selecteer Item
    • Eventparameter — de exacte parameternaam zoals die in de dataLayer voorkomt (zie tabel)
    • Beschrijving — optioneel maar aanbevolen
  4. Opslaan en herhalen

    Klik op Opslaan en herhaal dit voor elke parameter die u wilt volgen.

Gebruik onderstaande tabel als referentie bij het aanmaken van aangepaste dimensies. De waarde van Eventparameter moet exact overeenkomen — GA4 is hoofdlettergevoelig.

DimensienaamEventparameterType
Accommodatie-IDproperty_idTekst
Accommodatienaamproperty_nameTekst
Accommodatiemerkproperty_brandTekst
Accommodatieketenproperty_chainTekst
Accommodatie URL-naamproperty_url_nameTekst
Stadnaamcity_nameTekst
Landcodecountry_codeTekst
Incheckdatumstart_dateTekst
Uitcheckdatumend_dateTekst
Aantal volwassenennum_adultsNummer
Aantal kinderennum_childrenNummer
Annuleringsbeleidcancellation_policyTekst
Tariefplan-IDrate_plan_idTekst
Kamertarief-IDroom_rate_idTekst
Kamertariefnaamroom_rate_nameTekst
Aantal extra’snum_perksNummer
Kamerlocatieroom_locationTekst
Kameruitzichtroom_viewTekst
Kamerclassificatieroom_classificationTekst
Bedtypebed_typeTekst

De volgende events zijn beschikbaar in de Wink dataLayer maar maken geen deel uit van de standaard boekingsfunnel. Ze kunnen worden geactiveerd door andere interacties op het platform.

{
"event": "add_to_wishlist",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}
{
"event": "remove_from_cart",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}
{
"event": "select_item",
"ecommerce": {
"item_list_id": "featured_hotels",
"item_list_name": "Uitgelichte Hotels",
"items": [ ]
}
}
{
"event": "view_cart"
}

Bij dit event wordt geen ecommerce payload meegeleverd.

{
"event": "view_promotion",
"ecommerce": {
"creative_name": "Zomerbanner",
"creative_slot": "hero",
"promotion_id": "promo_001",
"promotion_name": "Zomeruitverkoop",
"items": [ ]
}
}
{
"event": "select_promotion",
"ecommerce": {
"creative_name": "Zomerbanner",
"creative_slot": "hero",
"promotion_id": "promo_001",
"promotion_name": "Zomeruitverkoop",
"items": [ ]
}
}
{
"event": "search",
"ecommerce": {
"search_term": "strandresort"
}
}
{
"event": "select_content",
"ecommerce": {
"content_type": "hotel",
"content_id": "prop_12345"
}
}
{
"event": "share",
"ecommerce": {
"method": "copy_link",
"content_type": "hotel",
"item_id": "prop_12345"
}
}
{
"event": "sign_up",
"ecommerce": {
"method": "email"
}
}
{
"event": "generate_lead",
"ecommerce": {
"currency": "USD",
"value": 0.00
}
}
{
"event": "join_group",
"ecommerce": {
"group_id": "group_abc"
}
}
{
"event": "earn_virtual_currency",
"ecommerce": {
"virtual_currency_name": "WinkPoints",
"value": 100
}
}
{
"event": "spend_virtual_currency",
"ecommerce": {
"virtual_currency_name": "WinkPoints",
"value": 50,
"item_name": "Kamerupgrade"
}
}
{
"event": "level_start",
"ecommerce": {
"level_name": "Goud"
}
}
{
"event": "level_end",
"ecommerce": {
"level_name": "Goud",
"success": true
}
}
{
"event": "level_up",
"ecommerce": {
"level": 2,
"character": "reiziger"
}
}
{
"event": "post_score",
"ecommerce": {
"score": 980,
"level": 2,
"character": "reiziger"
}
}
{
"event": "unlock_achievement",
"ecommerce": {
"achievement_id": "eerste_boeking"
}
}
{
"event": "tutorial_begin",
"ecommerce": {}
}
{
"event": "tutorial_complete",
"ecommerce": {}
}

Dit is een aangepast Wink-event — geen onderdeel van de standaard GA4-eventset. Het wordt gepusht bij elke paginanavigatie en bevat apparaat- en sessiecontext. Het bevat geen ecommerce object.

{
"event": "virtualPageView",
"device": "Desktop",
"deviceAgent": "Mozilla/5.0 ...",
"os": "MacOS",
"path": "/hotels/grand-resort",
"title": "Grand Resort — Wink",
"userId": "user_abc123",
"startDate": "2026-06-01",
"endDate": "2026-06-05",
"guests": "2",
"rooms": "1"
}
EigenschapBeschrijving
deviceGedetecteerd apparaattype — Desktop, Android, iPhone, iPad of vergelijkbaar
deviceAgentRaw user agent string
osGedetecteerd besturingssysteem — Windows, MacOS, Linux, UNIX
pathHuidige paginapad
titleHuidige paginatitel
userIdGeauthentificeerde gebruikersidentificatie (weggelaten als niet ingelogd)
startDateIncheckdatum van de huidige zoeksessie
endDateUitcheckdatum van de huidige zoeksessie
guestsAantal gasten van de huidige zoeksessie
roomsAantal kamers van de huidige zoeksessie