Saltar al contingut

Integració d'Analytics amb GTM

Pots connectar qualsevol contenidor de Google Tag Manager (GTM) a Wink introduint el seu ID de Contenidor GTM al portal de Wink. Un cop connectat, el teu contenidor es carrega automàticament per a la teva propietat i llegeix directament els esdeveniments de reserva de Wink — cobrint tot el recorregut del client des de la cerca fins a la reserva completada. Un cas d’ús habitual és un contenidor Sojern per a retargeting i publicitat, però qualsevol contenidor GTM funciona igual.


  1. Obtenir el teu ID de Contenidor GTM

    Obtingues el teu ID de Contenidor GTM (format GTM-XXXXXXX). Si prové d’un soci com Sojern, demana específicament l’ID de Contenidor GTM — és diferent d’un pixel o ID d’etiqueta.

  2. Introduir-lo al portal de Wink

    Inicia sessió a app.wink.travel, selecciona el teu compte i obre la configuració de personalització. A la secció Analytics & integrations, enganxa el teu ID de Contenidor GTM al camp GTM Container ID i desa. La teva integració ja està activa.

  3. Confirmar amb el teu proveïdor

    Si el teu contenidor prové d’un soci com Sojern, informa al teu gestor de compte que la integració està activa. Ells poden verificar des del seu costat que les etiquetes s’estan activant correctament a wink.travel per a la teva propietat i que les dades flueixen al teu compte.


Per transparència, això és el que Wink configura per fer que aquesta integració funcioni:

  • Un camp d’ID de Contenidor GTM està disponible a la secció Analytics & integrations de la configuració de personalització. Quan introdueixes el teu ID de Contenidor, Wink valida el format (GTM-XXXXXXX) i el desa de manera segura associat a la teva propietat.
  • A cada pàgina on la teva propietat està activa a Wink, el teu contenidor s’injecta directament a la pàgina — compartint el propi window.dataLayer de Wink — de manera que es carrega juntament amb el contenidor propi de Wink sense dependre de cap configuració addicional. Això passa automàticament, sense cap treball específic per propietat per part de l’equip de Wink.
  • El teu contenidor es carrega de manera asíncrona, així no afecta el rendiment de càrrega de la pàgina per als teus clients.
  • El seguiment propi de Wink i el teu contenidor funcionen en paral·lel, llegint del mateix dataLayer compartit. Cada esdeveniment de reserva que Wink registra està disponible simultàniament per al teu contenidor.
  • Quan la teva propietat no està sent visualitzada — per exemple, quan un client està navegant per un altre hotel a Wink — el teu contenidor no es carrega, així només rep dades rellevants per a la teva propietat.
  • La reserva completada (purchase) s’activa al navegador a la pàgina de gràcies. Un ID de Contenidor GTM és una caixa negra — Wink no pot assumir quines etiquetes hi ha dins — així que Wink mai crida Google en nom teu des dels seus servidors. En canvi, qualsevol etiqueta GA4 o de conversió que hi hagi dins del teu contenidor rep el purchase al client, exactament com qualsevol altre esdeveniment de reserva. Com que el proveïdor de pagament redirigeix el navegador del client fora i després torna, Wink reconnecta la sessió d’analytics que la redirecció va interrompre abans d’activar el purchase, de manera que la venda s’atribueix a la visita original del client i no es compta com una nova sessió.

Wink envia esdeveniments compatibles amb GA4 al dataLayer durant tot el recorregut del client. El teu contenidor GTM llegeix d’aquest mateix dataLayer compartit, així qualsevol disparador o variable que configuris té accés a totes les propietats descrites a continuació.

Cada esdeveniment segueix l’estructura estàndard GA4 Enhanced Ecommerce: una cadena event de nivell superior i un objecte ecommerce. Abans de cada push, Wink neteja la càrrega útil ecommerce anterior per evitar que dades antigues afectin nous disparadors.


Aquests esdeveniments s’activen automàticament mentre un client avança pel procés de reserva. Configura els teus disparadors GTM com a disparadors de Custom Event que coincideixin amb els noms d’esdeveniment següents.

PasEsdevenimentQuan s’activa
1view_item_listEs carrega la graella o llista d’inventari d’hotels
2view_itemEl client visualitza la pàgina d’una propietat específica
3add_to_cartEl client afegeix una habitació a la cistella
4begin_checkoutEs carrega la pàgina de pagament / checkout
5add_payment_infoEl client selecciona un mètode de pagament
6loginEl client s’autentica via SSO
7purchaseLa reserva es confirma
8refundLa reserva es cancel·la

S’activa quan es mostra una graella o llista d’inventari d’hotels.

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

S’activa quan un client visualitza una propietat específica.

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

S’activa quan un client afegeix una habitació a la cistella.

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

S’activa quan es carrega la pàgina de pagament / checkout.

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

coupon només està present quan s’ha aplicat un codi de descompte.


S’activa quan el client selecciona o confirma un mètode de pagament.

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

payment_type s’omple amb el tipus d’adquirent de pagament. coupon només està present quan s’ha aplicat un codi de descompte.


S’activa quan un client s’autentica via single sign-on.

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

S’activa quan es confirma una reserva.

{
"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 és l’identificador únic del contracte de reserva. coupon, shipping i tax només estan presents quan s’apliquen.


S’activa quan es cancel·la una reserva.

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

transaction_id coincideix amb l’esdeveniment purchase de la mateixa reserva. coupon, shipping i tax només estan presents quan s’apliquen.


Tots els esdeveniments que inclouen un array items comparteixen el mateix esquema d’ítem. Cada propietat és opcional tret que s’indiqui que és obligatòria.

Aquests camps són entesos nativament per GA4 i apareixen als informes ecommerce estàndard sense configuració addicional.

PropietatTipusObligatoriDescripció
item_idstringIdentificador únic per a l’habitació o producte
item_namestringNom de l’habitació o producte
affiliationstringNom de l’afiliat o venedor
couponstringCodi de cupó aplicat a l’ítem
currencystringCodi de moneda ISO 4217 (ex. USD)
creative_namestringNom creatiu usat en una promoció
creative_slotstringPosició de la ranura de la creativitat promocional
discountnumberQuantitat de descompte aplicada
indexnumberPosició a la llista (basat en 1)
item_brandstringNom de l’hotel o marca
item_categorystringTipus de producte — ex. GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA
item_list_idstringIdentificador de la llista a la qual pertany l’ítem
item_list_namestringNom visible de la llista
location_idstringCoordenades geogràfiques de la propietat
pricenumberPreu unitari
promotion_idstringIdentificador de la promoció
promotion_namestringNom visible de la promoció
quantitynumberQuantitat (per defecte 1)

Paràmetres personalitzats a nivell d’ítem

Section titled “Paràmetres personalitzats a nivell d’ítem”

Aquests paràmetres porten context específic de reserva de Wink. GA4 no els mostra automàticament als informes — has de registrar cadascun com a dimensió personalitzada a nivell d’ítem a la teva propietat GA4 abans que aparegui en exploracions o informes estàndard. Consulta Dimensions personalitzades a GA4 més avall per a les instruccions.

PropietatTipusDescripció
property_idstringIdentificador de la propietat a Wink
property_namestringNom visible de la propietat
property_brandstringMarca a la qual pertany la propietat
property_chainstringCadena a la qual pertany la propietat
property_url_namestringSlug amigable per URL de la propietat
city_namestringCiutat on està ubicada la propietat
country_codestringCodi de país ISO 3166-1 alpha-2
start_datestringData d’entrada en format YYYY-MM-DD
end_datestringData de sortida en format YYYY-MM-DD
num_adultsnumberNombre d’adults a la reserva
num_childrennumberNombre de nens a la reserva
cancellation_policystringUn de: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions
rate_plan_idstringIdentificador del pla tarifari
room_rate_idstringIdentificador de la tarifa específica de l’habitació
room_rate_namestringNom visible de la tarifa de l’habitació
num_perksnumberNombre de beneficis inclosos amb la tarifa
room_locationstringDescripció de la ubicació de l’habitació (ex. Overwater, Garden)
room_viewstringDescripció de la vista de l’habitació (ex. Ocean, City)
room_classificationstringClassificació o categoria de l’habitació (ex. Suite, Standard)
bed_typestringConfiguració del llit de l’habitació (ex. King, Twin)

GA4 ignora els paràmetres personalitzats a nivell d’ítem als informes fins que no els registres explícitament com a dimensions personalitzades a nivell d’ítem. Només cal registrar els paràmetres que vols utilitzar als informes — no cal registrar els 20.

  1. Obrir Definicions Personalitzades

    A GA4, ves a Admin (icona d’engranatge a baix a l’esquerra) → selecciona la teva propietat → Data displayCustom definitions.

  2. Crear una nova dimensió personalitzada

    Fes clic a Create custom dimensions.

  3. Omplir els detalls de la dimensió

    • Dimension name — l’etiqueta llegible que apareix als informes GA4 (consulta la taula a continuació)
    • Scope — selecciona Item
    • Event parameter — el nom exacte del paràmetre tal com apareix al dataLayer (consulta la taula a continuació)
    • Description — opcional però recomanat
  4. Desar i repetir

    Fes clic a Save, després repeteix per a cada paràmetre que vulguis fer el seguiment.

Utilitza la taula següent com a referència quan creïs dimensions personalitzades. El valor de Event parameter ha de coincidir exactament — GA4 distingeix majúscules i minúscules.

Nom de la dimensióEvent parameterTipus
Property IDproperty_idText
Property nameproperty_nameText
Property brandproperty_brandText
Property chainproperty_chainText
Property URL nameproperty_url_nameText
City namecity_nameText
Country codecountry_codeText
Check-in datestart_dateText
Check-out dateend_dateText
Number of adultsnum_adultsNumber
Number of childrennum_childrenNumber
Cancellation policycancellation_policyText
Rate plan IDrate_plan_idText
Room rate IDroom_rate_idText
Room rate nameroom_rate_nameText
Number of perksnum_perksNumber
Room locationroom_locationText
Room viewroom_viewText
Room classificationroom_classificationText
Bed typebed_typeText

Els següents esdeveniments estan disponibles al dataLayer de Wink però no formen part del procés estàndard de reserva. Poden ser activats per altres interaccions a la plataforma.

{
"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": "Featured Hotels",
"items": [ ]
}
}
{
"event": "view_cart"
}

Aquest esdeveniment no inclou càrrega útil ecommerce.

{
"event": "view_promotion",
"ecommerce": {
"creative_name": "Summer Banner",
"creative_slot": "hero",
"promotion_id": "promo_001",
"promotion_name": "Summer Sale",
"items": [ ]
}
}
{
"event": "select_promotion",
"ecommerce": {
"creative_name": "Summer Banner",
"creative_slot": "hero",
"promotion_id": "promo_001",
"promotion_name": "Summer Sale",
"items": [ ]
}
}
{
"event": "search",
"ecommerce": {
"search_term": "beachfront resort"
}
}
{
"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": "Room Upgrade"
}
}
{
"event": "level_start",
"ecommerce": {
"level_name": "Gold"
}
}
{
"event": "level_end",
"ecommerce": {
"level_name": "Gold",
"success": true
}
}
{
"event": "level_up",
"ecommerce": {
"level": 2,
"character": "traveler"
}
}
{
"event": "post_score",
"ecommerce": {
"score": 980,
"level": 2,
"character": "traveler"
}
}
{
"event": "unlock_achievement",
"ecommerce": {
"achievement_id": "first_booking"
}
}
{
"event": "tutorial_begin",
"ecommerce": {}
}
{
"event": "tutorial_complete",
"ecommerce": {}
}

Aquest és un esdeveniment personalitzat de Wink — no forma part del conjunt estàndard d’esdeveniments GA4. Es fa push a cada navegació de pàgina i porta context de dispositiu i sessió. No inclou un objecte ecommerce.

{
"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"
}
PropietatDescripció
deviceTipus de dispositiu detectat — Desktop, Android, iPhone, iPad o similar
deviceAgentCadena d’agent d’usuari en brut
osSistema operatiu detectat — Windows, MacOS, Linux, UNIX
pathRuta de la pàgina actual
titleTítol de la pàgina actual
userIdIdentificador d’usuari autenticat (omitit si no està loguejat)
startDateData d’entrada de la sessió de cerca actual
endDateData de sortida de la sessió de cerca actual
guestsNombre de convidats de la sessió de cerca actual
roomsNombre d’habitacions de la sessió de cerca actual