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

Інтеграція 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, виберіть свій акаунт і перейдіть на вкладку Customizations. Вставте свій GTM Container ID у поле GTM та збережіть. Ваша інтеграція тепер активна.

  3. (Опційно) Додайте GA4 Measurement ID + API Secret для серверної обробки покупок

    Контейнери GTM працюють повністю у браузері гостя, тому завершене бронювання може бути пропущене, якщо гість закриває вкладку під час переадресації оплати. Якщо ваш контейнер завантажує GA4 property і ви хочете надійно фіксувати завершені бронювання, також введіть GA4 Measurement ID та Measurement Protocol API secret у розділі GTM. Wink тоді відправить подію purchase для цієї властивості серверно, як описано в керівництві GA4 Analytics Integration. Залиште ці поля порожніми, якщо вам потрібне лише відстеження у браузері.

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

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


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

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

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

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

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