Back to archive
10.15Веб-аналитика и GTM

Универсальная спецификация dataLayer: Meta, Google, Yandex, TikTok

Описание задачи

Чтобы не заставлять Frontend-команду писать отдельный код под каждую рекламную площадку, мы внедряем Единый Универсальный DataLayer. Один этот пуш позволит аналитикам в GTM настроить:

  • Meta Ads: CAPI (Server-side) + Value-Based Optimization + Дедупликация.
  • Google Ads: Enhanced Conversions (Улучшенные конверсии) + Передача ценности.
  • TikTok Ads: Advanced Matching + События конверсий с ценностью.
  • Yandex Metrica: Передача электронной коммерции / ценности цели + Офлайн-конверсии.

[!NOTE] Имена самих событий (event) менять не нужно. Мы используем текущие события, просто добавляем в них стандартизированный набор параметров (Payload).


Универсальная структура (Payload)

В каждый ключевой пуш в dataLayer необходимо добавить следующие параметры. Эта структура учитывает требования всех 4 платформ:

window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': '<ваше_существующее_имя_события>', // НЕ МЕНЯЕМ (остается триггером для GTM)
// 1. Блок электронной коммерции / Ценности (Google, Yandex E-com, Meta VBO, TikTok)
'value': 250000, // Number: LTV, лимит или сумма комиссии
'currency': 'KZT', // String: Всегда 'KZT'
'content_name': 'premium_acc', // String: Внутреннее имя продукта/тарифа
// 2. Блок дедупликации (Критично для Meta CAPI, Google Transaction ID, TikTok Event ID)
// Это сквозной уникальный ID, который не должен меняться при переходе из онлайна в оффлайн
'transaction_id': 'REQ-12345678',
// 3. Блок пользовательских данных (Критично для Google Enhanced Conversions, Meta EMQ, TikTok Advanced Matching)
// GTM автоматически захеширует эти данные перед отправкой в рекламные сети.
'user_data': {
'email': 'client@email.com', // String: Email пользователя в открытом виде
'phone': '77012345678', // String: Телефон строго E.164 (только цифры, с кодом страны, без '+')
'external_id': 'crm_123', // String: Уникальный ID клиента в вашей БД (не номер заявки!)
// Опциональные параметры для максимального "Match Rate" в Google и Meta
'address': {
'first_name': 'Иван',
'last_name': 'Иванов',
'city': 'Almaty',
'region': 'ALA',
'country': 'KZ'
}
}
});

Примеры реализации по шагам воронки

1. Успешное открытие / Одобрение кредита (Purchase)

Это финальный шаг, ради которого работают все рекламные кампании. Существующие события: acquiring_open_success, business_credit_open_success и т.д.

Пример:

window.dataLayer.push({
'event': 'ip_registration_open_success',
'value': 150000,
'currency': 'KZT',
'content_name': 'ip_registration',
'transaction_id': 'ACC-998877',
'user_data': {
'phone': '77001112233',
'address': {
'first_name': 'Dilshat'
}
}
});

2. Успешная заявка (Lead)

Отправка формы на продукт, где финальное решение принимается позже (например, оффлайн или скорингом). Существующие события: credit_limit_form_apply, mortgage_loan_form_apply и т.д.

Пример:

window.dataLayer.push({
'event': 'credit_limit_form_apply',
'value': 5000000, // Запрашиваемый лимит
'currency': 'KZT',
'content_name': 'credit_limit',
'transaction_id': 'REQ-112233',
'user_data': {
'phone': '77001112233',
'email': 'director@company.kz'
}
});

3. Промежуточный шаг / СМС-валидация (CompleteRegistration)

Прохождение OTP валидации. Существующие события: online_bcc_business_credit_otp_success_new, kls_otp_success и т.д.

Пример:

window.dataLayer.push({
'event': 'online_bcc_business_credit_otp_success_new',
'transaction_id': 'REQ-112233', // ТОТ ЖЕ САМЫЙ ID, который будет на финале!
'user_data': {
'phone': '77001112233'
}
});

Как это маппится в GTM (Для Аналитика)

Благодаря этой структуре, Web-аналитику больше не нужно писать Custom JS код для каждой площадки. Все переменные создаются 1 раз как Data Layer Variable (DLV):

  • DLV - transaction_id — отправляется в Meta как Event ID, в Google Ads как Transaction ID, в TikTok как Event ID.
  • DLV - value — отправляется как ценность транзакции во все 4 площадки.
  • Блок user_data — полностью совместим с галочкой "Provide user data from data layer" в официальных тегах Google Ads и Floodlight, а также легко вставляется в поля User Data для тегов Stape Meta CAPI и TikTok Pixel.