Skip to content

Integracija GTM analitike

Možete povezati bilo koji Google Tag Manager (GTM) kontejner sa Wink-om unošenjem njegovog GTM Container ID u Wink portal. Kada je povezan, vaš kontejner se automatski učitava za vašu nekretninu i direktno čita Wink-ove događaje rezervacije — pokrivajući ceo put gosta od pretrage do završene rezervacije. Čest slučaj upotrebe je Sojern kontejner za retargeting i oglašavanje, ali bilo koji GTM kontejner funkcioniše na isti način.


  1. Nabavite vaš GTM Container ID

    Nabavite vaš GTM Container ID (format GTM-XXXXXXX). Ako dolazi od partnera kao što je Sojern, zatražite specifično GTM Container ID — on se razlikuje od pixel ili tag ID-ja.

  2. Unesite ga u Wink portal

    Prijavite se na app.wink.travel, izaberite vaš nalog i idite na karticu Customizations. Nalepite vaš GTM Container ID u polje GTM i sačuvajte. Vaša integracija je sada aktivna.

  3. (Opcionalno) Dodajte GA4 Measurement ID + API Secret za server-side kupovinu

    GTM kontejneri se u potpunosti izvršavaju u pregledaču gosta, pa se završena rezervacija može propustiti ako gost zatvori tab tokom preusmeravanja na plaćanje. Ako vaš kontejner učitava GA4 property i želite da se završene rezervacije pouzdano beleže, unesite i GA4 Measurement ID i Measurement Protocol API secret u GTM sekciju. Wink će tada poslati purchase za tu property server-side, tačno kako je opisano u vodiču GA4 Analytics Integration. Ostavite prazno ako vam je potrebno samo praćenje u pregledaču.

  4. Potvrdite sa vašim provajderom

    Ako vaš kontejner dolazi od partnera kao što je Sojern, obavestite vašeg menadžera naloga da je integracija aktivna. Oni mogu sa svoje strane proveriti da li se tagovi pravilno aktiviraju na wink.travel za vašu nekretninu i da li podaci stižu u vaš nalog.


Za transparentnost, evo šta Wink konfiguriše da bi ova integracija radila:

  • Polje za GTM Container ID dostupno je u kartici Customizations u vašem Wink portalu. Kada unesete Container ID, Wink proverava format (GTM-XXXXXXX) i sigurno ga čuva za vašu nekretninu.
  • Na svakoj stranici gde je vaša nekretnina aktivna na Wink-u, vaš kontejner se direktno ubacuje u stranicu — deleći Wink-ov sopstveni window.dataLayer — tako da se učitava paralelno sa Wink-ovim kontejnerom bez potrebe za dodatnom konfiguracijom. Ovo se dešava automatski, bez dodatnog rada Wink tima po nekretnini.
  • Vaš kontejner se učitava asinhrono, tako da ne utiče na performanse učitavanja stranice za vaše goste.
  • Wink-ovo sopstveno praćenje i vaš kontejner rade paralelno, čitajući iz istog zajedničkog dataLayer. Svaki događaj rezervacije koji Wink prati je istovremeno dostupan vašem kontejneru.
  • Kada vaša nekretnina nije pregledana — na primer, kada gost pregleda drugi hotel na Wink-u — vaš kontejner se ne učitava, pa prima samo podatke relevantne za vašu nekretninu.
  • Ako ste uneli GA4 Measurement ID + API secret (korak 3 gore), purchase za završene rezervacije se dodatno šalje server-side preko GA4 Measurement Protocol-a, tako da se prodaja beleži čak i ako gost ne vrati na stranicu potvrde.

Wink šalje GA4-kompatibilne događaje u dataLayer tokom cele putanje gosta. Vaš GTM kontejner čita iz istog zajedničkog dataLayer, tako da svaki okidač ili promenljiva koju konfigurišete ima pristup svim svojstvima opisanima ispod.

Svaki događaj prati standardnu GA4 Enhanced Ecommerce strukturu: string event na vrhu i objekat ecommerce. Pre svakog push-a, Wink briše prethodni ecommerce payload da spreči zastarele podatke da utiču na nove okidače.


Ovi događaji se automatski aktiviraju dok gost prolazi kroz tok rezervacije. Konfigurišite vaše GTM okidače kao Custom Event okidače koji odgovaraju imenima događaja ispod.

KorakDogađajKada se aktivira
1view_item_listUčitava se mreža ili lista hotela
2view_itemGost pregleda stranicu određene nekretnine
3add_to_cartGost dodaje sobu u korpu
4begin_checkoutUčitava se stranica za plaćanje/naplatu
5add_payment_infoGost bira način plaćanja
6loginGost se autentifikuje putem SSO
7purchaseRezervacija je potvrđena
8refundRezervacija je otkazana

Aktivira se kada se prikaže mreža ili lista hotela.

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

Aktivira se kada gost pregleda određenu nekretninu.

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

Aktivira se kada gost doda sobu u korpu.

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

Aktivira se kada se učita stranica za plaćanje/naplatu.

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

coupon je prisutan samo kada je primenjen kod za popust.


Aktivira se kada gost izabere ili potvrdi način plaćanja.

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

payment_type se popunjava iz tipa platnog procesora. coupon je prisutan samo kada je primenjen kod za popust.


Aktivira se kada se gost autentifikuje putem single sign-on.

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

Aktivira se kada je rezervacija potvrđena.

{
"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 je jedinstveni identifikator ugovora o rezervaciji. coupon, shipping i tax su prisutni samo kada su primenjivi.


Aktivira se kada je rezervacija otkazana.

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

transaction_id odgovara purchase događaju za istu rezervaciju. coupon, shipping i tax su prisutni samo kada su primenjivi.


Svi događaji koji uključuju niz items dele isti šablon stavke. Svako svojstvo je opciono osim ako nije označeno kao obavezno.

Ova polja GA4 nativno razume i pojavljuju se u standardnim ecommerce izveštajima bez dodatne konfiguracije.

SvojstvoTipObaveznoOpis
item_idstringDaJedinstveni identifikator sobe ili proizvoda
item_namestringNaziv sobe ili proizvoda
affiliationstringIme partnera ili prodavca
couponstringPrimenjeni kupon kod na stavku
currencystringISO 4217 kod valute (npr. USD)
creative_namestringNaziv kreativnog materijala u promociji
creative_slotstringPozicija slot-a promotivnog materijala
discountnumberIznos popusta
indexnumberPozicija u listi (počinjajući od 1)
item_brandstringNaziv hotela ili brenda
item_categorystringTip proizvoda — npr. GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA
item_list_idstringIdentifikator liste kojoj stavka pripada
item_list_namestringPrikazni naziv liste
location_idstringGeografske koordinate nekretnine
pricenumberJedinična cena
promotion_idstringIdentifikator promocije
promotion_namestringPrikazni naziv promocije
quantitynumberKoličina (podrazumevano 1)

Ovi parametri nose Wink-specifičan kontekst rezervacije. GA4 ih automatski ne prikazuje u izveštajima — morate svaki registrovati kao prilagođenu dimenziju vezanu za stavku u vašem GA4 property-ju pre nego što se pojave u izveštajima ili istraživanjima. Pogledajte Prilagođene dimenzije u GA4 ispod za uputstva.

SvojstvoTipOpis
property_idstringIdentifikator Wink nekretnine
property_namestringPrikazni naziv nekretnine
property_brandstringBrend kojem nekretnina pripada
property_chainstringLanac kojem nekretnina pripada
property_url_namestringURL-friendly slug nekretnine
city_namestringGrad u kome se nekretnina nalazi
country_codestringISO 3166-1 alpha-2 kod države
start_datestringDatum prijave u formatu YYYY-MM-DD
end_datestringDatum odjave u formatu YYYY-MM-DD
num_adultsnumberBroj odraslih u rezervaciji
num_childrennumberBroj dece u rezervaciji
cancellation_policystringJedan od: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions
rate_plan_idstringIdentifikator tarifnog plana
room_rate_idstringIdentifikator specifične cene sobe
room_rate_namestringPrikazni naziv cene sobe
num_perksnumberBroj pogodnosti uključenih u cenu
room_locationstringOpis lokacije sobe (npr. Overwater, Garden)
room_viewstringOpis pogleda iz sobe (npr. Ocean, City)
room_classificationstringKlasifikacija ili nivo sobe (npr. Suite, Standard)
bed_typestringKonfiguracija kreveta u sobi (npr. King, Twin)

GA4 ignoriše prilagođene parametre stavki u izveštajima dok ih eksplicitno ne registrujete kao dimenzije vezane za stavku. Potrebno je registrovati samo one parametre koje planirate da koristite u izveštajima — nije potrebno registrovati svih 20.

  1. Otvorite Custom Definitions

    U GA4, idite na Admin (ikona zupčanika dole levo) → izaberite vašu property → Data displayCustom definitions.

  2. Kreirajte novu prilagođenu dimenziju

    Kliknite na Create custom dimensions.

  3. Popunite detalje dimenzije

    • Dimension name — čitljiv naziv koji se pojavljuje u GA4 izveštajima (pogledajte tabelu ispod)
    • Scope — izaberite Item
    • Event parameter — tačan naziv parametra kako se pojavljuje u dataLayer-u (pogledajte tabelu ispod)
    • Description — opciono, ali preporučeno
  4. Sačuvajte i ponovite

    Kliknite Save, zatim ponovite za svaki parametar koji želite da pratite.

Koristite sledeću tabelu kao referencu prilikom kreiranja prilagođenih dimenzija. Vrednost Event parameter mora biti tačna — GA4 razlikuje velika i mala slova.

Naziv dimenzijeEvent parameterTip
Property IDproperty_idTekst
Property nameproperty_nameTekst
Property brandproperty_brandTekst
Property chainproperty_chainTekst
Property URL nameproperty_url_nameTekst
City namecity_nameTekst
Country codecountry_codeTekst
Check-in datestart_dateTekst
Check-out dateend_dateTekst
Number of adultsnum_adultsBroj
Number of childrennum_childrenBroj
Cancellation policycancellation_policyTekst
Rate plan IDrate_plan_idTekst
Room rate IDroom_rate_idTekst
Room rate nameroom_rate_nameTekst
Number of perksnum_perksBroj
Room locationroom_locationTekst
Room viewroom_viewTekst
Room classificationroom_classificationTekst
Bed typebed_typeTekst

Sledeći događaji su dostupni u Wink dataLayer-u, ali nisu deo standardnog toka rezervacije. Mogu biti aktivirani drugim interakcijama na platformi.

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

Ovaj događaj ne uključuje ecommerce payload.

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

Ovo je prilagođeni Wink događaj — nije deo standardnog GA4 seta događaja. Pritiskuje se pri svakoj navigaciji stranice i nosi kontekst uređaja i sesije. Ne uključuje ecommerce objekat.

{
"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"
}
SvojstvoOpis
deviceDetektovani tip uređaja — Desktop, Android, iPhone, iPad ili slično
deviceAgentSirovi user agent string
osDetektovani operativni sistem — Windows, MacOS, Linux, UNIX
pathTrenutna putanja stranice
titleTrenutni naslov stranice
userIdIdentifikator autentifikovanog korisnika (izostavljen ako nije prijavljen)
startDateDatum prijave iz trenutne sesije pretrage
endDateDatum odjave iz trenutne sesije pretrage
guestsBroj gostiju iz trenutne sesije pretrage
roomsBroj soba iz trenutne sesije pretrage