GTM Analytics-integrasjon
Du kan koble til hvilken som helst Google Tag Manager (GTM)-beholder til Wink ved å skrive inn dens GTM Container ID i Wink-portalen. Når den er koblet til, lastes beholderen automatisk for din eiendom og leser Winks bestillingshendelser direkte — og dekker hele gjestereisen fra søk til fullført bestilling. Et vanlig brukstilfelle er en Sojern-beholder for retargeting og annonsering, men hvilken som helst GTM-beholder fungerer på samme måte.
Hva du må gjøre
Section titled “Hva du må gjøre”-
Få 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 gå til fanen Customizations. Lim inn din GTM Container ID i GTM-feltet og lagre. Integrasjonen din er nå aktiv.
-
(Valgfritt) Legg til en GA4 Measurement ID + API Secret for server-side kjøp
GTM-beholdere kjører helt i gjestens nettleser, så en fullført bestilling kan gå tapt hvis gjesten lukker fanen under betalingsomdirigeringen. Hvis beholderen din laster en GA4-eiendom og du vil at fullførte bestillinger skal registreres pålitelig, skriv også inn GA4s Measurement ID og Measurement Protocol API secret i GTM-delen. Wink vil da sende
purchasefor den eiendommen server-side, akkurat som beskrevet i GA4 Analytics Integration-guiden. La disse stå tomme hvis du kun trenger sporing i nettleseren. -
Bekreft med din leverandør
Hvis beholderen din kommer fra en partner som Sojern, gi kontoadministratoren beskjed om at integrasjonen er aktiv. De kan verifisere fra sin side at tagger skytes riktig 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 fanen Customizations i Wink-portalen din. Når du skriver inn 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 beholderen din direkte inn i siden — og deler Winks egen
window.dataLayer— slik at den lastes samtidig med Winks egen beholder uten avhengighet til ekstra konfigurasjon. Dette skjer automatisk, uten arbeid per eiendom fra Wink-teamet. - Din beholder lastes asynkront, slik at det ikke påvirker sideinnlastingsytelsen for dine gjester.
- Winks egen sporing og din beholder kjører parallelt, og leser fra samme delte
dataLayer. Hver bestillingshendelse Wink sporer er samtidig tilgjengelig for din beholder. - Når din eiendom ikke vises — for eksempel når en gjest ser på et annet hotell på Wink — lastes ikke beholderen din, så den mottar kun data relevant for din eiendom.
- Hvis du oppga en GA4 Measurement ID + API secret (steg 3 ovenfor), sendes
purchasefor fullførte bestillinger i tillegg server-side via GA4 Measurement Protocol, slik at et salg registreres selv om gjesten aldri returnerer til bekreftelsessiden.
DataLayer-referanse
Section titled “DataLayer-referanse”Wink pusher GA4-kompatible hendelser til dataLayer gjennom hele gjestereisen. Din GTM-beholder leser fra denne samme delte dataLayer, så enhver trigger eller variabel du konfigurerer har tilgang til alle egenskapene beskrevet nedenfor.
Hver hendelse følger standard GA4 Enhanced Ecommerce-struktur: en øverste event-streng og et ecommerce-objekt. Før hver push tømmer Wink forrige ecommerce-payload 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 bestillingsprosessen. Konfigurer dine GTM-triggere som Custom Event-triggere som matcher hendelsesnavnene nedenfor.
| Steg | 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-/betalingsside lastes |
| 5 | add_payment_info | Gjest velger betalingsmetode |
| 6 | login | Gjest autentiserer via SSO |
| 7 | purchase | Bestilling er bekreftet |
| 8 | refund | Bestilling er kansellert |
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 betalingsinnkrevertypen. 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 bestilling er bekreftet.
{ "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 bestillingskontraktsidentifikatoren. coupon, shipping og tax er kun til stede når relevant.
refund
Section titled “refund”Utløses når en bestilling 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 bestilling. 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 dette 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 er 1) |
Egendefinerte elementspesifikke parametere
Section titled “Egendefinerte elementspesifikke parametere”Disse parameterne bærer Wink-spesifikk bestillingskontekst. 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 oppsett.
| Egenskap | Type | Beskrivelse |
|---|---|---|
property_id | string | Wink-eiendomsidentifikator |
property_name | string | Visningsnavn for eiendommen |
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 bestillingen |
num_children | number | Antall barn i bestillingen |
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 elementparametere i rapporter inntil du eksplisitt registrerer dem som item-scoped custom dimensions. Du trenger kun å registrere de parameterne du har tenkt å bruke i rapporter — du trenger ikke registrere alle 20.
-
Åpne Custom Definitions
I GA4, gå til Admin (tannhjul 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 — nøyaktig parameter-navn 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 case-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 bestillingsprosess. 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 pushes 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 |
