Шаг 4. Вставьте код на сайт. Статичный сайт — отредактируйте HTML-файлы. Сайт на CMS — используйте плагин или вставьте код в шаблон темы (обычно header.php для WordPress). Сайт на Tilda — введите GTM ID в настройках сайта.
Шаг 5. Проверьте установку. Откройте сайт, запустите режим предпросмотра в GTM (кнопка «Предварительный просмотр»). Если контейнер загрузился — в панели Tag Assistant появится уведомление. Также можно использовать расширение Google Tag Assistant для Chrome.
Ошибки при установке, с которыми сталкиваюсь чаще всего:
- Код только на главной. Сайт на CMS, код вставлен в index.php вместо header.php — на внутренних страницах GTM не работает. Проверяйте через Preview на разных страницах.
- Перепутаны head и body. Первый код — в , второй — после . Перепутаете — контейнер работает некорректно, часть данных теряется.
- Установлен и GTM, и прямой код GA4. На сайте уже есть gtag.js, и вы добавляете тег GA4 Configuration в GTM — данные задваиваются, просмотры прыгают на 40–50%. Удалите gtag.js или не добавляйте конфигурацию в GTM.
- Код в подвале. Код вставлен в footer — теряются сессии пользователей, которые ушли до полной загрузки. Первый фрагмент всегда в .
Установка GTM на WordPress и популярные CMS
Для WordPress оптимальный способ — плагин Google Tag Manager for WordPress от Thomas Geiger. Не требует редактирования файлов темы. После установки: перейдите в настройки, вставьте GTM ID (GTM-XXXXXX), выберите размещение —
и
. На вкладке Integration отметьте используемые компоненты (Contact Form 7, WooCommerce) — плагин автоматически настроит передачу данных.Для Tilda — в настройках сайта найдите поле «Google Tag Manager» и введите GTM ID. Не указывайте одновременно ID GA4 и ID GTM в настройках Tilda — данные задвоятся, потому что GTM уже содержит тег GA4.
Для 1С-Битрикс — вставьте код в header.php шаблона сайта. Для OpenCart — в header.tpl темы. Для Joomla — через плагин или в index.php шаблона.
Я рекомендую использовать плагины там, где они есть, и не лезть в код темы вручную. При обновлении CMS-темы ручные правки часто затираются — GTM перестаёт работать. Плагины переживают обновления.
Установка GTM на одностраничные приложения (SPA)
Для SPA (React, Vue, Angular) стандартный триггер All Pages не фиксирует переходы между страницами — браузер не перезагружает документ. Статистика просмотров теряется. Два решения: триггер «Изменение истории» (History Change) с тегом GA4 Event, который отправляет page_view при каждом изменении URL, или отправка dataLayer.push со стороны приложения с событием page_view и параметрами page_location, page_title. Проверка через Preview — каждый внутренний переход должен фиксироваться как отдельный хит в Summary.
Как настроить теги и триггеры в GTM
Настройка тега — пять шагов: выбор типа, конфигурация (ввод ID или кода), выбор триггера, сохранение, публикация. Каждый тег привязывается к одному или нескольким триггерам, которые определяют, когда и при каких условиях тег сработает.
Пример 1. Настройка Google Analytics 4 через GTM:
- В рабочей области нажмите «Добавить новый тег»
- В конфигурации выберите «Google Аналитика: конфигурация GA4»
- Вставьте идентификатор потока данных (Measurement ID в формате G-XXXXXXX). Найти его в GA4: «Администратор» → «Потоки данных» → «Веб»
- Выберите триггер «All Pages» — тег будет срабатывать при загрузке любой страницы
- Сохраните, задайте понятное имя (например, «GA4 Config — All Pages»)
- Нажмите «Опубликовать» и присвойте версии название
Пример 2. Подключение Яндекс Метрики через GTM:
- Создайте тег типа «Пользовательский HTML»
- Скопируйте код счётчика из интерфейса Метрики и вставьте в поле HTML
- Выберите триггер «All Pages»
- Сохраните и опубликуйте
Пример 3. Подключение пикселя VK Рекламы:
- В рекламном кабинете VK Рекламы создайте пиксель и скопируйте код
- В GTM создайте тег «Пользовательский HTML»
- Вставьте код пикселя в поле HTML
- Выберите триггер «All Pages»
- Сохраните и опубликуйте
Ошибка, которую вижу у новичков постоянно — тег создан и настроен, но триггер не привязан. В интерфейсе GTM тег без триггера выглядит сохранённым, но фактически никогда не сработает. Всегда проверяйте, что в блоке «Триггеры» выбран хотя бы один. Вторая частая ошибка — тег настроен, триггер привязан, но контейнер не опубликован. Изменения в GTM не вступают в силу до нажатия «Опубликовать».
Как отслеживать клики, формы и другие события
Отслеживание событий настраивается через триггеры. Клики — «Клик — все элементы» или «Только ссылки». Отправка форм — «Отправка формы». Скролл — «Глубина прокрутки». Просмотр YouTube — триггер «YouTube». Для каждого события создаётся тег GA4 Event, который отправляет данные в Google Analytics 4.
Отслеживание кликов по кнопке «Купить»:
- В разделе «Переменные» → «Настроить» включите встроенные переменные клика: Click Text, Click URL, Click Classes
- Создайте триггер «Клик — все элементы»
- Включите «Некоторые клики» и добавьте условие: Click Text содержит «Купить»
- Создайте тег «Google Аналитика: событие GA4» с именем события add_to_cart
- Привяжите триггер к тегу, сохраните и опубликуйте
Отслеживание отправки формы:
Триггер «Отправка формы» срабатывает при событии gtm.formSubmit. Работает на классических формах с перезагрузкой страницы. Если форма отправляется через AJAX (без перезагрузки) — триггер может не сработать. В таких случаях нужен custom event: разработчик добавляет dataLayer.push({event: 'form_submit'}) в обработчик формы, а в GTM создаётся триггер «Пользовательское событие» с именем form_submit.
Чаще всего проблема возникает с формами на GetCourse, Tilda и в попапах. Для Tilda используйте идентификатор формы как имя пользовательского события. Для GetCourse — потребуется предварительная интеграция с GA4, и только потом настройка цели в GTM.
Переменные в GTM: встроенные и пользовательские
Переменные делятся на встроенные (готовые, нужно включить) и пользовательские (создаются под задачу). Встроенные сгруппированы в 9 категорий: страницы, клики, формы, скролл, видео, ошибки, история, контейнер, утилиты. Большинство неактивны по умолчанию — для активации перейдите в «Переменные» → «Настроить» и отметьте нужные.
Пользовательские переменные создаются для нетиповых задач. Примеры: переменная, которая достаёт UTM-метку из URL (тип «URL» → «Компонент запроса»); переменная, которая читает значение из dataLayer (тип «Переменная уровня данных»); переменная, которая извлекает текст из HTML-элемента (тип «Элемент DOM»). Используются в триггерах как условия фильтрации и в тегах для передачи данных.
Практический пример: нужно, чтобы триггер срабатывал только на страницах, URL которых содержит /catalog/. Создайте триггер с условием Page Path содержит /catalog/ — для этого включите встроенную переменную Page Path. Условие сложнее — например, достать ID товара из dataLayer — создайте пользовательскую переменную типа «Переменная уровня данных» с именем productId.
Подключение систем аналитики через GTM
Через GTM подключается любая система аналитики: Google Analytics 4, Яндекс Метрика, Google Ads — для каждой свой тип тега. Главное правило — не использовать одновременно прямой код системы и её тег в GTM, чтобы избежать задвоения данных.
Google Analytics 4: тег «Google Аналитика: конфигурация GA4» с идентификатором потока данных (G-XXXXXXX) и триггером All Pages. Для отслеживания событий — тег «Google Аналитика: событие GA4» с именем события и триггером на конкретное действие.
Яндекс Метрика: тег «Пользовательский HTML» с кодом счётчика и триггером All Pages. При установке Метрики через GTM некоторые сторонние виджеты (например, чаты Jivosite) могут терять связь с Метрикой — данные о взаимодействии с виджетом не передаются напрямую. Если это критично — ставьте код Метрики напрямую.
Google Ads: тег «Отслеживание конверсий Google Рекламы» с идентификатором и ярлыком конверсии из кабинета Google Ads. Триггер — целевое действие (отправка формы, клик по кнопке, страница благодарности). Для ремаркетинга — тег «Ремаркетинг Google Рекламы» с триггером All Pages.
Сценарий из практики: интернет-магазин подключает GA4 и Метрику через GTM. Настраивает цели на добавление в корзину (add_to_cart), начало оформления (begin_checkout) и покупку (purchase). Конверсии из Google Ads передаются через GTM для оптимизации автоматических стратегий. Вся инфраструктура — в одном интерфейсе. При изменении настроек лезть в код сайта не нужно.
Настройка электронной коммерции через GTM
Для электронной коммерции GA4 через GTM используются события view_item, view_item_list, add_to_cart, begin_checkout и purchase. Данные передаются через dataLayer.push с массивом items[], параметрами value и currency. Для purchase дополнительно — transaction_id, tax, shipping. Реализация требует разработчика для внедрения dataLayer на сайт. GTM не генерирует данные сам — он читает и отправляет то, что сайт передаёт через dataLayer.
Проверка — через DebugView в GA4. Каждый шаг воронки должен отображаться с правильными параметрами. Если данные не приходят — проверяйте dataLayer в консоли браузера (команда dataLayer) и в режиме Preview GTM.
Отладка и проверка тегов в GTM
Отладка — режим предпросмотра (Preview) и инструмент Tag Assistant. Они показывают, какие теги сработали, какие нет и почему, какие триггеры активировались, какие переменные передались. Пропуск отладки — одна из самых частых причин потери данных. По моему опыту, около 65% ошибок в настройке аналитики можно было бы поймать на этом этапе.
Чек-лист перед публикацией контейнера:
- Запустите «Предварительный просмотр» и введите URL сайта
- В Tag Assistant убедитесь, что контейнер загрузился без ошибок
- На вкладке Summary проверьте активацию базовых тегов (All Pages) — они должны быть в разделе Tags Fired
- Выполните целевые действия (клик по кнопке, отправка формы) и проверьте реакцию тегов
- Сверьте передаваемые параметры (event_name, link_url, form_id) с техническим заданием
- Присвойте версии осмысленное имя — упростит откат при сбоях
- После публикации проверьте поступление данных в GA4 DebugView или в отчётах Метрики в реальном времени
В режиме Preview три статуса тегов: Tags Fired — сработал, Tags Not Fired — не сработал (с указанием причины: не выполнилось условие триггера), Tags Fired (Blocked) — заблокирован другим триггером. Это помогает быстро понять, почему данные не доходят до аналитики.
Ситуация из практики: маркетолог настроил событие, опубликовал контейнер, но данные в GA4 не приходят. Причина — триггер настроен на Click Text содержит «Оформить заказ», а на сайте кнопка называется «Оплатить». Preview показывает, что триггер не срабатывает — за 2 минуты проблема локализована. Без Preview это превратилось бы в многочасовые дебаты с разработчиком.
Consent Mode v2 и порядок инициализации тегов
Consent Mode v2 — механизм Google, который регулирует передачу данных в аналитику на основе согласия пользователя на использование cookie. В 2025–2026 годах корректная работа аналитики зависит от правильной инициализации согласия: сначала задаётся статус по умолчанию, затем отправляются данные. Нарушение порядка — потеря 20–30% событий и искажение атрибуции.
Инструкция по настройке Consent Mode v2:
- Создайте тег «Инициализация согласия» (Consent Initialization). Задайте Default Consent State: ad_storage = denied, analytics_storage = denied — все хранилища закрыты по умолчанию
- Назначьте триггер Consent Initialization — All Pages. Этот триггер срабатывает до активации остальных скриптов
- Добавьте тег конфигурации GA4 с триггером All Pages — он сработает после инициализации согласия
- Интегрируйте CMP-платформу (Cookiebot, Usercentrics) для вывода cookie-баннера и передачи статусов согласия в GTM
- Протестируйте в режиме Preview: строгий порядок — Consent Initialization → GA4 Config → пользовательские действия
Расширенный режим (Advanced Consent Mode) отправляет анонимные пинги до получения согласия — восстанавливает точность атрибуции на 20–30% в среде без cookie. Для европейского трафика настройка Consent Mode v2 обязательна. Для российского — требования мягче, но принцип тот же: сначала согласие, потом данные.
Альтернативы Google Tag Manager в 2025 году
Основные альтернативы GTM — Яндекс Тег Менеджер (ЯТМ) как российский аналог и Matomo Tag Manager как open-source решение. Выбор зависит от требований РКН, сложности проекта и ресурсов на поддержку.
Яндекс Тег Менеджер (ЯТМ) — включается через настройки счётчика Яндекс Метрики. Поддерживает шаблоны для Метрики, VK Рекламы, коллтрекинга. Статус — бета, могут быть шероховатости. Главное ограничение: включить ЯТМ может только владелец счётчика Метрики. Если владелец недоступен (счётчик создавал бывший сотрудник) — нужно перенести счётчик, а это время.
Matomo Tag Manager — часть open-source платформы Matomo. Разворачивается на собственных серверах — полный контроль над данными и соответствие требованиям РКН. Но нужна серверная инфраструктура и команда для поддержки.
Сравним три инструмента:
| Критерий | GTM | ЯТМ | Matomo |
|---|---|---|---|
| Стоимость | Бесплатно | Бесплатно | Бесплатно (self-hosted) |
| Готовые шаблоны | 50+ | Растёт, пока меньше | Ограниченное количество |
| Соответствие РКН | Под вопросом | Да | Да (self-hosted) |
| Сложность настройки | Средняя | Низкая | Высокая |
| Интеграции | Широкие | Яндекс-экосистема | Базовые |
| Статус | Стабильный | Бета | Стабильный |
| Точность данных | Погрешность ~5% | Погрешность ~6% | Зависит от настройки |
РКН может блокировать GTM из-за передачи данных на серверы Google за пределами России. По официальному ответу РКН на запрос — если GTM не содержит кодов, собирающих персональные данные, использовать его можно. Но проверить, что именно под капотом загружает GTM, фактически невозможно. Риск остаётся.
Сценарий из практики: компания переезжает с GTM на ЯТМ. Интерфейс похож, базовые теги переносятся за вечер. Но часть сложных интеграций (например, связка с Google Ads) перестаёт работать. Для проектов, где вся реклама в Яндекс Директе и VK Рекламе — переезд безболезненный. Для проектов с Google Ads — GTM пока незаменим.
Типичные ошибки при настройке GTM и как их избежать
Большинство проблем с GTM возникает не из-за сложности инструмента, а из-за невнимательности и пропуска отладки. Ниже — десять ошибок, с которыми сталкиваюсь чаще всего.
- Данные задваиваются. На сайте установлен и gtag.js, и тег GA4 Configuration в GTM. Просмотры прыгают на 40–50%. Решение: удалите gtag.js или не добавляйте конфигурацию в GTM — выберите один способ.
- Триггер не привязан к тегу. Тег выглядит сохранённым, но никогда не срабатывает. Решение: проверяйте блок «Триггеры» перед сохранением.
- Контейнер не опубликован. Изменения сохранены в рабочей области, но не вступили в силу. Решение: после каждого изменения нажимайте «Опубликовать».
- Код GTM только на главной. На внутренних страницах аналитика не работает. Решение: проверяйте через Preview на разных страницах.
- Перепутаны head и body. Первый код в , второй в — контейнер работает некорректно. Решение: первый — в , второй — после .
- Не включены нужные переменные. Триггер не срабатывает, потому что переменная Click Text не активирована. Решение: перед настройкой событий включите все нужные встроенные переменные.
- Триггер «Отправка формы» не срабатывает на AJAX. Форма отправляется без перезагрузки — gtm.formSubmit не генерируется. Решение: используйте custom event через dataLayer.push.
- Не настроен Consent Mode. Теряется 20–30% данных из-за отсутствия инициализации согласия. Решение: настройте Consent Initialization перед основными тегами.
- Нет контроля версий. Внесли изменения — данные сломались — не знают, как откатиться. Решение: присваивайте версии осмысленное имя и используйте раздел «Версии» для отката.
- Не проведена отладка через Preview. Ошибка замечена через 2 недели по отсутствию данных в отчётах. Решение: всегда запускайте Preview перед публикацией.
Пример: маркетолог добавил пиксель VK Рекламы, не опубликовал контейнер и не проверил через Preview. Через две недели выясняется, что пиксель не работает — рекламная кампания идёт без ретаргетинга. Если бы Preview был запущен — проблема обнаружилась бы за 2 минуты.
Когда GTM не нужен и можно обойтись без него
GTM избыточен для простых проектов, где используется одна система аналитики и не планируется регулярное добавление скриптов. Лендинг с одной формой и Яндекс Метрикой — код счётчика вставляется в поле настроек CMS, GTM добавит лишний слой сложности без ощутимой пользы.
Когда GTM точно нужен:
- На сайте работает несколько систем аналитики (GA4 + Метрика)
- Регулярно добавляются новые пиксели, скрипты, виджеты
- Нужно отслеживать сложные события (клики, формы, скролл, таймеры)
- Проводятся A/B-тесты с переключением тегов
- Команда маркетологов работает с разным уровнем доступа
- Планируется настройка электронной коммерции
Критерии выбора — стоит ли ставить GTM:
- Количество скриптов: 1–2 — можно напрямую, 3+ — GTM оправдан
- Частота изменений: раз в полгода — напрямую, раз в месяц и чаще — GTM
- Наличие разработчика: если всегда доступен — можно напрямую, если нет — GTM
- Требования к точности: для базовых отчётов — достаточно прямого кода, для сквозной аналитики и сложной воронки — GTM
GTM добавляет слой абстракции, который усложняет отладку для новичков. Если человек никогда не работал с тег-менеджером, первый запуск займёт не 5 минут, а 2–3 часа на изучение интерфейса, терминов и логики. Но это разовая инвестиция — после освоения базовых принципов дальнейшие настройки занимают минуты.
Часто задаваемые вопросы
Что такое GTM простыми словами?
GTM — бесплатный инструмент от Google, который позволяет добавлять коды отслеживания на сайт без программирования. Один раз установив контейнер, маркетолог управляет всеми скриптами через веб-интерфейс, не обращаясь к разработчику.
Чем отличается Google Tag Manager от Google Analytics?
Google Analytics — система веб-аналитики, которая собирает и анализирует данные о посетителях. GTM — инструмент для управления кодами отслеживания, через который Analytics подключается к сайту. Сам он данные не анализирует.
Можно ли использовать GTM в России в 2025 году?
Формально да — по ответу РКН, если GTM не содержит кодов, собирающих персональные данные, использовать его можно. Но риски блокировки существуют, и многие компании переходят на Яндекс Тег Менеджер.
Нужен ли программист для настройки GTM?
Программист нужен один раз — чтобы установить код контейнера на сайт. Дальше маркетолог или аналитик управляет тегами через интерфейс GTM без вмешательства в код.
Сколько стоит Google Tag Manager?
GTM полностью бесплатен. Все функции доступны без ограничений, требуется только Google-аккаунт.
Как проверить, что GTM работает правильно?
Используйте режим предпросмотра (Preview) в GTM и инструмент Tag Assistant — они показывают, какие теги сработали, какие нет и почему. После публикации проверьте поступление данных в GA4 DebugView или отчётах Метрики в реальном времени.
Что лучше: GTM или Яндекс Тег Менеджер?
GTM мощнее по функционалу и количеству готовых шаблонов, но несёт риски из-за требований РКН. ЯТМ проще в настройке и безопаснее юридически, но в бета-статусе и ограничен для сложных проектов.
Можно ли установить два контейнера GTM на один сайт?
Технически возможно, но не рекомендуется — усложняет отладку и может привести к конфликтам тегов. Лучше использовать один контейнер и организовать теги внутри него с помощью папок.