Salta ai contenuti

Integrazione GTM Analytics

Puoi collegare qualsiasi contenitore Google Tag Manager (GTM) a Wink inserendo il suo ID contenitore GTM nel portale Wink. Una volta collegato, il tuo contenitore si carica automaticamente per la tua struttura e legge direttamente gli eventi di prenotazione di Wink — coprendo l’intero percorso dell’ospite dalla ricerca fino alla prenotazione completata. Un caso d’uso comune è un contenitore Sojern per retargeting e pubblicità, ma qualsiasi contenitore GTM funziona allo stesso modo.


  1. Ottieni il tuo ID contenitore GTM

    Ottieni il tuo ID contenitore GTM (formato GTM-XXXXXXX). Se proviene da un partner come Sojern, richiedi specificamente l’ID contenitore GTM — è diverso da un pixel o un ID tag.

  2. Inseriscilo nel portale Wink

    Accedi a app.wink.travel, seleziona il tuo account e vai alla scheda Personalizzazioni. Incolla il tuo ID contenitore GTM nel campo GTM e salva. La tua integrazione è ora attiva.

  3. (Opzionale) Aggiungi un ID di misurazione GA4 + segreto API per l’acquisto lato server

    I contenitori GTM funzionano interamente nel browser dell’ospite, quindi una prenotazione completata può essere persa se l’ospite chiude la scheda durante il reindirizzamento al pagamento. Se il tuo contenitore carica una proprietà GA4 e vuoi che le prenotazioni completate vengano registrate in modo affidabile, inserisci anche l’ID di misurazione e il segreto API del protocollo di misurazione di quella GA4 nella sezione GTM. Wink invierà quindi l’evento purchase per quella proprietà lato server, esattamente come descritto nella guida Integrazione GA4 Analytics. Lasciali vuoti se ti serve solo il tracciamento in-browser.

  4. Conferma con il tuo fornitore

    Se il tuo contenitore proviene da un partner come Sojern, informa il tuo account manager che l’integrazione è attiva. Potranno verificare dal loro lato che i tag si attivano correttamente su wink.travel per la tua struttura e che i dati fluiscono nel tuo account.


Per trasparenza, ecco cosa configura Wink per far funzionare questa integrazione:

  • Un campo ID contenitore GTM è disponibile nella scheda Personalizzazioni del tuo portale Wink. Quando inserisci il tuo ID contenitore, Wink ne verifica il formato (GTM-XXXXXXX) e lo memorizza in modo sicuro associato alla tua struttura.
  • Su ogni pagina dove la tua struttura è attiva su Wink, il tuo contenitore viene iniettato direttamente nella pagina — condividendo il window.dataLayer di Wink — così si carica insieme al contenitore di Wink senza dipendere da configurazioni aggiuntive. Questo avviene automaticamente, senza lavoro per struttura da parte del team Wink.
  • Il tuo contenitore viene caricato in modo asincrono, quindi non influisce sulle prestazioni di caricamento della pagina per i tuoi ospiti.
  • Il tracciamento di Wink e il tuo contenitore funzionano in parallelo, leggendo dallo stesso dataLayer condiviso. Ogni evento di prenotazione tracciato da Wink è simultaneamente disponibile al tuo contenitore.
  • Quando la tua struttura non è visualizzata — ad esempio, quando un ospite sta navigando un altro hotel su Wink — il tuo contenitore non viene caricato, quindi riceve solo dati rilevanti per la tua struttura.
  • Se hai fornito un ID di misurazione GA4 + segreto API (passo 3 sopra), l’evento purchase per le prenotazioni completate viene inviato anche lato server tramite il protocollo di misurazione GA4, così una vendita viene registrata anche se l’ospite non torna mai alla pagina di conferma.

Wink invia eventi compatibili GA4 al dataLayer durante tutto il percorso dell’ospite. Il tuo contenitore GTM legge dallo stesso dataLayer condiviso, quindi qualsiasi trigger o variabile che configuri ha accesso a tutte le proprietà descritte di seguito.

Ogni evento segue la struttura standard GA4 Enhanced Ecommerce: una stringa event di primo livello e un oggetto ecommerce. Prima di ogni push, Wink cancella il payload ecommerce precedente per evitare che dati obsoleti influenzino nuovi trigger.


Questi eventi si attivano automaticamente mentre un ospite procede nel funnel di prenotazione. Configura i tuoi trigger GTM come trigger Evento personalizzato corrispondenti ai nomi evento qui sotto.

PassoEventoQuando si attiva
1view_item_listCaricamento griglia o lista inventario hotel
2view_itemL’ospite visualizza una pagina specifica della struttura
3add_to_cartL’ospite aggiunge una camera al carrello
4begin_checkoutCaricamento pagina checkout / pagamento
5add_payment_infoL’ospite seleziona un metodo di pagamento
6loginL’ospite si autentica tramite SSO
7purchaseLa prenotazione è confermata
8refundLa prenotazione è cancellata

Si attiva quando viene visualizzata una griglia o lista inventario hotel.

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

Si attiva quando un ospite visualizza una struttura specifica.

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

Si attiva quando un ospite aggiunge una camera al carrello.

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

Si attiva quando si carica la pagina checkout / pagamento.

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

coupon è presente solo quando è stato applicato un codice sconto.


Si attiva quando l’ospite seleziona o conferma un metodo di pagamento.

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

payment_type è popolato dal tipo di acquirente di pagamento. coupon è presente solo quando è stato applicato un codice sconto.


Si attiva quando un ospite si autentica tramite single sign-on.

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

Si attiva quando una prenotazione è confermata.

{
"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 è l’identificatore univoco del contratto di prenotazione. coupon, shipping e tax sono presenti solo se applicabili.


Si attiva quando una prenotazione è cancellata.

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

transaction_id corrisponde all’evento purchase della stessa prenotazione. coupon, shipping e tax sono presenti solo se applicabili.


Tutti gli eventi che includono un array items condividono lo stesso schema per gli articoli. Ogni proprietà è opzionale a meno che non sia indicata come obbligatoria.

Questi campi sono nativamente riconosciuti da GA4 e appaiono nei report ecommerce standard senza configurazioni aggiuntive.

ProprietàTipoObbligatorioDescrizione
item_idstringaIdentificatore univoco per la camera o prodotto
item_namestringaNome della camera o prodotto
affiliationstringaNome affiliato o venditore
couponstringaCodice coupon applicato all’articolo
currencystringaCodice valuta ISO 4217 (es. USD)
creative_namestringaNome creativo usato in una promozione
creative_slotstringaPosizione dello slot della creatività promozionale
discountnumeroImporto sconto applicato
indexnumeroPosizione nella lista (base 1)
item_brandstringaNome hotel o brand
item_categorystringaTipo di prodotto — es. GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA
item_list_idstringaIdentificatore della lista a cui l’articolo appartiene
item_list_namestringaNome visualizzato della lista
location_idstringaCoordinate geografiche della struttura
pricenumeroPrezzo unitario
promotion_idstringaIdentificatore della promozione
promotion_namestringaNome visualizzato della promozione
quantitynumeroQuantità (default 1)

Questi parametri contengono il contesto di prenotazione specifico di Wink. GA4 non li mostra automaticamente nei report — devi registrarli come dimensioni personalizzate a livello articolo nella tua proprietà GA4 prima che appaiano in esplorazioni o report standard. Vedi Dimensioni personalizzate in GA4 sotto per le istruzioni.

ProprietàTipoDescrizione
property_idstringaIdentificatore struttura Wink
property_namestringaNome visualizzato della struttura
property_brandstringaBrand a cui appartiene la struttura
property_chainstringaCatena a cui appartiene la struttura
property_url_namestringaSlug URL-friendly della struttura
city_namestringaCittà in cui si trova la struttura
country_codestringaCodice paese ISO 3166-1 alpha-2
start_datestringaData check-in in formato YYYY-MM-DD
end_datestringaData check-out in formato YYYY-MM-DD
num_adultsnumeroNumero di adulti nella prenotazione
num_childrennumeroNumero di bambini nella prenotazione
cancellation_policystringaUno tra: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions
rate_plan_idstringaIdentificatore del piano tariffario
room_rate_idstringaIdentificatore della tariffa specifica della camera
room_rate_namestringaNome visualizzato della tariffa camera
num_perksnumeroNumero di vantaggi inclusi con la tariffa
room_locationstringaDescrizione della posizione della camera (es. Overwater, Garden)
room_viewstringaDescrizione della vista della camera (es. Ocean, City)
room_classificationstringaClassificazione o categoria della camera (es. Suite, Standard)
bed_typestringaConfigurazione del letto della camera (es. King, Twin)

GA4 ignora i parametri personalizzati a livello articolo nei report finché non li registri esplicitamente come dimensioni personalizzate a livello articolo. Devi registrare solo i parametri che intendi usare nei report — non è necessario registrarli tutti e 20.

  1. Apri Definizioni Personalizzate

    In GA4, vai su Amministrazione (icona ingranaggio in basso a sinistra) → seleziona la tua proprietà → Visualizzazione datiDefinizioni personalizzate.

  2. Crea una nuova dimensione personalizzata

    Clicca su Crea dimensioni personalizzate.

  3. Compila i dettagli della dimensione

    • Nome dimensione — etichetta leggibile che appare nei report GA4 (vedi tabella sotto)
    • Ambito — seleziona Articolo
    • Parametro evento — il nome esatto del parametro come appare nel dataLayer (vedi tabella sotto)
    • Descrizione — opzionale ma consigliata
  4. Salva e ripeti

    Clicca su Salva, poi ripeti per ogni parametro che vuoi tracciare.

Usa la tabella seguente come riferimento per creare le dimensioni personalizzate. Il valore Parametro evento deve corrispondere esattamente — GA4 fa distinzione tra maiuscole e minuscole.

Nome dimensioneParametro eventoTipo
ID strutturaproperty_idTesto
Nome strutturaproperty_nameTesto
Brand strutturaproperty_brandTesto
Catena strutturaproperty_chainTesto
Nome URL strutturaproperty_url_nameTesto
Nome cittàcity_nameTesto
Codice paesecountry_codeTesto
Data check-instart_dateTesto
Data check-outend_dateTesto
Numero adultinum_adultsNumero
Numero bambininum_childrenNumero
Politica di cancellazionecancellation_policyTesto
ID piano tariffariorate_plan_idTesto
ID tariffa cameraroom_rate_idTesto
Nome tariffa cameraroom_rate_nameTesto
Numero vantagginum_perksNumero
Posizione cameraroom_locationTesto
Vista cameraroom_viewTesto
Classificazione cameraroom_classificationTesto
Tipo lettobed_typeTesto

I seguenti eventi sono disponibili nel dataLayer di Wink ma non fanno parte del funnel standard di prenotazione. Possono essere attivati da altre interazioni sulla piattaforma.

{
"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"
}

Nessun payload ecommerce è incluso con questo evento.

{
"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": {}
}

Questo è un evento personalizzato Wink — non fa parte del set standard di eventi GA4. Viene inviato ad ogni navigazione di pagina e contiene il contesto dispositivo e sessione. Non include un oggetto 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"
}
ProprietàDescrizione
deviceTipo di dispositivo rilevato — Desktop, Android, iPhone, iPad o simili
deviceAgentStringa raw user agent
osSistema operativo rilevato — Windows, MacOS, Linux, UNIX
pathPercorso pagina corrente
titleTitolo pagina corrente
userIdIdentificatore utente autenticato (omesso se non loggato)
startDateData check-in dalla sessione di ricerca corrente
endDateData check-out dalla sessione di ricerca corrente
guestsNumero di ospiti dalla sessione di ricerca corrente
roomsNumero di camere dalla sessione di ricerca corrente