Блог · PPC

dataLayer в GTM что это и зачем маркетологу

Объясняет маркетологу, зачем dataLayer между сайтом и тегами, и как собрать с разработкой словарь событий без хаоса в отчётах.

~2 мин чтения PPC

Сайт передаёт структурированные данные через dataLayer в Google Tag Manager и дальше в аналитику

Контекст и термины

Пакеты данных event ecommerce user из CMS в контейнер GTM
dataLayer — общий «язык» между сайтом и тегами. Без него маркетолог зависит от хардкода в каждой кнопке.

dataLayer — это JavaScript-массив на странице, куда сайт «кладёт» структурированные данные о действиях пользователя. Google Tag Manager читает этот слой и уже из него собирает теги GA4, Ads, пиксели. Официальное описание — в документации dataLayer.

Маркетологу dataLayer нужен не как «код ради кода», а как контракт с разработкой. Без него каждая новая кнопка или форма снова требует ручного вмешательства в шаблон, а отчёты в GA4 начинают разъезжаться.

  • event — имя события (generate_lead, purchase).
  • ecommerce / value / currency — деньги и состав корзины.
  • user / user_id — при необходимости для кросс-девайс (осторожно с PII).
  • page / content — тип шаблона, категория, author.

Что делать на практике

Чек-лист полей dataLayer которые маркетолог просит у разработчиков
Просите у разработки понятный словарь. event, value, currency, form_id, user_id при необходимости.
  1. Опишите 5–10 бизнес-действий (лид, покупка, звонок, подписка) и дайте каждому одно каноническое event.
  2. Передайте разработке таблицу полей. Что обязательно, что опционально, пример JSON для каждого действия.
  3. Договоритесь, что dataLayer.push происходит до или синхронно с действием, а не «когда удобно после редиректа».
  4. В GTM сделайте переменные Data Layer Variable под эти поля и триггеры Custom Event.
  5. Подключите GA4 Event tags к тем же именам, что в словаре конверсий.
  6. Зафиксируйте владельца словаря (маркетинг + разработка) и запретите «разовые» event-имена в тикетах.

Минимальный пример для лида:

dataLayer.push({
  event: 'generate_lead',
  form_id: 'contacts',
  lead_type: 'callback',
  value: 0,
  currency: 'UAH'
});

Типичные ошибки и риски

Пустые поля и сломанные теги из-за некорректного dataLayer
Типичные сбои. Разные имена событий, отсутствует value, push после клика тега, дубль dataLayer.
  • Разные названия одного действия (lead, formSubmit, generate_lead).
  • Push после того, как GTM уже отработал клик. Тег не видит новых данных.
  • Нет value/currency на purchase.
  • Двойной dataLayer (тема + плагин) или очистка массива скриптом «оптимизации».
  • Персональные данные в открытом виде (email, телефон) без нужды.
  • Маркетинг просит «все клики», вместо короткого списка бизнес-событий.

Как проверить результат

GTM Preview и GA4 DebugView с подтверждением данных из dataLayer
Сначала Preview в GTM, затем DebugView в GA4. Одно действие пользователя должно дать ожидаемый пакет данных.
  • GTM Preview. Во вкладке Data Layer после действия виден ваш объект с ожидаемыми ключами.
  • Tags Fired. Нужные теги сработали один раз, не дважды.
  • GA4 DebugView. То же событие с параметрами доходит до аналитики.
  • Сверьте с CRM/заявками за тестовый день. Порядок величин должен совпадать.
  • Регрессия после релиза фронта. Новый шаблон формы не «съел» push.

Заключение

dataLayer в GTM — мост между сайтом и измерением. Маркетологу он даёт стабильные события для GA4 и конверсий, разработке — чёткое ТЗ, бизнесу — меньше сюрпризов в отчётах. Начните со словаря событий, закройте ключевые поля и проверяйте Preview + DebugView. Если нужна схема dataLayer под лиды или e-commerce — команда SEO-Studio поможет с проектированием и внедрением.