GTM Analytics-integration
Du kan ansluta vilken som helst Google Tag Manager (GTM)-behållare till Wink genom att ange dess GTM Container ID i Wink-portalen. När den är ansluten laddas din behållare automatiskt för din fastighet och läser Wink:s bokningsevenemang direkt — vilket täcker hela gästreseflödet från sökning till slutförd bokning. Ett vanligt användningsfall är en Sojern-behållare för retargeting och reklam, men vilken GTM-behållare som helst fungerar på samma sätt.
Vad du behöver göra
Section titled “Vad du behöver göra”-
Skaffa ditt GTM Container ID
Skaffa ditt GTM Container ID (format
GTM-XXXXXXX). Om det kommer från en partner som Sojern, begär GTM Container ID specifikt — det skiljer sig från en pixel- eller tagg-ID. -
Ange det i Wink-portalen
Logga in på app.wink.travel, välj ditt konto och gå till fliken Anpassningar. Klistra in ditt GTM Container ID i fältet GTM och spara. Din integration är nu aktiv.
-
(Valfritt) Lägg till ett GA4 Measurement ID + API Secret för serverbaserad köpregistrering
GTM-behållare körs helt i gästens webbläsare, så en slutförd bokning kan missas om gästen stänger fliken under betalningsomdirigeringen. Om din behållare laddar en GA4-egendom och du vill att slutförda bokningar ska registreras pålitligt, ange även GA4:ans Measurement ID och Measurement Protocol API secret i GTM-sektionen. Wink skickar då
purchaseför den egendomen server-side, precis som beskrivs i guiden GA4 Analytics Integration. Lämna dessa tomma om du bara behöver spårning i webbläsaren. -
Bekräfta med din leverantör
Om din behållare kommer från en partner som Sojern, meddela din kontohanterare att integrationen är aktiv. De kan verifiera från sin sida att taggarna avfyras korrekt på
wink.travelför din fastighet och att data flödar in i ditt konto.
Vad Wink gör på vår sida
Section titled “Vad Wink gör på vår sida”För transparens, här är vad Wink konfigurerar för att få denna integration att fungera:
- Ett GTM Container ID-fält finns tillgängligt i fliken Anpassningar i din Wink-portal. När du anger ditt Container ID validerar Wink formatet (
GTM-XXXXXXX) och lagrar det säkert kopplat till din fastighet. - På varje sida där din fastighet är aktiv på Wink injiceras din behållare direkt i sidan — den delar Wink:s egen
window.dataLayer— så den laddas parallellt med Winks egen behållare utan beroende av någon extra konfiguration. Detta sker automatiskt, utan arbete per fastighet från Wink-teamet. - Din behållare laddas asynkront, så den påverkar inte sidladdningsprestandan för dina gäster.
- Winks egen spårning och din behållare körs parallellt, och läser från samma delade
dataLayer. Varje bokningsevenemang som Wink spårar är samtidigt tillgängligt för din behållare. - När din fastighet inte visas — till exempel när en gäst bläddrar bland ett annat hotell på Wink — laddas inte din behållare, så den får bara data som är relevant för din fastighet.
- Om du angav ett GA4 Measurement ID + API secret (steg 3 ovan) skickas
purchaseför slutförda bokningar dessutom server-side via GA4 Measurement Protocol, så en försäljning registreras även om gästen aldrig återvänder till bekräftelsesidan.
DataLayer-referens
Section titled “DataLayer-referens”Wink skickar GA4-kompatibla händelser till dataLayer genom hela gästreseflödet. Din GTM-behållare läser från samma delade dataLayer, så alla triggers eller variabler du konfigurerar har tillgång till alla egenskaper som beskrivs nedan.
Varje händelse följer standardstrukturen för GA4 Enhanced Ecommerce: en överordnad event-sträng och ett ecommerce-objekt. Innan varje push rensar Wink den tidigare ecommerce-payloaden för att förhindra att gammal data läcker in i nya triggers.
Bokningsresa-händelser
Section titled “Bokningsresa-händelser”Dessa händelser avfyras automatiskt när en gäst rör sig genom bokningstratten. Konfigurera dina GTM-triggers som Custom Event-triggers som matchar händelsenamnen nedan.
| Steg | Händelse | När den avfyras |
|---|---|---|
| 1 | view_item_list | Hotellinventariets rutnät eller lista laddas |
| 2 | view_item | Gäst tittar på en specifik fastighetssida |
| 3 | add_to_cart | Gäst lägger till ett rum i kundvagnen |
| 4 | begin_checkout | Kassan/betalningssidan laddas |
| 5 | add_payment_info | Gäst väljer betalningsmetod |
| 6 | login | Gäst autentiserar via SSO |
| 7 | purchase | Bokning bekräftas |
| 8 | refund | Bokning avbokas |
view_item_list
Section titled “view_item_list”Avfyras när ett hotellinventarierutnät eller lista renderas.
{ "event": "view_item_list", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_item
Section titled “view_item”Avfyras när en gäst tittar på en specifik fastighet.
{ "event": "view_item", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}add_to_cart
Section titled “add_to_cart”Avfyras när en gäst lägger till ett rum i sin kundvagn.
{ "event": "add_to_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}begin_checkout
Section titled “begin_checkout”Avfyras när kassan/betalningssidan laddas.
{ "event": "begin_checkout", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "items": [ ] }}coupon finns endast när en rabattkod har använts.
add_payment_info
Section titled “add_payment_info”Avfyras när gästen väljer eller bekräftar en betalningsmetod.
{ "event": "add_payment_info", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "payment_type": "STRIPE", "items": [ ] }}payment_type fylls i från betalningsförvärvarens typ. coupon finns endast när en rabattkod har använts.
Avfyras när en gäst autentiserar via single sign-on.
{ "event": "login", "ecommerce": { "method": "IAM" }}purchase
Section titled “purchase”Avfyras när en bokning bekräftas.
{ "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 är det unika bokningskontrakts-ID:t. coupon, shipping och tax finns endast när det är tillämpligt.
refund
Section titled “refund”Avfyras när en bokning avbokas.
{ "event": "refund", "ecommerce": { "currency": "USD", "transaction_id": "bc-a1b2c3d4", "value": 299.00, "coupon": "SUMMER10", "shipping": 0.00, "tax": 0.00, "items": [ ] }}transaction_id matchar purchase-händelsen för samma bokning. coupon, shipping och tax finns endast när det är tillämpligt.
Egenskaper för objekt
Section titled “Egenskaper för objekt”Alla händelser som inkluderar en items-array delar samma objektschema. Varje egenskap är valfri om inte annat anges.
Standardfält i GA4
Section titled “Standardfält i GA4”Dessa fält förstås inbyggt av GA4 och visas i standardrapporter för e-handel utan ytterligare konfiguration.
| Egenskap | Typ | Obligatorisk | Beskrivning |
|---|---|---|---|
item_id | string | Ja | Unikt ID för rummet eller produkten |
item_name | string | — | Namn på rummet eller produkten |
affiliation | string | — | Affiliate- eller säljarnamn |
coupon | string | — | Använd rabattkod för objektet |
currency | string | — | ISO 4217 valutakod (t.ex. USD) |
creative_name | string | — | Kreativt namn som används i en kampanj |
creative_slot | string | — | Plats för kampanjens kreativa inslag |
discount | number | — | Rabattsumma som tillämpats |
index | number | — | Position i listan (1-baserad) |
item_brand | string | — | Hotell- eller varumärkesnamn |
item_category | string | — | Produkttyp — t.ex. GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA |
item_list_id | string | — | Identifierare för listan objektet tillhör |
item_list_name | string | — | Visningsnamn för listan |
location_id | string | — | Geokoordinater för fastigheten |
price | number | — | Enhetspris |
promotion_id | string | — | Identifierare för kampanjen |
promotion_name | string | — | Visningsnamn för kampanjen |
quantity | number | — | Kvantitet (standard är 1) |
Anpassade objektparametrar
Section titled “Anpassade objektparametrar”Dessa parametrar bär Wink-specifik bokningskontext. GA4 visar dem inte automatiskt i rapporter — du måste registrera varje som en anpassad dimension med objektomfång i din GA4-egendom innan de visas i utforskningar eller standardrapporter. Se Anpassade dimensioner i GA4 nedan för instruktioner.
| Egenskap | Typ | Beskrivning |
|---|---|---|
property_id | string | Wink-fastighetsidentifierare |
property_name | string | Visningsnamn för fastigheten |
property_brand | string | Varumärke fastigheten tillhör |
property_chain | string | Kedja fastigheten tillhör |
property_url_name | string | URL-vänlig slug för fastigheten |
city_name | string | Stad där fastigheten ligger |
country_code | string | ISO 3166-1 alpha-2 landskod |
start_date | string | Incheckningsdatum i formatet ÅÅÅÅ-MM-DD |
end_date | string | Utcheckningsdatum i formatet ÅÅÅÅ-MM-DD |
num_adults | number | Antal vuxna i bokningen |
num_children | number | Antal barn i bokningen |
cancellation_policy | string | En av: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions |
rate_plan_id | string | Identifierare för prisplanen |
room_rate_id | string | Identifierare för det specifika rumspriset |
room_rate_name | string | Visningsnamn för rumspriset |
num_perks | number | Antal förmåner som ingår i priset |
room_location | string | Platsbeskrivning för rummet (t.ex. Overwater, Garden) |
room_view | string | Utsiktsbeskrivning för rummet (t.ex. Ocean, City) |
room_classification | string | Rumsklassificering eller nivå (t.ex. Suite, Standard) |
bed_type | string | Sängkonfiguration för rummet (t.ex. King, Twin) |
Anpassade dimensioner i GA4
Section titled “Anpassade dimensioner i GA4”GA4 ignorerar anpassade objektparametrar i rapporter tills du explicit registrerar dem som anpassade dimensioner med objektomfång. Du behöver bara registrera de parametrar du tänker använda i rapporter — du behöver inte registrera alla 20.
-
Öppna Anpassade definitioner
I GA4, gå till Admin (kugghjulet nere till vänster) → välj din egendom → Data display → Custom definitions.
-
Skapa en ny anpassad dimension
Klicka på Create custom dimensions.
-
Fyll i dimensionens detaljer
- Dimension name — den läsbara etiketten som visas i GA4-rapporter (se tabellen nedan)
- Scope — välj Item
- Event parameter — exakt parameternamn som det visas i dataLayer (se tabellen nedan)
- Description — valfritt men rekommenderas
-
Spara och upprepa
Klicka på Save, och upprepa för varje parameter du vill spåra.
Använd följande tabell som referens när du skapar anpassade dimensioner. Värdet för Event parameter måste matcha exakt — GA4 är skiftlägeskänsligt.
| Dimensionens namn | Event parameter | Typ |
|---|---|---|
| Property ID | property_id | Text |
| Property name | property_name | Text |
| Property brand | property_brand | Text |
| Property chain | property_chain | Text |
| Property URL name | property_url_name | Text |
| City name | city_name | Text |
| Country code | country_code | Text |
| Check-in date | start_date | Text |
| Check-out date | end_date | Text |
| Number of adults | num_adults | Number |
| Number of children | num_children | Number |
| Cancellation policy | cancellation_policy | Text |
| Rate plan ID | rate_plan_id | Text |
| Room rate ID | room_rate_id | Text |
| Room rate name | room_rate_name | Text |
| Number of perks | num_perks | Number |
| Room location | room_location | Text |
| Room view | room_view | Text |
| Room classification | room_classification | Text |
| Bed type | bed_type | Text |
Ytterligare tillgängliga händelser
Section titled “Ytterligare tillgängliga händelser”Följande händelser finns i Wink dataLayer men ingår inte i standardbokningstratten. De kan avfyras av andra interaktioner 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 ingår med denna händelse.
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”Detta är en anpassad Wink-händelse — inte en del av standard GA4-händelseuppsättningen. Den skickas vid varje sidnavigering och bär med sig enhets- och sessionskontext. Den inkluderar inget 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 | Beskrivning |
|---|---|
device | Upptäckt enhetstyp — Desktop, Android, iPhone, iPad eller liknande |
deviceAgent | Rå användaragentsträng |
os | Upptäckt operativsystem — Windows, MacOS, Linux, UNIX |
path | Aktuell sidväg |
title | Aktuell sidtitel |
userId | Identifierare för autentiserad användare (utesluts när ej inloggad) |
startDate | Incheckningsdatum från aktuell sökningssession |
endDate | Utcheckningsdatum från aktuell sökningssession |
guests | Antal gäster från aktuell sökningssession |
rooms | Antal rum från aktuell sökningssession |
