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

Google Tag Manager: операционная система маркетинговых тегов

TL;DR

  • GTM - это система управления тегами. Она не заменяет аналитику, пиксели или CRM, а управляет тем, когда и с какими данными они срабатывают.
  • Любая настройка в GTM собирается из трех деталей: тег, триггер, переменная.
  • DataLayer - самый чистый способ передавать бизнес-данные в GTM. DOM-клики и CSS-селекторы годятся только для простых задач и быстро ломаются.
  • Preview/Debug и версионирование важнее скорости. Нельзя публиковать контейнер без тестового сценария.
  • Доступ на публикацию в GTM должен быть ограничен. Ошибка в контейнере может сломать аналитику, пиксели, consent и иногда сам сайт.

1. Что это такое

Google Tag Manager - это контейнер, через который команда управляет маркетинговыми и аналитическими скриптами. Разработчик один раз ставит GTM-код на сайт, а дальше аналитик или performance-специалист может добавлять Google tag, Meta Pixel, TikTok Pixel, Hotjar, call tracking, custom events и другие теги через интерфейс.

Но GTM не магия. Он не "сам все отслеживает". Он просто дает управляемый слой между сайтом и внешними системами.

Хороший GTM-контейнер похож на аккуратный технический шкаф: подписанные кабели, понятные правила, журнал изменений. Плохой контейнер похож на свалку скриптов: никто не знает, что стреляет, зачем, кому принадлежит и можно ли это удалить.

2. Главная логика: тег, триггер, переменная

В GTM есть три базовые сущности.

СущностьВопросПример
ТегЧто сделать?Отправить событие generate_lead в GA4
ТриггерКогда сделать?Когда dataLayer получил lead_submit_success
ПеременнаяС какими данными?lead_id, value, currency, form_name

Связка выглядит так:

Если объяснить проще: тег - действие, триггер - условие, переменная - данные.

3. Почему GTM экономит деньги

Без GTM маркетинг часто живет через очередь разработки:

  1. "Поставьте пиксель".
  2. "Добавьте событие на кнопку".
  3. "Поменяйте ID рекламного кабинета".
  4. "Срочно отключите скрипт, он ломает сайт".

Каждая маленькая задача проходит через разработчика, релизный цикл и ожидание. На коротких кампаниях это убивает скорость. Если Черная пятница идет три дня, событие, поставленное через неделю, уже бесполезно.

С GTM часть задач уходит в управляемый маркетинговый слой. Но это не значит, что разработчики больше не нужны. Наоборот: для нормальной аналитики разработчик должен помочь с dataLayer, стабильными ID, consent mode и безопасной архитектурой. GTM снижает мелкую зависимость, но не отменяет инженерную дисциплину.

4. Как должен выглядеть рабочий контейнер

Нейминг

Плохие названия:

  • tag 1
  • fb
  • test
  • lead old

Хорошие названия:

  • GA4 - Event - generate_lead
  • Meta - Event - Lead
  • Trigger - DL - lead_submit_success
  • Var - DL - lead_id

Название должно отвечать на вопрос "что это и зачем", даже если человек впервые открыл контейнер.

Папки и ownership

Разделяйте теги по системам: GA4, Google Ads, Meta, TikTok, utility, deprecated. Для каждого важного тега должен быть owner: аналитик, performance-команда, агентство или разработчик.

DataLayer вместо угадывания DOM

Можно настроить событие на клик по кнопке с CSS-классом .btn-primary. Это удобно, пока дизайнер не переименовал класс. Потом отслеживание молча умерло.

Надежнее, когда сайт явно сообщает GTM о бизнес-событии:

window.dataLayer.push({
event: "lead_submit_success",
lead_id: "lead_12345",
form_name: "credit_card_apply",
value: 1,
currency: "KZT"
});

GTM не должен угадывать бизнес-смысл по верстке. Сайт должен передавать этот смысл в dataLayer.

5. Preview, версии и публикация

В GTM есть Preview mode. Его нужно использовать всегда. Не "если задача сложная", а всегда.

Минимальный тестовый сценарий перед публикацией:

  • Открыть Preview.
  • Пройти путь пользователя: страница, форма, покупка или заявка.
  • Проверить, какие теги сработали.
  • Проверить, какие теги не сработали.
  • Открыть GA4 DebugView, Meta/TikTok test events или Google Tag Assistant.
  • Убедиться, что событие ушло один раз и с нужными параметрами.
  • Опубликовать версию с понятным описанием.

Описание версии должно быть человеческим:

Added GA4 generate_lead event for credit card form.
Mapped lead_id and form_name from dataLayer.
Tested in Preview and GA4 DebugView.

6. Частые ошибки

Все имеют право Publish

Просмотр и редактирование можно дать шире, публикацию - узко. Один случайный Custom HTML тег может отправить PII не туда, сломать consent или повесить тяжелый скрипт на все страницы.

Теги дублируются

На сайте стоит Google tag напрямую, потом еще один через GTM, потом еще GA4 event tag с page view. В отчетах появляются двойные просмотры и странные сессии.

Нет changelog

Через полгода никто не знает, зачем нужен Meta - Lead old 2. Его боятся удалить, поэтому контейнер разрастается.

Настройка держится на CSS

Триггеры на текст кнопки, классы и DOM-структуру быстро ломаются при редизайне. Для денег, заявок и статусов нужен dataLayer.

7. QA чеклист контейнера

  • У всех тегов понятные имена.
  • Для ключевых тегов есть owner.
  • События денег и заявок работают через dataLayer.
  • Нет дублей базовых Google/Meta/TikTok тегов.
  • Preview пройден перед публикацией.
  • Версия опубликована с нормальным описанием.
  • Publish-доступ есть только у людей, которые понимают последствия.
  • Старые теги помечаются как deprecated и удаляются после проверки.

Видео к теме

How to set up Google Analytics 4 with Google Tag Manager

Официальный разбор связки GA4 и GTM. Полезен как стартовая точка: контейнер, тег, установка, проверка отправки событий.

Главный совет

GTM ускоряет маркетинг только тогда, когда в нем есть порядок. Если нет naming convention, owner, Preview-проверки и dataLayer, GTM быстро становится вторым хаотичным кодом сайта. Начните с дисциплины контейнера, а не с количества тегов.

Sources / Notes