Інтеграція GTM Analytics
Ви можете підключити будь-який контейнер Google Tag Manager (GTM) до Wink, ввівши його GTM Container ID у порталі Wink. Після підключення ваш контейнер автоматично завантажується для вашої власності і безпосередньо читає події бронювання Wink — охоплюючи повний шлях гостя від пошуку до завершеного бронювання. Поширеним випадком використання є контейнер Sojern для ретаргетингу та реклами, але будь-який контейнер GTM працює однаково.
Що потрібно зробити
Section titled “Що потрібно зробити”-
Отримайте свій GTM Container ID
Отримайте свій GTM Container ID (формат
GTM-XXXXXXX). Якщо він надається партнером, таким як Sojern, попросіть саме GTM Container ID — він відрізняється від pixel або tag ID. -
Введіть його в порталі Wink
Увійдіть у app.wink.travel, виберіть свій акаунт і відкрийте налаштування кастомізації. У розділі Analytics & integrations вставте свій GTM Container ID у поле GTM Container ID та збережіть. Ваша інтеграція тепер активна.
-
Підтвердіть з вашим провайдером
Якщо ваш контейнер надається партнером, таким як Sojern, повідомте вашому менеджеру акаунту, що інтеграція активна. Вони можуть перевірити зі свого боку, що теги коректно спрацьовують на
wink.travelдля вашої власності і що дані надходять у ваш акаунт.
Що Wink робить зі свого боку
Section titled “Що Wink робить зі свого боку”Для прозорості ось що Wink налаштовує, щоб ця інтеграція працювала:
- Поле GTM Container ID доступне в розділі Analytics & integrations ваших налаштувань кастомізації. Коли ви вводите Container ID, Wink перевіряє формат (
GTM-XXXXXXX) і безпечно зберігає його для вашої власності. - На кожній сторінці, де активна ваша власність у Wink, ваш контейнер безпосередньо вставляється в сторінку — використовуючи спільний
window.dataLayerWink — тому він завантажується разом із власним контейнером Wink без залежності від додаткових налаштувань. Це відбувається автоматично, без додаткової роботи команди Wink для кожної власності. - Ваш контейнер завантажується асинхронно, тому не впливає на швидкість завантаження сторінки для ваших гостей.
- Власне відстеження Wink і ваш контейнер працюють паралельно, читаючи з одного спільного
dataLayer. Кожна подія бронювання, яку відстежує Wink, одночасно доступна вашому контейнеру. - Коли ваша власність не переглядається — наприклад, коли гість переглядає інший готель на Wink — ваш контейнер не завантажується, тому отримує лише дані, що стосуються вашої власності.
- Подія завершеного бронювання (
purchase) спрацьовує у браузері на сторінці подяки. GTM Container ID — це чорний ящик — Wink не може знати, які теги всередині — тому Wink ніколи не викликає Google від свого імені з серверів. Натомість будь-який тег GA4 або конверсії у вашому контейнері отримуєpurchaseна стороні клієнта, так само, як і всі інші події бронювання. Оскільки платіжний провайдер перенаправляє браузер гостя в інше місце і назад, Wink відновлює сесію аналітики, яку перервав редирект, перед спрацьовуваннямpurchase, щоб продаж зараховувався до оригінального візиту гостя, а не як нова сесія.
Посилання на DataLayer
Section titled “Посилання на DataLayer”Wink надсилає події, сумісні з GA4, у dataLayer протягом усього шляху гостя. Ваш GTM контейнер читає з того самого спільного dataLayer, тому будь-який тригер або змінна, які ви налаштуєте, мають доступ до всіх описаних нижче властивостей.
Кожна подія відповідає стандартній структурі GA4 Enhanced Ecommerce: рядок верхнього рівня event і об’єкт ecommerce. Перед кожним пушем Wink очищує попередній ecommerce-пейлоад, щоб уникнути застарілих даних у нових тригерах.
Події шляху бронювання
Section titled “Події шляху бронювання”Ці події спрацьовують автоматично, коли гість проходить через воронку бронювання. Налаштуйте свої тригери GTM як Custom Event тригери, що відповідають назвам подій нижче.
| Крок | Подія | Коли спрацьовує |
|---|---|---|
| 1 | view_item_list | Завантажується сітка або список готелів |
| 2 | view_item | Гість переглядає сторінку конкретної власності |
| 3 | add_to_cart | Гість додає номер у кошик |
| 4 | begin_checkout | Завантажується сторінка оформлення / оплати |
| 5 | add_payment_info | Гість обирає спосіб оплати |
| 6 | login | Гість автентифікується через SSO |
| 7 | purchase | Бронювання підтверджено |
| 8 | refund | Бронювання скасовано |
view_item_list
Section titled “view_item_list”Спрацьовує, коли відображається сітка або список готелів.
{ "event": "view_item_list", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_item
Section titled “view_item”Спрацьовує, коли гість переглядає конкретну власність.
{ "event": "view_item", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}add_to_cart
Section titled “add_to_cart”Спрацьовує, коли гість додає номер у кошик.
{ "event": "add_to_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}begin_checkout
Section titled “begin_checkout”Спрацьовує, коли завантажується сторінка оформлення / оплати.
{ "event": "begin_checkout", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "items": [ ] }}coupon присутній лише, якщо застосовано код знижки.
add_payment_info
Section titled “add_payment_info”Спрацьовує, коли гість обирає або підтверджує спосіб оплати.
{ "event": "add_payment_info", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "payment_type": "STRIPE", "items": [ ] }}payment_type заповнюється типом платіжного провайдера. coupon присутній лише, якщо застосовано код знижки.
Спрацьовує, коли гість автентифікується через єдиний вхід (SSO).
{ "event": "login", "ecommerce": { "method": "IAM" }}purchase
Section titled “purchase”Спрацьовує, коли бронювання підтверджено.
{ "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 — унікальний ідентифікатор контракту бронювання. coupon, shipping і tax присутні лише за наявності.
refund
Section titled “refund”Спрацьовує, коли бронювання скасовано.
{ "event": "refund", "ecommerce": { "currency": "USD", "transaction_id": "bc-a1b2c3d4", "value": 299.00, "coupon": "SUMMER10", "shipping": 0.00, "tax": 0.00, "items": [ ] }}transaction_id співпадає з подією purchase для того ж бронювання. coupon, shipping і tax присутні лише за наявності.
Властивості елементів
Section titled “Властивості елементів”Усі події, що містять масив items, мають однакову схему елемента. Кожна властивість є необов’язковою, якщо не позначена як обов’язкова.
Стандартні поля GA4
Section titled “Стандартні поля GA4”Ці поля розпізнаються GA4 і відображаються у стандартних звітах ecommerce без додаткових налаштувань.
| Властивість | Тип | Обов’язкове | Опис |
|---|---|---|---|
item_id | string | Так | Унікальний ідентифікатор номера або продукту |
item_name | string | — | Назва номера або продукту |
affiliation | string | — | Назва афіліата або продавця |
coupon | string | — | Застосований купон |
currency | string | — | Код валюти ISO 4217 (наприклад, USD) |
creative_name | string | — | Назва креативу в промоакції |
creative_slot | string | — | Позиція слоту промоакції |
discount | number | — | Сума знижки |
index | number | — | Позиція у списку (починається з 1) |
item_brand | string | — | Назва готелю або бренду |
item_category | string | — | Тип продукту — наприклад, GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA |
item_list_id | string | — | Ідентифікатор списку, до якого належить елемент |
item_list_name | string | — | Відображувана назва списку |
location_id | string | — | Геокоординати власності |
price | number | — | Ціна за одиницю |
promotion_id | string | — | Ідентифікатор промоакції |
promotion_name | string | — | Відображувана назва промоакції |
quantity | number | — | Кількість (за замовчуванням 1) |
Користувацькі параметри на рівні елемента
Section titled “Користувацькі параметри на рівні елемента”Ці параметри несуть контекст бронювання Wink. GA4 не відображає їх у звітах автоматично — потрібно зареєструвати кожен як користувацький вимір на рівні елемента у вашій властивості GA4, щоб він з’явився у звітах або дослідженнях. Інструкції див. у розділі Користувацькі виміри в GA4 нижче.
| Властивість | Тип | Опис |
|---|---|---|
property_id | string | Ідентифікатор власності Wink |
property_name | string | Відображувана назва власності |
property_brand | string | Бренд, до якого належить власність |
property_chain | string | Готельна мережа, до якої належить власність |
property_url_name | string | URL-дружній слаг власності |
city_name | string | Місто, де розташована власність |
country_code | string | Код країни ISO 3166-1 alpha-2 |
start_date | string | Дата заїзду у форматі YYYY-MM-DD |
end_date | string | Дата виїзду у форматі YYYY-MM-DD |
num_adults | number | Кількість дорослих у бронюванні |
num_children | number | Кількість дітей у бронюванні |
cancellation_policy | string | Один із: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions |
rate_plan_id | string | Ідентифікатор тарифного плану |
room_rate_id | string | Ідентифікатор конкретного тарифу номера |
room_rate_name | string | Відображувана назва тарифу номера |
num_perks | number | Кількість бонусів, включених у тариф |
room_location | string | Опис розташування номера (наприклад, Overwater, Garden) |
room_view | string | Опис виду з номера (наприклад, Ocean, City) |
room_classification | string | Класифікація або категорія номера (наприклад, Suite, Standard) |
bed_type | string | Конфігурація ліжка в номері (наприклад, King, Twin) |
Користувацькі виміри в GA4
Section titled “Користувацькі виміри в GA4”GA4 ігнорує користувацькі параметри елемента у звітах, доки ви явно не зареєструєте їх як користувацькі виміри на рівні елемента. Реєструвати потрібно лише ті параметри, які ви плануєте використовувати у звітах — не обов’язково всі 20.
-
Відкрийте Custom Definitions
У GA4 перейдіть у Admin (піктограма шестерні внизу зліва) → виберіть вашу власність → Data display → Custom definitions.
-
Створіть новий користувацький вимір
Натисніть Create custom dimensions.
-
Заповніть деталі виміру
- Dimension name — зрозуміла назва, що відображатиметься у звітах GA4 (див. таблицю нижче)
- Scope — оберіть Item
- Event parameter — точна назва параметра, як у dataLayer (див. таблицю нижче)
- Description — необов’язково, але рекомендовано
-
Збережіть і повторіть
Натисніть Save, потім повторіть для кожного параметра, який хочете відстежувати.
Використовуйте таблицю нижче як довідник при створенні користувацьких вимірів. Значення Event parameter має точно співпадати — GA4 чутливий до регістру.
| Назва виміру | Event parameter | Тип |
|---|---|---|
| Property ID | property_id | Текст |
| Property name | property_name | Текст |
| Property brand | property_brand | Текст |
| Property chain | property_chain | Текст |
| Property URL name | property_url_name | Текст |
| City name | city_name | Текст |
| Country code | country_code | Текст |
| Check-in date | start_date | Текст |
| Check-out date | end_date | Текст |
| Number of adults | num_adults | Число |
| Number of children | num_children | Число |
| Cancellation policy | cancellation_policy | Текст |
| Rate plan ID | rate_plan_id | Текст |
| Room rate ID | room_rate_id | Текст |
| Room rate name | room_rate_name | Текст |
| Number of perks | num_perks | Число |
| Room location | room_location | Текст |
| Room view | room_view | Текст |
| Room classification | room_classification | Текст |
| Bed type | bed_type | Текст |
Додаткові доступні події
Section titled “Додаткові доступні події”Наступні події доступні у dataLayer Wink, але не є частиною стандартної воронки бронювання. Вони можуть спрацьовувати внаслідок інших взаємодій на платформі.
add_to_wishlist
Section titled “add_to_wishlist”{ "event": "add_to_wishlist", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}remove_from_cart
Section titled “remove_from_cart”{ "event": "remove_from_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}select_item
Section titled “select_item”{ "event": "select_item", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_cart
Section titled “view_cart”{ "event": "view_cart"}Ця подія не містить пейлоаду ecommerce.
view_promotion
Section titled “view_promotion”{ "event": "view_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}select_promotion
Section titled “select_promotion”{ "event": "select_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}search
Section titled “search”{ "event": "search", "ecommerce": { "search_term": "beachfront resort" }}select_content
Section titled “select_content”{ "event": "select_content", "ecommerce": { "content_type": "hotel", "content_id": "prop_12345" }}{ "event": "share", "ecommerce": { "method": "copy_link", "content_type": "hotel", "item_id": "prop_12345" }}sign_up
Section titled “sign_up”{ "event": "sign_up", "ecommerce": { "method": "email" }}generate_lead
Section titled “generate_lead”{ "event": "generate_lead", "ecommerce": { "currency": "USD", "value": 0.00 }}join_group
Section titled “join_group”{ "event": "join_group", "ecommerce": { "group_id": "group_abc" }}earn_virtual_currency
Section titled “earn_virtual_currency”{ "event": "earn_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 100 }}spend_virtual_currency
Section titled “spend_virtual_currency”{ "event": "spend_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 50, "item_name": "Room Upgrade" }}level_start
Section titled “level_start”{ "event": "level_start", "ecommerce": { "level_name": "Gold" }}level_end
Section titled “level_end”{ "event": "level_end", "ecommerce": { "level_name": "Gold", "success": true }}level_up
Section titled “level_up”{ "event": "level_up", "ecommerce": { "level": 2, "character": "traveler" }}post_score
Section titled “post_score”{ "event": "post_score", "ecommerce": { "score": 980, "level": 2, "character": "traveler" }}unlock_achievement
Section titled “unlock_achievement”{ "event": "unlock_achievement", "ecommerce": { "achievement_id": "first_booking" }}tutorial_begin
Section titled “tutorial_begin”{ "event": "tutorial_begin", "ecommerce": {}}tutorial_complete
Section titled “tutorial_complete”{ "event": "tutorial_complete", "ecommerce": {}}virtualPageView
Section titled “virtualPageView”Це користувацька подія Wink — не частина стандартного набору подій GA4. Вона пушиться при кожній навігації сторінкою і містить контекст пристрою та сесії. Об’єкт 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"}| Властивість | Опис |
|---|---|
device | Виявлений тип пристрою — Desktop, Android, iPhone, iPad або подібний |
deviceAgent | Сировий рядок user agent |
os | Виявлена операційна система — Windows, MacOS, Linux, UNIX |
path | Поточний шлях сторінки |
title | Поточна назва сторінки |
userId | Ідентифікатор автентифікованого користувача (відсутній, якщо не увійшли) |
startDate | Дата заїзду з поточної сесії пошуку |
endDate | Дата виїзду з поточної сесії пошуку |
guests | Кількість гостей з поточної сесії пошуку |
rooms | Кількість номерів з поточної сесії пошуку |
