Перейти к содержимому

Интеграция Sojern Pixel

Если вы проводите рекламные кампании через Sojern, вы можете подключить ваш аккаунт Sojern к Wink, введя ваш Sojern GTM Container ID в портале Wink. После подключения пиксель Sojern автоматически срабатывает для вашего объекта — охватывая весь путь гостя от поиска до завершённого бронирования.


  1. Получите ваш GTM Container ID от Sojern

    Свяжитесь с вашим менеджером аккаунта Sojern и запросите ваш GTM Container ID. Он имеет формат GTM-XXXXXXX. Это отличается от вашего Sojern Pixel ID — убедитесь, что вы запрашиваете именно GTM Container ID.

  2. Введите его в портале Wink

    Войдите в my.wink.travel, выберите ваш аккаунт и перейдите на вкладку Customizations. Вставьте ваш Sojern GTM Container ID в поле Sojern и сохраните. Интеграция теперь активна.

  3. Подтвердите с вашим менеджером аккаунта Sojern

    Сообщите вашему менеджеру аккаунта Sojern, что интеграция активна. Они смогут проверить со своей стороны, что пиксель корректно срабатывает на wink.travel для вашего объекта и что данные поступают в ваш аккаунт Sojern.


Для прозрачности, вот что Wink настраивает, чтобы эта интеграция работала:

  • Поле Sojern GTM Container ID доступно на вкладке Customizations в вашем портале Wink. При вводе Container ID Wink проверяет формат и надёжно сохраняет его для вашего объекта.
  • На каждой странице, где активен ваш объект в Wink, ваш Sojern GTM Container ID внедряется в страницу, и система управления тегами Wink динамически загружает ваш Sojern контейнер вместе со своим собственным. Это происходит автоматически — никаких ручных действий со стороны Wink для каждого объекта не требуется.
  • Ваш Sojern контейнер загружается асинхронно, что не влияет на производительность загрузки страницы для ваших гостей.
  • Отслеживание Wink и пиксель Sojern работают параллельно, используя одни и те же общие данные событий. Каждое событие бронирования, которое отслеживает Wink, одновременно доступно вашему Sojern контейнеру.
  • Когда ваш объект не просматривается — например, когда гость просматривает другой отель на Wink — ваш Sojern контейнер не загружается. Это гарантирует, что Sojern получает только данные, относящиеся к вашему объекту.

Wink отправляет события, совместимые с GA4, в dataLayer на протяжении всего пути гостя. Ваш GTM контейнер читает из того же общего dataLayer, поэтому любой триггер или переменная, которые вы настроите, имеют доступ ко всем описанным ниже свойствам.

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


Эти события срабатывают автоматически, когда гость проходит через воронку бронирования. Настройте ваши триггеры 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 присутствует только при применении кода скидки.


Срабатывает, когда гость аутентифицируется через единую систему входа.

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

Пользовательские параметры на уровне элемента

Заголовок раздела «Пользовательские параметры на уровне элемента»

Эти параметры содержат контекст бронирования, специфичный для 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 игнорирует пользовательские параметры элементов в отчётах, пока вы явно не зарегистрируете их как пользовательские измерения с областью элемента. Регистрировать нужно только те параметры, которые вы планируете использовать в отчётах — не обязательно регистрировать все 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Текст

Следующие события доступны в 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Количество номеров из текущей сессии поиска