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 ID de píxel o etiqueta.

  2. Introduir-lo al portal de Wink

    Inicia sessió a app.wink.travel, selecciona el teu compte i ves a la pestanya Personalitzacions. Enganxa el teu ID de Contenidor GTM al camp GTM i desa. La teva integració ja està activa.

  3. (Opcional) Afegir un ID de Mesura GA4 + Secret API per a compres per servidor

    Els contenidors GTM s’executen completament al navegador del client, així que una reserva completada es pot perdre si el client tanca la pestanya durant la redirecció de pagament. Si el teu contenidor carrega una propietat GA4 i vols que les reserves completades es registrin de manera fiable, també introdueix l’ID de Mesura i el secret de l’API del Protocol de Mesura d’aquesta GA4 a la secció GTM. Wink enviarà llavors la purchase per a aquesta propietat des del servidor, exactament com es descriu a la guia de Integració d’Analytics GA4. Deixa aquests camps en blanc si només necessites el seguiment al navegador.

  4. 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 pestanya de Personalitzacions del teu portal Wink. 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 — així es carrega juntament amb el contenidor propi de Wink sense dependre de cap configuració addicional. Això passa automàticament, sense cap treball 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 pàgina per als teus clients.
  • El seguiment propi de Wink i el teu contenidor s’executen 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 s’està visualitzant — 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.
  • Si has proporcionat un ID de Mesura GA4 + secret API (pas 3 anterior), la purchase de les reserves completades s’envia addicionalment des del servidor via el Protocol de Mesura GA4, així es registra una venda encara que el client no torni a la pàgina de confirmació.

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 Esdeveniment Personalitzat 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 inici de sessió únic (SSO).

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

S’activa quan una reserva es confirma.

{
"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 una reserva es cancel·la.

{
"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’articles. 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 cap 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’article
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’article
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’article

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

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’article a la teva propietat GA4 abans que apareguin a 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 d’articles als informes fins que no els registres explícitament com a dimensions personalitzades a nivell d’article. 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 Administrador (icona d’engranatge a baix a l’esquerra) → selecciona la teva propietat → Visualització de dadesDefinicions personalitzades.

  2. Crear una nova dimensió personalitzada

    Fes clic a Crear dimensions personalitzades.

  3. Omplir els detalls de la dimensió

    • Nom de la dimensió — l’etiqueta llegible que apareix als informes GA4 (consulta la taula a continuació)
    • Abast — selecciona Article
    • Paràmetre d’esdeveniment — el nom exacte del paràmetre tal com apareix al dataLayer (consulta la taula a continuació)
    • Descripció — opcional però recomanada
  4. Desar i repetir

    Fes clic a Desar, 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 Paràmetre d’esdeveniment ha de coincidir exactament — GA4 distingeix majúscules i minúscules.

Nom de la dimensióParàmetre d’esdevenimentTipus
ID de la propietatproperty_idText
Nom de la propietatproperty_nameText
Marca de la propietatproperty_brandText
Cadena de la propietatproperty_chainText
Nom URL de la propietatproperty_url_nameText
Nom de la ciutatcity_nameText
Codi de paíscountry_codeText
Data d’entradastart_dateText
Data de sortidaend_dateText
Nombre d’adultsnum_adultsNombre
Nombre de nensnum_childrenNombre
Política de cancel·laciócancellation_policyText
ID del pla tarifarirate_plan_idText
ID de la tarifa d’habitacióroom_rate_idText
Nom de la tarifa d’habitacióroom_rate_nameText
Nombre de beneficisnum_perksNombre
Ubicació de l’habitacióroom_locationText
Vista de l’habitacióroom_viewText
Classificació de l’habitacióroom_classificationText
Tipus de llitbed_typeText

Els esdeveniments següents 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 cap 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