Sari la conținut

Integrare GTM Analytics

Puteți conecta orice container Google Tag Manager (GTM) la Wink introducând ID-ul containerului GTM în portalul Wink. Odată conectat, containerul dvs. se încarcă automat pentru proprietatea dvs. și citește direct evenimentele de rezervare Wink — acoperind întregul parcurs al oaspetelui, de la căutare până la rezervarea finalizată. Un caz comun de utilizare este un container Sojern pentru retargeting și publicitate, dar orice container GTM funcționează la fel.


  1. Obțineți ID-ul Containerului GTM

    Obțineți ID-ul containerului GTM (format GTM-XXXXXXX). Dacă provine de la un partener precum Sojern, solicitați în mod specific ID-ul containerului GTM — este diferit de un pixel sau ID de tag.

  2. Introduceți-l în Portalul Wink

    Conectați-vă la app.wink.travel, selectați contul dvs. și accesați fila Personalizări. Lipiți ID-ul containerului GTM în câmpul GTM și salvați. Integrarea dvs. este acum activă.

  3. (Opțional) Adăugați un ID de Măsurare GA4 + Secret API pentru Achiziții Server-Side

    Containerele GTM rulează complet în browserul oaspetelui, deci o rezervare finalizată poate fi ratată dacă oaspetele închide fila în timpul redirecționării la plată. Dacă containerul dvs. încarcă o proprietate GA4 și doriți ca rezervările finalizate să fie înregistrate fiabil, introduceți și ID-ul de măsurare GA4 și secretul API Measurement Protocol în secțiunea GTM. Wink va trimite apoi evenimentul purchase pentru acea proprietate server-side, exact cum este descris în ghidul GA4 Analytics Integration. Lăsați aceste câmpuri necompletate dacă aveți nevoie doar de urmărire în browser.

  4. Confirmați cu Furnizorul Dvs.

    Dacă containerul dvs. provine de la un partener precum Sojern, anunțați managerul dvs. de cont că integrarea este activă. Ei pot verifica de partea lor dacă tag-urile se declanșează corect pe wink.travel pentru proprietatea dvs. și dacă datele curg în contul dvs.


Pentru transparență, iată ce configurează Wink pentru a face această integrare să funcționeze:

  • Un câmp pentru ID-ul containerului GTM este disponibil în fila Personalizări din portalul Wink. Când introduceți ID-ul containerului, Wink validează formatul (GTM-XXXXXXX) și îl stochează în siguranță pentru proprietatea dvs.
  • Pe fiecare pagină unde proprietatea dvs. este activă pe Wink, containerul dvs. este injectat direct în pagină — împărtășind propriul window.dataLayer al Wink — astfel încât se încarcă alături de containerul Wink fără dependență de alte configurări suplimentare. Acest lucru se întâmplă automat, fără muncă suplimentară per proprietate din partea echipei Wink.
  • Containerul dvs. se încarcă asincron, deci nu afectează performanța încărcării paginii pentru oaspeții dvs.
  • Urmărirea Wink și containerul dvs. rulează în paralel, citind din același dataLayer partajat. Fiecare eveniment de rezervare urmărit de Wink este disponibil simultan pentru containerul dvs.
  • Când proprietatea dvs. nu este vizualizată — de exemplu, când un oaspete navighează pe pagina unui alt hotel pe Wink — containerul dvs. nu este încărcat, deci primește doar date relevante pentru proprietatea dvs.
  • Dacă ați furnizat un ID de măsurare GA4 + secret API (pasul 3 de mai sus), evenimentul purchase pentru rezervările finalizate este trimis suplimentar server-side prin GA4 Measurement Protocol, astfel încât o vânzare este înregistrată chiar dacă oaspetele nu revine la pagina de confirmare.

Wink împinge evenimente compatibile GA4 în dataLayer pe tot parcursul experienței oaspetelui. Containerul dvs. GTM citește din același dataLayer partajat, deci orice declanșator sau variabilă configurată are acces la toate proprietățile descrise mai jos.

Fiecare eveniment urmează structura standard GA4 Enhanced Ecommerce: un șir event la nivel superior și un obiect ecommerce. Înainte de fiecare push, Wink golește încărcătura ecommerce anterioară pentru a preveni pătrunderea datelor vechi în declanșatoarele noi.


Aceste evenimente se declanșează automat pe măsură ce oaspetele parcurge funnel-ul de rezervare. Configurați declanșatoarele GTM ca declanșatoare Custom Event care corespund numelor evenimentelor de mai jos.

PasEvenimentCând se declanșează
1view_item_listSe încarcă grila sau lista de inventar hotelier
2view_itemOaspetele vizualizează o pagină specifică a proprietății
3add_to_cartOaspetele adaugă o cameră în coșul de cumpărături
4begin_checkoutSe încarcă pagina de checkout / plată
5add_payment_infoOaspetele selectează o metodă de plată
6loginOaspetele se autentifică prin SSO
7purchaseRezervarea este confirmată
8refundRezervarea este anulată

Se declanșează când se afișează o grilă sau listă de inventar hotelier.

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

Se declanșează când un oaspete vizualizează o proprietate specifică.

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

Se declanșează când un oaspete adaugă o cameră în coș.

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

Se declanșează când se încarcă pagina de checkout / plată.

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

coupon este prezent doar când a fost aplicat un cod de reducere.


Se declanșează când oaspetele selectează sau confirmă o metodă de plată.

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

payment_type este completat din tipul procesatorului de plată. coupon este prezent doar când a fost aplicat un cod de reducere.


Se declanșează când un oaspete se autentifică prin single sign-on.

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

Se declanșează când o rezervare este confirmată.

{
"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 este identificatorul unic al contractului de rezervare. coupon, shipping și tax sunt prezente doar când este cazul.


Se declanșează când o rezervare este anulată.

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

transaction_id corespunde evenimentului purchase pentru aceeași rezervare. coupon, shipping și tax sunt prezente doar când este cazul.


Toate evenimentele care includ un array items împărtășesc aceeași schemă pentru articole. Fiecare proprietate este opțională, cu excepția celor marcate ca obligatorii.

Aceste câmpuri sunt înțelese nativ de GA4 și apar în rapoartele standard ecommerce fără configurare suplimentară.

ProprietateTipObligatoriuDescriere
item_idstringDaIdentificator unic pentru cameră sau produs
item_namestringNumele camerei sau produsului
affiliationstringNumele afiliatului sau vânzătorului
couponstringCodul de reducere aplicat articolului
currencystringCodul valutar ISO 4217 (ex. USD)
creative_namestringNumele creativ folosit într-o promoție
creative_slotstringPoziția slotului pentru creativul promoției
discountnumberValoarea reducerii aplicate
indexnumberPoziția în listă (începând de la 1)
item_brandstringNumele hotelului sau brandului
item_categorystringTipul produsului — ex. GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA
item_list_idstringIdentificatorul listei din care face parte articolul
item_list_namestringNumele afișat al listei
location_idstringCoordonatele geografice ale proprietății
pricenumberPreț unitar
promotion_idstringIdentificatorul promoției
promotion_namestringNumele afișat al promoției
quantitynumberCantitate (implicit 1)

Acești parametri poartă context specific rezervărilor Wink. GA4 nu îi afișează automat în rapoarte — trebuie să înregistrați fiecare ca dimensiune personalizată la nivel de articol în proprietatea GA4 înainte să apară în explorări sau rapoarte standard. Consultați Dimensiuni personalizate în GA4 mai jos pentru instrucțiuni.

ProprietateTipDescriere
property_idstringIdentificatorul proprietății Wink
property_namestringNumele afișat al proprietății
property_brandstringBrandul căruia îi aparține proprietatea
property_chainstringLanțul căruia îi aparține proprietatea
property_url_namestringSlug URL-friendly pentru proprietate
city_namestringOrașul unde se află proprietatea
country_codestringCodul țării ISO 3166-1 alpha-2
start_datestringData check-in în format YYYY-MM-DD
end_datestringData check-out în format YYYY-MM-DD
num_adultsnumberNumărul de adulți în rezervare
num_childrennumberNumărul de copii în rezervare
cancellation_policystringUnul dintre: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions
rate_plan_idstringIdentificatorul planului tarifar
room_rate_idstringIdentificatorul tarifului camerei
room_rate_namestringNumele afișat al tarifului camerei
num_perksnumberNumărul de beneficii incluse în tarif
room_locationstringDescrierea locației camerei (ex. Overwater, Garden)
room_viewstringDescrierea priveliștii camerei (ex. Ocean, City)
room_classificationstringClasificarea sau nivelul camerei (ex. Suite, Standard)
bed_typestringConfigurația patului în cameră (ex. King, Twin)

GA4 ignoră parametrii personalizați la nivel de articol în rapoarte până când îi înregistrați explicit ca dimensiuni personalizate la nivel de articol. Trebuie să înregistrați doar parametrii pe care intenționați să îi utilizați în rapoarte — nu este necesar să înregistrați toți cei 20.

  1. Deschideți Definițiile Personalizate

    În GA4, accesați Admin (pictograma roată din stânga jos) → selectați proprietatea dvs. → Afișare dateDefiniții personalizate.

  2. Creați o dimensiune personalizată nouă

    Faceți clic pe Creează dimensiuni personalizate.

  3. Completați detaliile dimensiunii

    • Numele dimensiunii — eticheta lizibilă care apare în rapoartele GA4 (vedeți tabelul de mai jos)
    • Scop — selectați Item
    • Parametrul evenimentului — numele exact al parametrului așa cum apare în dataLayer (vedeți tabelul de mai jos)
    • Descriere — opțional, dar recomandat
  4. Salvați și repetați

    Faceți clic pe Salvează, apoi repetați pentru fiecare parametru pe care doriți să îl urmăriți.

Folosiți tabelul următor ca referință când creați dimensiuni personalizate. Valoarea Parametrului evenimentului trebuie să corespundă exact — GA4 este sensibil la majuscule.

Numele dimensiuniiParametrul evenimentuluiTip
ID Proprietateproperty_idText
Nume Proprietateproperty_nameText
Brand Proprietateproperty_brandText
Lanț Proprietateproperty_chainText
Nume URL Proprietateproperty_url_nameText
Nume Orașcity_nameText
Cod Țarăcountry_codeText
Data Check-instart_dateText
Data Check-outend_dateText
Număr Adulținum_adultsNumăr
Număr Copiinum_childrenNumăr
Politica de Anularecancellation_policyText
ID Plan Tarifarrate_plan_idText
ID Tarif Camerăroom_rate_idText
Nume Tarif Camerăroom_rate_nameText
Număr Beneficiinum_perksNumăr
Locație Camerăroom_locationText
Priveliște Camerăroom_viewText
Clasificare Camerăroom_classificationText
Tip Patbed_typeText

Următoarele evenimente sunt disponibile în dataLayer Wink, dar nu fac parte din funnel-ul standard de rezervare. Ele pot fi declanșate de alte interacțiuni pe platformă.

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

Acest eveniment nu include o încărcătură 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": {}
}

Acesta este un eveniment personalizat Wink — nu face parte din setul standard de evenimente GA4. Este împins la fiecare navigare pe pagină și poartă context despre dispozitiv și sesiune. Nu include un obiect 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"
}
ProprietateDescriere
deviceTipul dispozitivului detectat — Desktop, Android, iPhone, iPad sau similar
deviceAgentString-ul raw al user agent-ului
osSistemul de operare detectat — Windows, MacOS, Linux, UNIX
pathCalea paginii curente
titleTitlul paginii curente
userIdIdentificatorul utilizatorului autentificat (omise dacă nu este logat)
startDateData check-in din sesiunea curentă de căutare
endDateData check-out din sesiunea curentă de căutare
guestsNumărul de oaspeți din sesiunea curentă de căutare
roomsNumărul de camere din sesiunea curentă de căutare