Sari la conținut

Integrarea Pixelului Sojern

Dacă derulați campanii publicitare prin Sojern, puteți conecta contul Sojern la Wink introducând ID-ul containerului GTM Sojern în portalul Wink. Odată conectat, pixelul de urmărire Sojern se activează automat pentru proprietatea dvs. — acoperind întregul parcurs al oaspetelui, de la căutare până la rezervarea finalizată.


  1. Obțineți ID-ul containerului GTM de la Sojern

    Contactați managerul dvs. de cont Sojern și solicitați ID-ul containerului GTM. Are formatul GTM-XXXXXXX. Acesta este diferit de ID-ul pixelului Sojern — asigurați-vă că cereți în mod specific ID-ul containerului GTM.

  2. Introduceți-l în portalul Wink

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

  3. Confirmați cu managerul dvs. de cont Sojern

    Informați managerul dvs. de cont Sojern că integrarea este activă. Ei pot verifica din partea lor dacă pixelul se activează corect pe wink.travel pentru proprietatea dvs. și dacă datele sunt transmise în contul dvs. Sojern.


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

  • Un câmp pentru ID-ul containerului GTM Sojern este disponibil în fila Customizations din portalul Wink. Când introduceți ID-ul containerului, Wink validează formatul și îl stochează în siguranță pentru proprietatea dvs.
  • Pe fiecare pagină unde proprietatea dvs. este activă pe Wink, ID-ul containerului GTM Sojern este redat în pagină, iar sistemul de gestionare a etichetelor Wink încarcă dinamic containerul Sojern împreună cu al său. Acest lucru se întâmplă automat — nu sunt necesari pași manuali din partea echipei Wink pentru fiecare proprietate.
  • Containerul Sojern este încărcat asincron, ceea ce înseamnă că nu afectează performanța încărcării paginii pentru oaspeții dvs.
  • Urmărirea proprie Wink și pixelul Sojern rulează în paralel, citind din aceleași date de eveniment partajate. Fiecare eveniment de rezervare pe care Wink îl urmărește este disponibil simultan pentru containerul Sojern.
  • Când proprietatea dvs. nu este vizualizată — de exemplu, când un oaspete navighează pe un alt hotel pe Wink — containerul Sojern nu este încărcat. Acest lucru asigură că Sojern primește doar date relevante pentru proprietatea dvs.

Wink împinge evenimente compatibile GA4 în dataLayer pe tot parcursul experienței oaspetelui. Containerul dvs. GTM citește din același dataLayer partajat, astfel încât orice declanșator sau variabilă configurați 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 noile declanșatoare.


Aceste evenimente se declanșează automat pe măsură ce un oaspete 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 o 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 populat din tipul achizitorului 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țional
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)

Parametri personalizați la nivel de articol

Section titled “Parametri personalizați la nivel de articol”

Acești parametri conțin 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 alfa-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 specifice
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 categoria camerei (ex. Suite, Standard)
bed_typestringConfigurația patului pentru 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. → Data displayCustom definitions.

  2. Creați o dimensiune personalizată nouă

    Faceți clic pe Create custom dimensions.

  3. Completați detaliile dimensiunii

    • Dimension name — eticheta lizibilă pentru oameni care apare în rapoartele GA4 (vedeți tabelul de mai jos)
    • Scope — selectați Item
    • Event parameter — numele exact al parametrului așa cum apare în dataLayer (vedeți tabelul de mai jos)
    • Description — opțional, dar recomandat
  4. Salvați și repetați

    Faceți clic pe Save, 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 Event parameter trebuie să corespundă exact — GA4 este sensibil la majuscule/minuscule.

Nume dimensiuneEvent parameterTip
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

Următoarele evenimente sunt disponibile în dataLayer-ul 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 conține 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
deviceAgentStringul brut al agentului utilizator
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