GTM Analytics-integrasjon
Du kan koble til hvilken som helst Google Tag Manager (GTM)-container til Wink ved å skrive inn dens GTM Container ID i Wink-portalen. Når den er koblet til, lastes containeren automatisk for din eiendom og leser Winks bookinghendelser direkte — og dekker hele gjestereisen fra søk til fullført booking. Et vanlig brukstilfelle er en Sojern-container for retargeting og annonsering, men hvilken som helst GTM-container fungerer på samme måte.
Hva du må gjøre
Section titled “Hva du må gjøre”-
Få tak i din GTM Container ID
Skaff deg din GTM Container ID (format
GTM-XXXXXXX). Hvis den kommer fra en partner som Sojern, be om GTM Container ID spesifikt — det er forskjellig fra en pixel- eller tag-ID. -
Skriv den inn i Wink-portalen
Logg inn på app.wink.travel, velg kontoen din, og åpne tilpasningsinnstillingene dine. I seksjonen Analytics & integrations, lim inn din GTM Container ID i feltet GTM Container ID og lagre. Integrasjonen din er nå aktiv.
-
Bekreft med din leverandør
Hvis containeren din kommer fra en partner som Sojern, gi kontoadministratoren beskjed om at integrasjonen er aktiv. De kan verifisere fra sin side at tagger utløses korrekt på
wink.travelfor din eiendom og at data flyter inn i kontoen din.
Hva Wink gjør på vår side
Section titled “Hva Wink gjør på vår side”For å være tydelig, her er hva Wink konfigurerer for å få denne integrasjonen til å fungere:
- Et GTM Container ID-felt er tilgjengelig i seksjonen Analytics & integrations i dine tilpasningsinnstillinger. Når du skriver inn din Container ID, validerer Wink formatet (
GTM-XXXXXXX) og lagrer det sikkert knyttet til din eiendom. - På hver side hvor din eiendom er aktiv på Wink, injiseres containeren din direkte i siden — og deler Winks egen
window.dataLayer— slik at den lastes sammen med Winks egen container uten avhengighet til ekstra konfigurasjon. Dette skjer automatisk, uten behov for arbeid per eiendom fra Wink-teamet. - Din container lastes asynkront, slik at det ikke påvirker sideinnlastingshastigheten for dine gjester.
- Winks egen sporing og din container kjører parallelt, og leser fra samme delte
dataLayer. Hver bookinghendelse Wink sporer er samtidig tilgjengelig for din container. - Når din eiendom ikke vises — for eksempel når en gjest ser på et annet hotell på Wink — lastes ikke din container, så den mottar kun data relevant for din eiendom.
- Den fullførte bookingen (
purchase) utløses i nettleseren på takk-siden. En GTM Container ID er en svart boks — Wink kan ikke anta hvilke tagger som finnes i den — så Wink ringer aldri Google på dine vegne fra sine servere. I stedet mottar hvilken som helst GA4- eller konverteringstag som ligger i din containerpurchase-hendelsen klient-side, akkurat som alle andre bookinghendelser. Fordi betalingsleverandøren omdirigerer gjestens nettleser bort og tilbake, kobler Wink til analyssesjonen som omdirigeringen avbrøt førpurchaseutløses, slik at salget tilskrives gjestens opprinnelige besøk i stedet for å telles som en ny sesjon.
DataLayer-referanse
Section titled “DataLayer-referanse”Wink skyver GA4-kompatible hendelser til dataLayer gjennom hele gjestereisen. Din GTM-container leser fra denne samme delte dataLayer, så enhver trigger eller variabel du konfigurerer har tilgang til alle egenskapene beskrevet nedenfor.
Hver hendelse følger den standard GA4 Enhanced Ecommerce-strukturen: en øverste event-streng og et ecommerce-objekt. Før hver push tømmer Wink den forrige ecommerce-payloaden for å forhindre at utdaterte data blander seg inn i nye triggere.
Bookingreisehendelser
Section titled “Bookingreisehendelser”Disse hendelsene utløses automatisk når en gjest beveger seg gjennom bookingtrakten. Konfigurer dine GTM-triggere som Custom Event-triggere som matcher hendelsesnavnene nedenfor.
| Trinn | Hendelse | Når den utløses |
|---|---|---|
| 1 | view_item_list | Hotellinventar-rutenett eller liste lastes |
| 2 | view_item | Gjest ser på en spesifikk eiendomsside |
| 3 | add_to_cart | Gjest legger til et rom i handlekurven |
| 4 | begin_checkout | Kasse-/betalingssiden lastes |
| 5 | add_payment_info | Gjest velger betalingsmetode |
| 6 | login | Gjest autentiserer via SSO |
| 7 | purchase | Booking bekreftes |
| 8 | refund | Booking kanselleres |
view_item_list
Section titled “view_item_list”Utløses når et hotellinventar-rutenett eller liste vises.
{ "event": "view_item_list", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_item
Section titled “view_item”Utløses når en gjest ser på en spesifikk eiendom.
{ "event": "view_item", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}add_to_cart
Section titled “add_to_cart”Utløses når en gjest legger til et rom i handlekurven.
{ "event": "add_to_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}begin_checkout
Section titled “begin_checkout”Utløses når kasse-/betalingssiden lastes.
{ "event": "begin_checkout", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "items": [ ] }}coupon er kun til stede når en rabattkode er brukt.
add_payment_info
Section titled “add_payment_info”Utløses når gjesten velger eller bekrefter betalingsmetode.
{ "event": "add_payment_info", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "payment_type": "STRIPE", "items": [ ] }}payment_type fylles ut fra betalingsinnkreverens type. coupon er kun til stede når en rabattkode er brukt.
Utløses når en gjest autentiserer via single sign-on.
{ "event": "login", "ecommerce": { "method": "IAM" }}purchase
Section titled “purchase”Utløses når en booking bekreftes.
{ "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 unike bookingkontraktsidentifikatoren. coupon, shipping og tax er kun til stede når relevant.
refund
Section titled “refund”Utløses når en booking kanselleres.
{ "event": "refund", "ecommerce": { "currency": "USD", "transaction_id": "bc-a1b2c3d4", "value": 299.00, "coupon": "SUMMER10", "shipping": 0.00, "tax": 0.00, "items": [ ] }}transaction_id samsvarer med purchase-hendelsen for samme booking. coupon, shipping og tax er kun til stede når relevant.
Egenskaper for elementer
Section titled “Egenskaper for elementer”Alle hendelser som inkluderer en items-array deler samme elementskjema. Hver egenskap er valgfri med mindre den er merket som påkrevd.
Standard GA4-felt
Section titled “Standard GA4-felt”Disse feltene forstås nativt av GA4 og vises i standard ecommerce-rapporter uten ekstra konfigurasjon.
| Egenskap | Type | Påkrevd | Beskrivelse |
|---|---|---|---|
item_id | string | Ja | Unik identifikator for rommet eller produktet |
item_name | string | — | Navn på rommet eller produktet |
affiliation | string | — | Affiliate- eller selgernavn |
coupon | string | — | Rabattkode brukt på elementet |
currency | string | — | ISO 4217 valutakode (f.eks. USD) |
creative_name | string | — | Kreativt navn brukt i en kampanje |
creative_slot | string | — | Plassering av kampanjekreativ |
discount | number | — | Rabattbeløp brukt |
index | number | — | Posisjon i listen (1-basert) |
item_brand | string | — | Hotell- eller merkenavn |
item_category | string | — | Produkttype — f.eks. GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA |
item_list_id | string | — | Identifikator for listen elementet tilhører |
item_list_name | string | — | Visningsnavn på listen |
location_id | string | — | Geokoordinater for eiendommen |
price | number | — | Enhetspris |
promotion_id | string | — | Identifikator for kampanjen |
promotion_name | string | — | Visningsnavn på kampanjen |
quantity | number | — | Antall (standard til 1) |
Egne elementspesifikke parametere
Section titled “Egne elementspesifikke parametere”Disse parameterne bærer Wink-spesifikk bookingkontekst. GA4 viser dem ikke automatisk i rapporter — du må registrere hver enkelt som en item-scoped custom dimension i din GA4-eiendom før de vises i utforskninger eller standardrapporter. Se Custom Dimensions in GA4 nedenfor for oppsettinstruksjoner.
| Egenskap | Type | Beskrivelse |
|---|---|---|
property_id | string | Wink eiendomsidentifikator |
property_name | string | Eiendommens visningsnavn |
property_brand | string | Merke eiendommen tilhører |
property_chain | string | Kjede eiendommen tilhører |
property_url_name | string | URL-vennlig slug for eiendommen |
city_name | string | By der eiendommen ligger |
country_code | string | ISO 3166-1 alpha-2 landkode |
start_date | string | Innsjekkingsdato i YYYY-MM-DD-format |
end_date | string | Utsjekkingsdato i YYYY-MM-DD-format |
num_adults | number | Antall voksne i bookingen |
num_children | number | Antall barn i bookingen |
cancellation_policy | string | En av: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions |
rate_plan_id | string | Identifikator for prisplan |
room_rate_id | string | Identifikator for spesifikk rompris |
room_rate_name | string | Visningsnavn på romprisen |
num_perks | number | Antall fordeler inkludert i prisen |
room_location | string | Lokasjonsbeskrivelse for rommet (f.eks. Overwater, Garden) |
room_view | string | Utsiktsbeskrivelse for rommet (f.eks. Ocean, City) |
room_classification | string | Romklassifisering eller nivå (f.eks. Suite, Standard) |
bed_type | string | Sengkonfigurasjon for rommet (f.eks. King, Twin) |
Egendefinerte dimensjoner i GA4
Section titled “Egendefinerte dimensjoner i GA4”GA4 ignorerer egendefinerte item-parametere i rapporter inntil du eksplisitt registrerer dem som item-scoped egendefinerte dimensjoner. Du trenger bare å registrere de parameterne du har til hensikt å bruke i rapporter — du trenger ikke registrere alle 20.
-
Åpne Custom Definitions
I GA4, gå til Admin (tannhjul-ikon nederst til venstre) → velg din eiendom → Data display → Custom definitions.
-
Opprett en ny egendefinert dimensjon
Klikk Create custom dimensions.
-
Fyll inn dimensjonsdetaljer
- Dimension name — det menneskelesbare navnet som vises i GA4-rapporter (se tabell nedenfor)
- Scope — velg Item
- Event parameter — det eksakte parameternavnet som det vises i dataLayer (se tabell nedenfor)
- Description — valgfritt, men anbefalt
-
Lagre og gjenta
Klikk Save, og gjenta for hver parameter du vil spore.
Bruk følgende tabell som referanse når du oppretter egendefinerte dimensjoner. Verdien for Event parameter må stemme nøyaktig — GA4 er store/små-bokstav-sensitiv.
| Dimensjonsnavn | 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 | Nummer |
| Number of children | num_children | Nummer |
| 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 | Nummer |
| Room location | room_location | Tekst |
| Room view | room_view | Tekst |
| Room classification | room_classification | Tekst |
| Bed type | bed_type | Tekst |
Ytterligere tilgjengelige hendelser
Section titled “Ytterligere tilgjengelige hendelser”Følgende hendelser er tilgjengelige i Wink dataLayer, men er ikke en del av standard bookingtrakt. De kan utløses av andre interaksjoner på plattformen.
add_to_wishlist
Section titled “add_to_wishlist”{ "event": "add_to_wishlist", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}remove_from_cart
Section titled “remove_from_cart”{ "event": "remove_from_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}select_item
Section titled “select_item”{ "event": "select_item", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_cart
Section titled “view_cart”{ "event": "view_cart"}Ingen ecommerce-payload er inkludert med denne hendelsen.
view_promotion
Section titled “view_promotion”{ "event": "view_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}select_promotion
Section titled “select_promotion”{ "event": "select_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}search
Section titled “search”{ "event": "search", "ecommerce": { "search_term": "beachfront resort" }}select_content
Section titled “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
Section titled “sign_up”{ "event": "sign_up", "ecommerce": { "method": "email" }}generate_lead
Section titled “generate_lead”{ "event": "generate_lead", "ecommerce": { "currency": "USD", "value": 0.00 }}join_group
Section titled “join_group”{ "event": "join_group", "ecommerce": { "group_id": "group_abc" }}earn_virtual_currency
Section titled “earn_virtual_currency”{ "event": "earn_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 100 }}spend_virtual_currency
Section titled “spend_virtual_currency”{ "event": "spend_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 50, "item_name": "Room Upgrade" }}level_start
Section titled “level_start”{ "event": "level_start", "ecommerce": { "level_name": "Gold" }}level_end
Section titled “level_end”{ "event": "level_end", "ecommerce": { "level_name": "Gold", "success": true }}level_up
Section titled “level_up”{ "event": "level_up", "ecommerce": { "level": 2, "character": "traveler" }}post_score
Section titled “post_score”{ "event": "post_score", "ecommerce": { "score": 980, "level": 2, "character": "traveler" }}unlock_achievement
Section titled “unlock_achievement”{ "event": "unlock_achievement", "ecommerce": { "achievement_id": "first_booking" }}tutorial_begin
Section titled “tutorial_begin”{ "event": "tutorial_begin", "ecommerce": {}}tutorial_complete
Section titled “tutorial_complete”{ "event": "tutorial_complete", "ecommerce": {}}virtualPageView
Section titled “virtualPageView”Dette er en egendefinert Wink-hendelse — ikke en del av standard GA4-hendelsessett. Den skyves ut ved hver sidnavigasjon og bærer enhets- og sesjonskontekst. 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"}| Egenskap | Beskrivelse |
|---|---|
device | Oppdaget enhetstype — Desktop, Android, iPhone, iPad eller lignende |
deviceAgent | Rå brukeragent-streng |
os | Oppdaget operativsystem — Windows, MacOS, Linux, UNIX |
path | Nåværende sidebane |
title | Nåværende sidetittel |
userId | Autentisert brukeridentifikator (utelatt når ikke logget inn) |
startDate | Innsjekkingsdato fra gjeldende søkesesjon |
endDate | Utsjekkingsdato fra gjeldende søkesesjon |
guests | Antall gjester fra gjeldende søkesesjon |
rooms | Antall rom fra gjeldende søkesesjon |
