Перейти до вмісту

Інтеграція GTM Analytics

Ви можете підключити будь-який контейнер Google Tag Manager (GTM) до Wink, ввівши його GTM Container ID у порталі Wink. Після підключення ваш контейнер автоматично завантажується для вашої власності і безпосередньо читає події бронювання Wink — охоплюючи повний шлях гостя від пошуку до завершеного бронювання. Поширеним випадком використання є контейнер Sojern для ретаргетингу та реклами, але будь-який контейнер GTM працює однаково.


  1. Отримайте свій GTM Container ID

    Отримайте свій GTM Container ID (формат GTM-XXXXXXX). Якщо він надається партнером, таким як Sojern, попросіть саме GTM Container ID — він відрізняється від pixel або tag ID.

  2. Введіть його в порталі Wink

    Увійдіть у app.wink.travel, виберіть свій акаунт і відкрийте налаштування кастомізації. У розділі Analytics & integrations вставте свій GTM Container ID у поле GTM Container ID та збережіть. Ваша інтеграція тепер активна.

  3. Підтвердіть з вашим провайдером

    Якщо ваш контейнер надається партнером, таким як Sojern, повідомте вашому менеджеру акаунту, що інтеграція активна. Вони можуть перевірити зі свого боку, що теги коректно спрацьовують на wink.travel для вашої власності і що дані надходять у ваш акаунт.


Що Wink робить зі свого боку

Section titled “Що Wink робить зі свого боку”

Для прозорості ось що Wink налаштовує, щоб ця інтеграція працювала:

  • Поле GTM Container ID доступне в розділі Analytics & integrations ваших налаштувань кастомізації. Коли ви вводите Container ID, Wink перевіряє формат (GTM-XXXXXXX) і безпечно зберігає його для вашої власності.
  • На кожній сторінці, де активна ваша власність у Wink, ваш контейнер безпосередньо вставляється в сторінку — використовуючи спільний window.dataLayer Wink — тому він завантажується разом із власним контейнером Wink без залежності від додаткових налаштувань. Це відбувається автоматично, без додаткової роботи команди Wink для кожної власності.
  • Ваш контейнер завантажується асинхронно, тому не впливає на швидкість завантаження сторінки для ваших гостей.
  • Власне відстеження Wink і ваш контейнер працюють паралельно, читаючи з одного спільного dataLayer. Кожна подія бронювання, яку відстежує Wink, одночасно доступна вашому контейнеру.
  • Коли ваша власність не переглядається — наприклад, коли гість переглядає інший готель на Wink — ваш контейнер не завантажується, тому отримує лише дані, що стосуються вашої власності.
  • Подія завершеного бронювання (purchase) спрацьовує у браузері на сторінці подяки. GTM Container ID — це чорний ящик — Wink не може знати, які теги всередині — тому Wink ніколи не викликає Google від свого імені з серверів. Натомість будь-який тег GA4 або конверсії у вашому контейнері отримує purchase на стороні клієнта, так само, як і всі інші події бронювання. Оскільки платіжний провайдер перенаправляє браузер гостя в інше місце і назад, Wink відновлює сесію аналітики, яку перервав редирект, перед спрацьовуванням purchase, щоб продаж зараховувався до оригінального візиту гостя, а не як нова сесія.

Wink надсилає події, сумісні з GA4, у dataLayer протягом усього шляху гостя. Ваш GTM контейнер читає з того самого спільного dataLayer, тому будь-який тригер або змінна, які ви налаштуєте, мають доступ до всіх описаних нижче властивостей.

Кожна подія відповідає стандартній структурі GA4 Enhanced Ecommerce: рядок верхнього рівня event і об’єкт ecommerce. Перед кожним пушем Wink очищує попередній ecommerce-пейлоад, щоб уникнути застарілих даних у нових тригерах.


Події шляху бронювання

Section titled “Події шляху бронювання”

Ці події спрацьовують автоматично, коли гість проходить через воронку бронювання. Налаштуйте свої тригери GTM як Custom Event тригери, що відповідають назвам подій нижче.

КрокПодіяКоли спрацьовує
1view_item_listЗавантажується сітка або список готелів
2view_itemГість переглядає сторінку конкретної власності
3add_to_cartГість додає номер у кошик
4begin_checkoutЗавантажується сторінка оформлення / оплати
5add_payment_infoГість обирає спосіб оплати
6loginГість автентифікується через SSO
7purchaseБронювання підтверджено
8refundБронювання скасовано

Спрацьовує, коли відображається сітка або список готелів.

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

Спрацьовує, коли гість переглядає конкретну власність.

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

Спрацьовує, коли гість додає номер у кошик.

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

Спрацьовує, коли завантажується сторінка оформлення / оплати.

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

coupon присутній лише, якщо застосовано код знижки.


Спрацьовує, коли гість обирає або підтверджує спосіб оплати.

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

Спрацьовує, коли бронювання підтверджено.

{
"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 присутні лише за наявності.


Спрацьовує, коли бронювання скасовано.

{
"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 присутні лише за наявності.


Усі події, що містять масив items, мають однакову схему елемента. Кожна властивість є необов’язковою, якщо не позначена як обов’язкова.

Ці поля розпізнаються GA4 і відображаються у стандартних звітах ecommerce без додаткових налаштувань.

ВластивістьТипОбов’язковеОпис
item_idstringТакУнікальний ідентифікатор номера або продукту
item_namestringНазва номера або продукту
affiliationstringНазва афіліата або продавця
couponstringЗастосований купон
currencystringКод валюти ISO 4217 (наприклад, USD)
creative_namestringНазва креативу в промоакції
creative_slotstringПозиція слоту промоакції
discountnumberСума знижки
indexnumberПозиція у списку (починається з 1)
item_brandstringНазва готелю або бренду
item_categorystringТип продукту — наприклад, GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA
item_list_idstringІдентифікатор списку, до якого належить елемент
item_list_namestringВідображувана назва списку
location_idstringГеокоординати власності
pricenumberЦіна за одиницю
promotion_idstringІдентифікатор промоакції
promotion_namestringВідображувана назва промоакції
quantitynumberКількість (за замовчуванням 1)

Користувацькі параметри на рівні елемента

Section titled “Користувацькі параметри на рівні елемента”

Ці параметри несуть контекст бронювання Wink. GA4 не відображає їх у звітах автоматично — потрібно зареєструвати кожен як користувацький вимір на рівні елемента у вашій властивості GA4, щоб він з’явився у звітах або дослідженнях. Інструкції див. у розділі Користувацькі виміри в GA4 нижче.

ВластивістьТипОпис
property_idstringІдентифікатор власності Wink
property_namestringВідображувана назва власності
property_brandstringБренд, до якого належить власність
property_chainstringГотельна мережа, до якої належить власність
property_url_namestringURL-дружній слаг власності
city_namestringМісто, де розташована власність
country_codestringКод країни ISO 3166-1 alpha-2
start_datestringДата заїзду у форматі YYYY-MM-DD
end_datestringДата виїзду у форматі YYYY-MM-DD
num_adultsnumberКількість дорослих у бронюванні
num_childrennumberКількість дітей у бронюванні
cancellation_policystringОдин із: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions
rate_plan_idstringІдентифікатор тарифного плану
room_rate_idstringІдентифікатор конкретного тарифу номера
room_rate_namestringВідображувана назва тарифу номера
num_perksnumberКількість бонусів, включених у тариф
room_locationstringОпис розташування номера (наприклад, Overwater, Garden)
room_viewstringОпис виду з номера (наприклад, Ocean, City)
room_classificationstringКласифікація або категорія номера (наприклад, Suite, Standard)
bed_typestringКонфігурація ліжка в номері (наприклад, King, Twin)

Користувацькі виміри в GA4

Section titled “Користувацькі виміри в GA4”

GA4 ігнорує користувацькі параметри елемента у звітах, доки ви явно не зареєструєте їх як користувацькі виміри на рівні елемента. Реєструвати потрібно лише ті параметри, які ви плануєте використовувати у звітах — не обов’язково всі 20.

  1. Відкрийте Custom Definitions

    У GA4 перейдіть у Admin (піктограма шестерні внизу зліва) → виберіть вашу власність → Data displayCustom definitions.

  2. Створіть новий користувацький вимір

    Натисніть Create custom dimensions.

  3. Заповніть деталі виміру

    • Dimension name — зрозуміла назва, що відображатиметься у звітах GA4 (див. таблицю нижче)
    • Scope — оберіть Item
    • Event parameter — точна назва параметра, як у dataLayer (див. таблицю нижче)
    • Description — необов’язково, але рекомендовано
  4. Збережіть і повторіть

    Натисніть Save, потім повторіть для кожного параметра, який хочете відстежувати.

Використовуйте таблицю нижче як довідник при створенні користувацьких вимірів. Значення Event parameter має точно співпадати — GA4 чутливий до регістру.

Назва виміруEvent parameterТип
Property IDproperty_idТекст
Property nameproperty_nameТекст
Property brandproperty_brandТекст
Property chainproperty_chainТекст
Property URL nameproperty_url_nameТекст
City namecity_nameТекст
Country codecountry_codeТекст
Check-in datestart_dateТекст
Check-out dateend_dateТекст
Number of adultsnum_adultsЧисло
Number of childrennum_childrenЧисло
Cancellation policycancellation_policyТекст
Rate plan IDrate_plan_idТекст
Room rate IDroom_rate_idТекст
Room rate nameroom_rate_nameТекст
Number of perksnum_perksЧисло
Room locationroom_locationТекст
Room viewroom_viewТекст
Room classificationroom_classificationТекст
Bed typebed_typeТекст

Додаткові доступні події

Section titled “Додаткові доступні події”

Наступні події доступні у dataLayer Wink, але не є частиною стандартної воронки бронювання. Вони можуть спрацьовувати внаслідок інших взаємодій на платформі.

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

Ця подія не містить пейлоаду 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": {}
}

Це користувацька подія 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Кількість номерів з поточної сесії пошуку