Sojern Pixel Integration
Hvis du kører reklamekampagner gennem Sojern, kan du forbinde din Sojern-konto til Wink ved at indtaste din Sojern GTM Container ID i Wink-portalen. Når forbindelsen er oprettet, aktiveres Sojerns trackingpixel automatisk for din ejendom — og dækker hele gæstens rejse fra søgning til gennemført booking.
Hvad Du Skal Gøre
Sektion kaldt “Hvad Du Skal Gøre”-
Få din GTM Container ID fra Sojern
Kontakt din Sojern-kontoadministrator og anmod om din GTM Container ID. Den følger formatet
GTM-XXXXXXX. Dette er forskelligt fra din Sojern Pixel ID — sørg for at bede specifikt om GTM Container ID. -
Indtast den i Wink-portalen
Log ind på my.wink.travel, vælg din konto, og gå til fanen Customizations. Indsæt din Sojern GTM Container ID i Sojern-feltet og gem. Din integration er nu aktiv.
-
Bekræft med din Sojern-kontoadministrator
Giv din Sojern-kontoadministrator besked om, at integrationen er aktiv. De kan verificere fra deres side, at pixel’en aktiveres korrekt på
wink.travelfor din ejendom, og at data flyder ind i din Sojern-konto.
Hvad Wink Gør På Vores Side
Sektion kaldt “Hvad Wink Gør På Vores Side”For gennemsigtighed er her, hvad Wink konfigurerer for at få denne integration til at fungere:
- Et Sojern GTM Container ID-felt er tilgængeligt i fanen Customizations i din Wink-portal. Når du indtaster din Container ID, validerer Wink formatet og gemmer det sikkert tilknyttet din ejendom.
- På hver side, hvor din ejendom er aktiv på Wink, bliver din Sojern GTM Container ID indsat i siden, og Winks tagstyringssystem indlæser dynamisk din Sojern-container sammen med sin egen. Dette sker automatisk — ingen manuelle trin kræves fra Wink-teamet pr. ejendom.
- Din Sojern-container indlæses asynkront, hvilket betyder, at det ikke påvirker sideindlæsningens ydeevne for dine gæster.
- Winks egen tracking og din Sojern-pixel kører parallelt, og læser fra de samme delte hændelsesdata. Hver bookinghændelse, som Wink sporer, er samtidig tilgængelig for din Sojern-container.
- Når din ejendom ikke vises — for eksempel når en gæst browser et andet hotel på Wink — indlæses din Sojern-container ikke. Dette sikrer, at Sojern kun modtager data, der er relevante for din ejendom.
DataLayer Reference
Sektion kaldt “DataLayer Reference”Wink sender GA4-kompatible hændelser til dataLayer gennem hele gæstens rejse. Din GTM-container læser fra denne samme delte dataLayer, så enhver trigger eller variabel, du konfigurerer, har adgang til alle nedenstående egenskaber.
Hver hændelse følger den standardiserede GA4 Enhanced Ecommerce-struktur: en topniveau event-streng og et ecommerce-objekt. Før hver push rydder Wink det tidligere ecommerce-indhold for at forhindre forældede data i at påvirke nye triggers.
Bookingrejse-hændelser
Sektion kaldt “Bookingrejse-hændelser”Disse hændelser aktiveres automatisk, når en gæst bevæger sig gennem bookingtragten. Konfigurer dine GTM-triggers som Custom Event-triggers, der matcher hændelsesnavnene nedenfor.
| Trin | Hændelse | Hvornår den aktiveres |
|---|---|---|
| 1 | view_item_list | Hotelinventarliste eller grid indlæses |
| 2 | view_item | Gæst ser en specifik ejendomsside |
| 3 | add_to_cart | Gæst tilføjer et værelse til indkøbskurven |
| 4 | begin_checkout | Checkout-/betalingssiden indlæses |
| 5 | add_payment_info | Gæst vælger en betalingsmetode |
| 6 | login | Gæst logger ind via SSO |
| 7 | purchase | Booking bekræftes |
| 8 | refund | Booking annulleres |
view_item_list
Sektion kaldt “view_item_list”Aktiveres, når et hotelinventar-grid eller liste vises.
{ "event": "view_item_list", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_item
Sektion kaldt “view_item”Aktiveres, når en gæst ser en specifik ejendom.
{ "event": "view_item", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}add_to_cart
Sektion kaldt “add_to_cart”Aktiveres, når en gæst tilføjer et værelse til sin kurv.
{ "event": "add_to_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}begin_checkout
Sektion kaldt “begin_checkout”Aktiveres, når checkout-/betalingssiden indlæses.
{ "event": "begin_checkout", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "items": [ ] }}coupon er kun til stede, når en rabatkode er anvendt.
add_payment_info
Sektion kaldt “add_payment_info”Aktiveres, når gæsten vælger eller bekræfter en betalingsmetode.
{ "event": "add_payment_info", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "payment_type": "STRIPE", "items": [ ] }}payment_type udfyldes ud fra betalingsindløserens type. coupon er kun til stede, når en rabatkode er anvendt.
Aktiveres, når en gæst logger ind via single sign-on.
{ "event": "login", "ecommerce": { "method": "IAM" }}purchase
Sektion kaldt “purchase”Aktiveres, når en booking bekræftes.
{ "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 er den unikke bookingkontrakt-identifikator. coupon, shipping og tax er kun til stede, når relevant.
refund
Sektion kaldt “refund”Aktiveres, når en booking annulleres.
{ "event": "refund", "ecommerce": { "currency": "USD", "transaction_id": "bc-a1b2c3d4", "value": 299.00, "coupon": "SUMMER10", "shipping": 0.00, "tax": 0.00, "items": [ ] }}transaction_id matcher purchase-hændelsen for samme booking. coupon, shipping og tax er kun til stede, når relevant.
Vareegenskaber
Sektion kaldt “Vareegenskaber”Alle hændelser, der inkluderer et items-array, deler samme vare-skema. Hver egenskab er valgfri, medmindre den er markeret som påkrævet.
Standard GA4-felter
Sektion kaldt “Standard GA4-felter”Disse felter forstås indbygget af GA4 og vises i standard ecommerce-rapporter uden yderligere konfiguration.
| Egenskab | Type | Påkrævet | Beskrivelse |
|---|---|---|---|
item_id | string | Ja | Unik identifikator for værelset eller produktet |
item_name | string | — | Navn på værelset eller produktet |
affiliation | string | — | Affiliate- eller sælgernavn |
coupon | string | — | Anvendt rabatkode på varen |
currency | string | — | ISO 4217 valutakode (f.eks. USD) |
creative_name | string | — | Kreativt navn brugt i en kampagne |
creative_slot | string | — | Placeringsslot for kampagnekreativ |
discount | number | — | Anvendt rabatbeløb |
index | number | — | Position i listen (1-baseret) |
item_brand | string | — | Hotel- eller mærkenavn |
item_category | string | — | Produkttype — f.eks. GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA |
item_list_id | string | — | Identifikator for listen, varen tilhører |
item_list_name | string | — | Visningsnavn for listen |
location_id | string | — | Geokoordinater for ejendommen |
price | number | — | Enhedspris |
promotion_id | string | — | Identifikator for kampagnen |
promotion_name | string | — | Visningsnavn for kampagnen |
quantity | number | — | Antal (standard er 1) |
Brugerdefinerede vareparametre
Sektion kaldt “Brugerdefinerede vareparametre”Disse parametre bærer Wink-specifik bookingkontekst. GA4 viser dem ikke automatisk i rapporter — du skal registrere hver enkelt som en vare-scoped custom dimension i din GA4-ejendom, før de vises i udforskninger eller standardrapporter. Se Custom Dimensions in GA4 nedenfor for opsætningsvejledning.
| Egenskab | Type | Beskrivelse |
|---|---|---|
property_id | string | Wink ejendomsidentifikator |
property_name | string | Ejendommens visningsnavn |
property_brand | string | Brand ejendommen tilhører |
property_chain | string | Kæde ejendommen tilhører |
property_url_name | string | URL-venlig slug for ejendommen |
city_name | string | By, hvor ejendommen ligger |
country_code | string | ISO 3166-1 alpha-2 landekode |
start_date | string | Check-in dato i YYYY-MM-DD format |
end_date | string | Check-out dato i YYYY-MM-DD format |
num_adults | number | Antal voksne i bookingen |
num_children | number | Antal børn i bookingen |
cancellation_policy | string | En af: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions |
rate_plan_id | string | Identifikator for prisplan |
room_rate_id | string | Identifikator for specifik værelsespris |
room_rate_name | string | Visningsnavn for værelsesprisen |
num_perks | number | Antal fordele inkluderet i prisen |
room_location | string | Lokationsbeskrivelse for værelset (f.eks. Overwater, Garden) |
room_view | string | Udsigtsbeskrivelse for værelset (f.eks. Ocean, City) |
room_classification | string | Værelsesklassifikation eller niveau (f.eks. Suite, Standard) |
bed_type | string | Sengkonfiguration for værelset (f.eks. King, Twin) |
Custom Dimensions in GA4
Sektion kaldt “Custom Dimensions in GA4”GA4 ignorerer brugerdefinerede vareparametre i rapporter, indtil du eksplicit registrerer dem som vare-scoped custom dimensions. Du behøver kun at registrere de parametre, du vil bruge i rapporter — ikke alle 20.
-
Åbn Custom Definitions
I GA4, gå til Admin (gearikon nederst til venstre) → vælg din ejendom → Data display → Custom definitions.
-
Opret en ny custom dimension
Klik på Create custom dimensions.
-
Udfyld dimensionens detaljer
- Dimension name — den menneskelige læsbare betegnelse, der vises i GA4-rapporter (se tabel nedenfor)
- Scope — vælg Item
- Event parameter — det præcise parameternavn som det vises i dataLayer (se tabel nedenfor)
- Description — valgfrit, men anbefales
-
Gem og gentag
Klik på Save, og gentag for hver parameter, du vil spore.
Brug følgende tabel som reference, når du opretter custom dimensions. Værdien for Event parameter skal matche præcist — GA4 er case-sensitiv.
| Dimension navn | Event parameter | Type |
|---|---|---|
| Property ID | property_id | Tekst |
| Property name | property_name | Tekst |
| Property brand | property_brand | Tekst |
| Property chain | property_chain | Tekst |
| Property URL name | property_url_name | Tekst |
| City name | city_name | Tekst |
| Country code | country_code | Tekst |
| Check-in date | start_date | Tekst |
| Check-out date | end_date | Tekst |
| Number of adults | num_adults | Tal |
| Number of children | num_children | Tal |
| Cancellation policy | cancellation_policy | Tekst |
| Rate plan ID | rate_plan_id | Tekst |
| Room rate ID | room_rate_id | Tekst |
| Room rate name | room_rate_name | Tekst |
| Number of perks | num_perks | Tal |
| Room location | room_location | Tekst |
| Room view | room_view | Tekst |
| Room classification | room_classification | Tekst |
| Bed type | bed_type | Tekst |
Yderligere Tilgængelige Hændelser
Sektion kaldt “Yderligere Tilgængelige Hændelser”Følgende hændelser findes i Wink dataLayer, men er ikke en del af standard bookingtragt. De kan aktiveres af andre interaktioner på platformen.
add_to_wishlist
Sektion kaldt “add_to_wishlist”{ "event": "add_to_wishlist", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}remove_from_cart
Sektion kaldt “remove_from_cart”{ "event": "remove_from_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}select_item
Sektion kaldt “select_item”{ "event": "select_item", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_cart
Sektion kaldt “view_cart”{ "event": "view_cart"}Ingen ecommerce-data medfølger denne hændelse.
view_promotion
Sektion kaldt “view_promotion”{ "event": "view_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}select_promotion
Sektion kaldt “select_promotion”{ "event": "select_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}search
Sektion kaldt “search”{ "event": "search", "ecommerce": { "search_term": "beachfront resort" }}select_content
Sektion kaldt “select_content”{ "event": "select_content", "ecommerce": { "content_type": "hotel", "content_id": "prop_12345" }}{ "event": "share", "ecommerce": { "method": "copy_link", "content_type": "hotel", "item_id": "prop_12345" }}sign_up
Sektion kaldt “sign_up”{ "event": "sign_up", "ecommerce": { "method": "email" }}generate_lead
Sektion kaldt “generate_lead”{ "event": "generate_lead", "ecommerce": { "currency": "USD", "value": 0.00 }}join_group
Sektion kaldt “join_group”{ "event": "join_group", "ecommerce": { "group_id": "group_abc" }}earn_virtual_currency
Sektion kaldt “earn_virtual_currency”{ "event": "earn_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 100 }}spend_virtual_currency
Sektion kaldt “spend_virtual_currency”{ "event": "spend_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 50, "item_name": "Room Upgrade" }}level_start
Sektion kaldt “level_start”{ "event": "level_start", "ecommerce": { "level_name": "Gold" }}level_end
Sektion kaldt “level_end”{ "event": "level_end", "ecommerce": { "level_name": "Gold", "success": true }}level_up
Sektion kaldt “level_up”{ "event": "level_up", "ecommerce": { "level": 2, "character": "traveler" }}post_score
Sektion kaldt “post_score”{ "event": "post_score", "ecommerce": { "score": 980, "level": 2, "character": "traveler" }}unlock_achievement
Sektion kaldt “unlock_achievement”{ "event": "unlock_achievement", "ecommerce": { "achievement_id": "first_booking" }}tutorial_begin
Sektion kaldt “tutorial_begin”{ "event": "tutorial_begin", "ecommerce": {}}tutorial_complete
Sektion kaldt “tutorial_complete”{ "event": "tutorial_complete", "ecommerce": {}}virtualPageView
Sektion kaldt “virtualPageView”Dette er en brugerdefineret Wink-hændelse — ikke en del af standard GA4-hændelsessættet. Den skubbes ved hver side-navigation og indeholder enheds- og sessionskontekst. Den inkluderer ikke et ecommerce-objekt.
{ "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"}| Egenskab | Beskrivelse |
|---|---|
device | Registreret enhedstype — Desktop, Android, iPhone, iPad eller lignende |
deviceAgent | Rå brugeragent-streng |
os | Registreret operativsystem — Windows, MacOS, Linux, UNIX |
path | Aktuel side-sti |
title | Aktuel sidetitel |
userId | Identifikator for autentificeret bruger (udeladt, hvis ikke logget ind) |
startDate | Check-in dato fra den aktuelle søgesession |
endDate | Check-out dato fra den aktuelle søgesession |
guests | Antal gæster fra den aktuelle søgesession |
rooms | Antal værelser fra den aktuelle søgesession |