Salta ai contenuti

Integrazione Sojern Pixel

Se stai gestendo campagne pubblicitarie tramite Sojern, puoi collegare il tuo account Sojern a Wink inserendo il tuo Sojern GTM Container ID nel portale Wink. Una volta collegato, il pixel di tracciamento di Sojern si attiva automaticamente per la tua struttura — coprendo l’intero percorso dell’ospite dalla ricerca fino alla prenotazione completata.


  1. Ottieni il tuo GTM Container ID da Sojern

    Contatta il tuo account manager Sojern e richiedi il tuo GTM Container ID. Ha il formato GTM-XXXXXXX. Questo è diverso dal tuo Sojern Pixel ID — assicurati di chiedere specificamente il GTM Container ID.

  2. Inseriscilo nel portale Wink

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

  3. Conferma con il tuo account manager Sojern

    Comunica al tuo account manager Sojern che l’integrazione è attiva. Potranno verificare dal loro lato che il pixel si attiva correttamente su wink.travel per la tua struttura e che i dati fluiscono nel tuo account Sojern.


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

  • Un campo Sojern GTM Container ID è disponibile nella scheda Personalizzazioni del tuo portale Wink. Quando inserisci il tuo Container ID, Wink ne verifica il formato e lo memorizza in modo sicuro associato alla tua struttura.
  • Su ogni pagina in cui la tua struttura è attiva su Wink, il tuo Sojern GTM Container ID viene inserito nella pagina e il sistema di gestione tag di Wink carica dinamicamente il tuo contenitore Sojern insieme al proprio. Questo avviene automaticamente — non sono richiesti passaggi manuali da parte del team Wink per ogni struttura.
  • Il tuo contenitore Sojern 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 pixel Sojern funzionano in parallelo, leggendo dagli stessi dati evento condivisi. Ogni evento di prenotazione tracciato da Wink è contemporaneamente disponibile per il tuo contenitore Sojern.
  • Quando la tua struttura non è visualizzata — ad esempio, quando un ospite sta navigando un altro hotel su Wink — il tuo contenitore Sojern non viene caricato. Questo garantisce che Sojern riceva solo dati rilevanti per la tua struttura.

Wink invia eventi compatibili con 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 indicati.

PassoEventoQuando Si Attiva
1view_item_listCaricamento griglia o lista inventario hotel
2view_itemL’ospite visualizza la pagina di una struttura specifica
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 viene caricata 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’identificativo 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 elementi. 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_idstringaIdentificativo univoco per la camera o prodotto
item_namestringaNome della camera o prodotto
affiliationstringaNome affiliato o venditore
couponstringaCodice coupon applicato all’elemento
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_idstringaIdentificativo della lista a cui l’elemento appartiene
item_list_namestringaNome visualizzato della lista
location_idstringaCoordinate geografiche della struttura
pricenumeroPrezzo unitario
promotion_idstringaIdentificativo 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 di elemento nella tua proprietà GA4 prima che appaiano in esplorazioni o report standard. Vedi Dimensioni personalizzate in GA4 per le istruzioni di configurazione.

ProprietàTipoDescrizione
property_idstringaIdentificativo 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_idstringaIdentificativo del piano tariffario
room_rate_idstringaIdentificativo della tariffa specifica della camera
room_rate_namestringaNome visualizzato della tariffa camera
num_perksnumeroNumero di vantaggi inclusi nella 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 di elemento nei report finché non li registri esplicitamente come dimensioni personalizzate a livello di elemento. Devi registrare solo i parametri che intendi usare nei report — non è necessario registrarli tutti e 20.

  1. Apri Definizioni Personalizzate

    In GA4, vai su Admin (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 Elemento
    • 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 è case-sensitive.

Nome dimensioneParametro eventoTipo
Property IDproperty_idTesto
Property nameproperty_nameTesto
Property brandproperty_brandTesto
Property chainproperty_chainTesto
Property URL nameproperty_url_nameTesto
City namecity_nameTesto
Country codecountry_codeTesto
Check-in datestart_dateTesto
Check-out dateend_dateTesto
Number of adultsnum_adultsNumero
Number of childrennum_childrenNumero
Cancellation policycancellation_policyTesto
Rate plan IDrate_plan_idTesto
Room rate IDroom_rate_idTesto
Room rate nameroom_rate_nameTesto
Number of perksnum_perksNumero
Room locationroom_locationTesto
Room viewroom_viewTesto
Room classificationroom_classificationTesto
Bed typebed_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 di 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 della pagina corrente
titleTitolo della pagina corrente
userIdIdentificativo utente autenticato (omesso se non loggato)
startDateData check-in della sessione di ricerca corrente
endDateData check-out della sessione di ricerca corrente
guestsNumero di ospiti della sessione di ricerca corrente
roomsNumero di camere della sessione di ricerca corrente