Integrace GTM Analytics
Můžete připojit jakýkoli kontejner Google Tag Manager (GTM) k Wink zadáním jeho GTM Container ID do portálu Wink. Po připojení se váš kontejner automaticky načte pro vaši nemovitost a přímo čte rezervační události Wink — pokrývá celou cestu hosta od vyhledávání až po dokončenou rezervaci. Běžným případem použití je kontejner Sojern pro retargeting a reklamu, ale jakýkoli GTM kontejner funguje stejně.
Co je potřeba udělat
Sekce “Co je potřeba udělat”-
Získejte své GTM Container ID
Získejte své GTM Container ID (formát
GTM-XXXXXXX). Pokud pochází od partnera, jako je Sojern, požádejte konkrétně o GTM Container ID — liší se od pixelu nebo tag ID. -
Zadejte ho do portálu Wink
Přihlaste se na app.wink.travel, vyberte svůj účet a přejděte na záložku Customizations. Vložte své GTM Container ID do pole GTM a uložte. Vaše integrace je nyní aktivní.
-
(Volitelné) Přidejte GA4 Measurement ID + API Secret pro serverové zpracování nákupů
GTM kontejnery běží zcela v prohlížeči hosta, takže dokončená rezervace může být ztracena, pokud host zavře kartu během přesměrování na platbu. Pokud váš kontejner načítá GA4 property a chcete spolehlivě zaznamenávat dokončené rezervace, zadejte také GA4 Measurement ID a Measurement Protocol API secret v sekci GTM. Wink pak odešle
purchasepro tuto property serverově, přesně jak je popsáno v průvodci GA4 Analytics Integration. Pokud potřebujete pouze sledování v prohlížeči, nechte tyto údaje prázdné. -
Potvrďte u svého poskytovatele
Pokud váš kontejner pochází od partnera, jako je Sojern, informujte svého manažera účtu, že je integrace aktivní. Mohou ověřit na své straně, že tagy správně spouštějí na
wink.travelpro vaši nemovitost a že data proudí do vašeho účtu.
Co Wink dělá na naší straně
Sekce “Co Wink dělá na naší straně”Pro transparentnost zde uvádíme, co Wink nastavuje, aby tato integrace fungovala:
- Pole GTM Container ID je dostupné v záložce Customizations ve vašem portálu Wink. Po zadání Container ID Wink ověří formát (
GTM-XXXXXXX) a bezpečně ho uloží k vaší nemovitosti. - Na každé stránce, kde je vaše nemovitost aktivní na Wink, je váš kontejner přímo vložen do stránky — sdílí Winkův vlastní
window.dataLayer— takže se načítá paralelně s Winkovým vlastním kontejnerem bez závislosti na další konfiguraci. To probíhá automaticky, bez nutnosti práce ze strany Wink týmu pro každou nemovitost. - Váš kontejner se načítá asynchronně, takže neovlivňuje výkon načítání stránky pro vaše hosty.
- Winkovo vlastní sledování a váš kontejner běží paralelně, čtou ze stejného sdíleného
dataLayer. Každá rezervační událost, kterou Wink sleduje, je zároveň dostupná vašemu kontejneru. - Když vaše nemovitost není zobrazena — například když host prohlíží jiný hotel na Wink — váš kontejner se nenačítá, takže přijímá pouze data relevantní pro vaši nemovitost.
- Pokud jste zadali GA4 Measurement ID + API secret (krok 3 výše),
purchasepro dokončené rezervace je navíc odesílán serverově přes GA4 Measurement Protocol, takže se prodej zaznamená i v případě, že host nikdy nevrátí na potvrzovací stránku.
Reference DataLayer
Sekce “Reference DataLayer”Wink posílá GA4-kompatibilní události do dataLayer během celé cesty hosta. Váš GTM kontejner čte ze stejného sdíleného dataLayer, takže jakýkoli trigger nebo proměnná, kterou nastavíte, má přístup ke všem níže popsaným vlastnostem.
Každá událost odpovídá standardní GA4 Enhanced Ecommerce struktuře: řetězec event na nejvyšší úrovni a objekt ecommerce. Před každým push Wink vymaže předchozí ecommerce data, aby zabránil přenosu zastaralých dat do nových triggerů.
Události cesty rezervace
Sekce “Události cesty rezervace”Tyto události se spouštějí automaticky, jak host postupuje rezervačním procesem. Nastavte své GTM triggery jako Custom Event triggery odpovídající níže uvedeným názvům událostí.
| Krok | Událost | Kdy se spouští |
|---|---|---|
| 1 | view_item_list | Načtení mřížky nebo seznamu hotelových inventářů |
| 2 | view_item | Host si prohlíží konkrétní stránku nemovitosti |
| 3 | add_to_cart | Host přidá pokoj do nákupního košíku |
| 4 | begin_checkout | Načtení stránky pokladny / platby |
| 5 | add_payment_info | Host vybere platební metodu |
| 6 | login | Host se autentizuje přes SSO |
| 7 | purchase | Rezervace je potvrzena |
| 8 | refund | Rezervace je zrušena |
view_item_list
Sekce “view_item_list”Spouští se při vykreslení mřížky nebo seznamu hotelových inventářů.
{ "event": "view_item_list", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_item
Sekce “view_item”Spouští se, když host prohlíží konkrétní nemovitost.
{ "event": "view_item", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}add_to_cart
Sekce “add_to_cart”Spouští se, když host přidá pokoj do košíku.
{ "event": "add_to_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}begin_checkout
Sekce “begin_checkout”Spouští se při načtení stránky pokladny / platby.
{ "event": "begin_checkout", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "items": [ ] }}coupon je přítomen pouze, pokud byl použit slevový kód.
add_payment_info
Sekce “add_payment_info”Spouští se, když host vybere nebo potvrdí platební metodu.
{ "event": "add_payment_info", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "payment_type": "STRIPE", "items": [ ] }}payment_type je vyplněno podle typu platebního zprostředkovatele. coupon je přítomen pouze, pokud byl použit slevový kód.
login
Sekce “login”Spouští se, když se host autentizuje přes single sign-on.
{ "event": "login", "ecommerce": { "method": "IAM" }}purchase
Sekce “purchase”Spouští se, když je rezervace potvrzena.
{ "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 jedinečný identifikátor rezervační smlouvy. coupon, shipping a tax jsou přítomny pouze pokud jsou relevantní.
refund
Sekce “refund”Spouští se, když je rezervace zrušena.
{ "event": "refund", "ecommerce": { "currency": "USD", "transaction_id": "bc-a1b2c3d4", "value": 299.00, "coupon": "SUMMER10", "shipping": 0.00, "tax": 0.00, "items": [ ] }}transaction_id odpovídá události purchase pro stejnou rezervaci. coupon, shipping a tax jsou přítomny pouze pokud jsou relevantní.
Vlastnosti položek
Sekce “Vlastnosti položek”Všechny události obsahující pole items sdílejí stejnou strukturu položky. Každá vlastnost je volitelná, pokud není označena jako povinná.
Standardní pole GA4
Sekce “Standardní pole GA4”Tato pole GA4 nativně rozpoznává a zobrazují se ve standardních ecommerce reportech bez další konfigurace.
| Vlastnost | Typ | Povinné | Popis |
|---|---|---|---|
item_id | string | Ano | Jedinečný identifikátor pokoje nebo produktu |
item_name | string | — | Název pokoje nebo produktu |
affiliation | string | — | Název affiliate nebo prodejce |
coupon | string | — | Použitý slevový kód na položku |
currency | string | — | ISO 4217 kód měny (např. USD) |
creative_name | string | — | Název kreativní reklamy v kampani |
creative_slot | string | — | Pozice slotu kreativní reklamy |
discount | number | — | Výše slevy |
index | number | — | Pozice v seznamu (1-based) |
item_brand | string | — | Název hotelu nebo značky |
item_category | string | — | Typ produktu — např. GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA |
item_list_id | string | — | Identifikátor seznamu, ke kterému položka patří |
item_list_name | string | — | Zobrazovaný název seznamu |
location_id | string | — | Geokoordináty nemovitosti |
price | number | — | Jednotková cena |
promotion_id | string | — | Identifikátor propagace |
promotion_name | string | — | Zobrazovaný název propagace |
quantity | number | — | Množství (výchozí 1) |
Vlastní parametry specifické pro položky
Sekce “Vlastní parametry specifické pro položky”Tyto parametry nesou kontext rezervace specifický pro Wink. GA4 je automaticky nezobrazuje v reportech — musíte je zaregistrovat jako vlastní dimenze na úrovni položky ve své GA4 property, aby se zobrazily v přehledech nebo standardních reportech. Viz níže Custom Dimensions in GA4 pro instrukce.
| Vlastnost | Typ | Popis |
|---|---|---|
property_id | string | Identifikátor nemovitosti ve Wink |
property_name | string | Zobrazovaný název nemovitosti |
property_brand | string | Značka, ke které nemovitost patří |
property_chain | string | Řetězec, ke kterému nemovitost patří |
property_url_name | string | URL-friendly slug nemovitosti |
city_name | string | Město, kde se nemovitost nachází |
country_code | string | ISO 3166-1 alpha-2 kód země |
start_date | string | Datum příjezdu ve formátu YYYY-MM-DD |
end_date | string | Datum odjezdu ve formátu YYYY-MM-DD |
num_adults | number | Počet dospělých v rezervaci |
num_children | number | Počet dětí v rezervaci |
cancellation_policy | string | Jeden z: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions |
rate_plan_id | string | Identifikátor sazebního plánu |
room_rate_id | string | Identifikátor konkrétní sazby pokoje |
room_rate_name | string | Zobrazovaný název sazby pokoje |
num_perks | number | Počet výhod zahrnutých v sazbě |
room_location | string | Popis umístění pokoje (např. Overwater, Garden) |
room_view | string | Popis výhledu z pokoje (např. Ocean, City) |
room_classification | string | Klasifikace nebo úroveň pokoje (např. Suite, Standard) |
bed_type | string | Konfigurace postele v pokoji (např. King, Twin) |
Vlastní dimenze v GA4
Sekce “Vlastní dimenze v GA4”GA4 ignoruje vlastní parametry položek v reportech, dokud je explicitně nezaregistrujete jako vlastní dimenze na úrovni položky. Registrovat musíte pouze parametry, které chcete v reportech používat — není nutné registrovat všech 20.
-
Otevřete Custom Definitions
V GA4 přejděte do Admin (ikona ozubeného kola vlevo dole) → vyberte svou property → Data display → Custom definitions.
-
Vytvořte novou vlastní dimenzi
Klikněte na Create custom dimensions.
-
Vyplňte detaily dimenze
- Dimension name — čitelný název, který se zobrazí v GA4 reportech (viz tabulka níže)
- Scope — vyberte Item
- Event parameter — přesný název parametru, jak je v dataLayer (viz tabulka níže)
- Description — volitelné, ale doporučené
-
Uložte a opakujte
Klikněte na Save a opakujte pro každý parametr, který chcete sledovat.
Použijte následující tabulku jako referenci při vytváření vlastních dimenzí. Hodnota Event parameter musí přesně odpovídat — GA4 rozlišuje velká a malá písmena.
| Název dimenze | Event parameter | Typ |
|---|---|---|
| Property ID | property_id | Text |
| Název nemovitosti | property_name | Text |
| Značka nemovitosti | property_brand | Text |
| Řetězec nemovitosti | property_chain | Text |
| URL název nemovitosti | property_url_name | Text |
| Název města | city_name | Text |
| Kód země | country_code | Text |
| Datum příjezdu | start_date | Text |
| Datum odjezdu | end_date | Text |
| Počet dospělých | num_adults | Number |
| Počet dětí | num_children | Number |
| Storno podmínky | cancellation_policy | Text |
| ID sazebního plánu | rate_plan_id | Text |
| ID sazby pokoje | room_rate_id | Text |
| Název sazby pokoje | room_rate_name | Text |
| Počet výhod | num_perks | Number |
| Umístění pokoje | room_location | Text |
| Výhled z pokoje | room_view | Text |
| Klasifikace pokoje | room_classification | Text |
| Typ postele | bed_type | Text |
Další dostupné události
Sekce “Další dostupné události”Následující události jsou dostupné v Wink dataLayer, ale nejsou součástí standardního rezervačního trychtýře. Mohou být spuštěny jinými interakcemi na platformě.
add_to_wishlist
Sekce “add_to_wishlist”{ "event": "add_to_wishlist", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}remove_from_cart
Sekce “remove_from_cart”{ "event": "remove_from_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}select_item
Sekce “select_item”{ "event": "select_item", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_cart
Sekce “view_cart”{ "event": "view_cart"}Tato událost neobsahuje ecommerce payload.
view_promotion
Sekce “view_promotion”{ "event": "view_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}select_promotion
Sekce “select_promotion”{ "event": "select_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}search
Sekce “search”{ "event": "search", "ecommerce": { "search_term": "beachfront resort" }}select_content
Sekce “select_content”{ "event": "select_content", "ecommerce": { "content_type": "hotel", "content_id": "prop_12345" }}share
Sekce “share”{ "event": "share", "ecommerce": { "method": "copy_link", "content_type": "hotel", "item_id": "prop_12345" }}sign_up
Sekce “sign_up”{ "event": "sign_up", "ecommerce": { "method": "email" }}generate_lead
Sekce “generate_lead”{ "event": "generate_lead", "ecommerce": { "currency": "USD", "value": 0.00 }}join_group
Sekce “join_group”{ "event": "join_group", "ecommerce": { "group_id": "group_abc" }}earn_virtual_currency
Sekce “earn_virtual_currency”{ "event": "earn_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 100 }}spend_virtual_currency
Sekce “spend_virtual_currency”{ "event": "spend_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 50, "item_name": "Room Upgrade" }}level_start
Sekce “level_start”{ "event": "level_start", "ecommerce": { "level_name": "Gold" }}level_end
Sekce “level_end”{ "event": "level_end", "ecommerce": { "level_name": "Gold", "success": true }}level_up
Sekce “level_up”{ "event": "level_up", "ecommerce": { "level": 2, "character": "traveler" }}post_score
Sekce “post_score”{ "event": "post_score", "ecommerce": { "score": 980, "level": 2, "character": "traveler" }}unlock_achievement
Sekce “unlock_achievement”{ "event": "unlock_achievement", "ecommerce": { "achievement_id": "first_booking" }}tutorial_begin
Sekce “tutorial_begin”{ "event": "tutorial_begin", "ecommerce": {}}tutorial_complete
Sekce “tutorial_complete”{ "event": "tutorial_complete", "ecommerce": {}}virtualPageView
Sekce “virtualPageView”Toto je vlastní událost Wink — není součástí standardní sady GA4 událostí. Je posílána při každé navigaci na stránku a nese kontext zařízení a relace. Neobsahuje objekt 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"}| Vlastnost | Popis |
|---|---|
device | Detekovaný typ zařízení — Desktop, Android, iPhone, iPad nebo podobně |
deviceAgent | Surový user agent string |
os | Detekovaný operační systém — Windows, MacOS, Linux, UNIX |
path | Aktuální cesta stránky |
title | Aktuální název stránky |
userId | Identifikátor autentizovaného uživatele (vynecháno, pokud není přihlášen) |
startDate | Datum příjezdu z aktuální vyhledávací relace |
endDate | Datum odjezdu z aktuální vyhledávací relace |
guests | Počet hostů z aktuální vyhledávací relace |
rooms | Počet pokojů z aktuální vyhledávací relace |
