Google Tag Manager: что это и как настроить

2 августа 2026обновлено 17 августа 202616 минАналитика

Google Tag Manager, он же гугл тег менеджер, — прослойка между сайтом и всем, что на него навешивают: счётчиками, пикселями, обработчиками событий. Разбираю установку, связку тегов с триггерами, работу с dataLayer через генератор кода и то, о чём в руководствах молчат: как GTM влияет на скорость и почему доступ к нему равен доступу к коду сайта.

Коротко
  • GTM меняет счётчики и события без правки кода сайта и без ожидания релиза.
  • Через него ставят не только сервисы Google: Яндекс.Метрика заводится типом «Пользовательский HTML».
  • Три сущности: тег — что сделать, триггер — когда, переменная — с какими данными.
  • Свои события передаются через dataLayer.push и становятся триггерами в интерфейсе.
  • Доступ к GTM равен доступу к фронтенду: через «Пользовательский HTML» выполняется произвольный код.
Три сущности GTM: что есть что
Вся работа в Tag Manager сводится к трём объектам — дальше только их комбинации
СущностьЧто делаетПримерКогда трогать
ТегКод, который отправляет данные в сервиссчётчик Метрики, событие в GA4, пиксель VKпри подключении нового сервиса
ТриггерУсловие, при котором тег срабатываетклик по кнопке «Отправить», просмотр страницы /thanks/когда меняется логика отслеживания
ПеременнаяЗначение, которое подставляется в тегURL страницы, текст кнопки, сумма заказакогда в событие нужны детали
dataLayerОчередь данных от сайта к контейнеруpush с суммой заказа после оплатыкогда данные знает только бэкенд
Таблица прокручивается вбок на узком экране.

Что такое Google Tag Manager и кому он нужен

Google Tag Manager — прослойка между сайтом и всем, что на него навешивают: счётчиками, пикселями, обработчиками событий. Вместо того чтобы каждый раз просить разработчика вставить очередной фрагмент кода, ты один раз ставишь контейнер GTM, а дальше добавляешь и меняешь теги в его интерфейсе.

По-русски название пишут и «гугл тег менеджер», и «джи ти эм» — это одно и то же, сокращённо GTM.

Практический смысл для того, кто занимается сайтом: скорость правок. Поставить счётчик, добавить цель, повесить событие на кнопку — минуты вместо недели ожидания релиза. Для агентства или подрядчика это ещё и доступ: клиент даёт права в GTM, не пуская чужого человека в код сайта.

Частое заблуждение: GTM считают инструментом «для Google Analytics». Через него ставят что угодно, включая Google Analytics и Яндекс.Метрику — она в списке поддерживаемых тегов не значится, но заводится через тип «Пользовательский HTML» за пару минут. В российских проектах это самый частый сценарий использования GTM.

Установка контейнера и три сущности внутри

Установка занимает один раз и состоит из трёх шагов.

Список тегов в контейнере Google Tag Manager со статусами
Контейнер с тегами: у каждого свой тип и триггер, а правки живут в черновике до публикации версии. Значения для примера.
  1. Создай аккаунт и контейнер. Контейнер привязывается к одному сайту, идентификатор выглядит как GTM-XXXXXXX. На аккаунт можно завести сколько угодно контейнеров.
  2. Вставь два фрагмента. Первый — как можно выше внутри <head>, второй — сразу после открывающего <body>. Второй нужен для браузеров с отключённым JavaScript и без него часть данных теряется.
  3. Проверь предпросмотром. Кнопка «Предварительный просмотр» открывает сайт в режиме отладки и показывает, какие теги сработали. Пока в отладчике пусто, публиковать нечего.
ПлощадкаКуда вставлятьНюанс
WordPressв header.php темы или через плагин вставки скриптовпри обновлении темы правка в файле теряется — надёжнее плагин
Тильда«Настройки сайта → Ещё → HTML-код для вставки внутрь head»второй фрагмент кладут в блок с HTML в самом верху страницы
Битриксшаблон сайта: header.php компонентау многих шаблонов есть готовое поле для счётчиков
Самописный сайтпрямо в шаблон страницыпроверь, что контейнер попадает на все страницы, включая страницу спасибо
Первый фрагмент кода ставится как можно выше в head, второй — сразу после открывающего body. Второй нужен браузерам с отключённым JavaScript, без него часть данных теряется.
Как проверить, что контейнер встал. Открой исходный код страницы и найди строку с googletagmanager.com/gtm.js — если она есть, контейнер загружается. Второй способ надёжнее: включить режим предпросмотра, он сразу скажет, видит ли он контейнер на сайте.

Дальше вся работа идёт тремя сущностями, и понимание связи между ними экономит часы:

Тег — то, что нужно выполнить: код счётчика, пиксель, произвольный скрипт.
Триггер — условие, при котором тег срабатывает: просмотр страницы, клик по кнопке, отправка формы, своё событие.
Переменная — значение, которое подставляется в тег: адрес страницы, текст кнопки, сумма заказа.

Формула простая: тег отвечает на вопрос «что сделать», триггер — «когда», переменная — «с какими данными».

Первый тег: счётчик Метрики за пять минут

Самый частый сценарий в российских проектах. Готового шаблона для Метрики в галерее GTM нет, поэтому счётчик заводится типом «Пользовательский HTML».

Создание тега «Пользовательский HTML» в Google Tag Manager с кодом счётчика Метрики
Слева — код счётчика в теге типа «Пользовательский HTML», справа — триггер на просмотр всех страниц. Пока триггера нет, тег не сработает ни разу.
  1. Теги → Создать, тип «Пользовательский HTML», внутрь — код счётчика из Метрики целиком, вместе с тегами <script>.
  2. Триггер — встроенный «All Pages»: счётчик должен срабатывать на каждой странице.
  3. Название по правилу «сервис — что делает — где»: через полгода в контейнере будет два десятка тегов, и «тег 3 копия» найти уже не выйдет.
  4. Предпросмотр, и только после него публикация.
Двойной счёт — главная ловушка этого шага. Если счётчик уже стоит в коде сайта и его же добавили в контейнер, визиты начинают считаться дважды: отказы падают до неправдоподобных значений, глубина просмотра растёт. Перед добавлением проверь исходный код страницы на mc.yandex.ru/metrika, а после публикации сверь цифры за день с прошлой неделей. Про сами цели — в разборе целей в Яндекс.Метрике.
Про основной счётчик. Через контейнер счётчик грузится чуть позже, чем при прямой вставке в код, и полностью зависит от доступности googletagmanager.com. Для критичной аналитики надёжнее держать счётчик прямо в шаблоне, а GTM использовать для событий, целей и рекламных пикселей.

События на клик без программиста

Вторая по частоте задача: отследить клик по кнопке, звонку или ссылке в мессенджер. Встроенные триггеры закрывают её без единой строки кода на сайте.

Настройка триггера на клик по кнопке в Google Tag Manager с условием по тексту
Триггер типа «Клик — все элементы» с условием по тексту кнопки. Встроенные переменные кликов по умолчанию выключены, их включают в разделе «Переменные».
За что цеплятьсяКак выглядит условиеНасколько живучее
Текст кнопкиClick Text содержит «Отправить заявку»ломается при первой же правке текста
Класс элементаClick Classes содержит btn-orderпереживает смену текста, ломается при редизайне
ИдентификаторClick ID равен order-submitсамое надёжное из доступного без разработчика
Событие из dataLayerCustom Event равно form_sentживёт, пока сайт сам сообщает об успехе
Четыре способа поймать одно и то же действие. Первые три настраиваются в интерфейсе, четвёртый требует одной строки от разработчика — и работает точнее всех, потому что срабатывает по факту успеха, а клик сам по себе ещё ничего не значит.
Клик и успех — разные события. Триггер на клик по кнопке считает всех, кто нажал: включая тех, у кого форма не отправилась из-за незаполненного поля. Если считаешь заявки для отчётности, цепляйся за событие после успешной отправки, иначе конверсия окажется завышенной.

dataLayer: как передать в GTM своё событие

Встроенные триггеры GTM закрывают простые случаи: клик по ссылке, отправка формы, прокрутка. Как только нужно передать что-то своё — сумму заказа, название тарифа, факт успешной оплаты, — в дело идёт dataLayer.

Это массив, в который сайт складывает сообщения для GTM. Одна строка dataLayer.push в коде — и в интерфейсе появляется событие, на которое можно повесить любой тег.

Код на сайт Скопировано

  

Порядок здесь важнее синтаксиса: сначала событие должно появиться в отладчике, потом создаётся триггер, и только потом тег. Если делать наоборот, придётся отлаживать три сущности сразу и гадать, какая из них молчит.

Через этот же механизм в GTM удобно заводить цели аналитики: событие из dataLayer становится триггером, а тегом выступает вызов счётчика. Как устроены сами цели и какие бывают типы — в разборе про цели в Яндекс.Метрике.

Скачать шаблон: карта тегов GTMЧто стоит в контейнере, каким триггером срабатывает и кто отвечает. Второй лист — шпаргалка по dataLayerСкачать

Предпросмотр: как понять, что всё работает

Режим предварительного просмотра открывает сайт в отладке и показывает, какие теги сработали, какие условия выполнились и что лежит в dataLayer. Публиковать контейнер до этой проверки смысла нет.

Режим отладки Tag Assistant: список сработавших тегов и содержимое dataLayer
Слева — сработавшие и несработавшие теги на текущем шаге, справа — данные события. Если события нет в этом списке, триггер на него создавать бесполезно.
Что видно в отладчикеЧто это значитЧто делать
Тег в списке несработавшихусловие триггера не выполнилосьпроверить условие и включить нужные встроенные переменные
Событие не появляется в dataLayerсайт его не отправляетпроверить, вызывается ли dataLayer.push в нужный момент
Тег сработал дваждыдва триггера или дубль тегаубрать лишний триггер, проверить прямую вставку в коде
Отладчик не подключаетсяконтейнер не установлен или закрытпроверить код на странице и блокировщики в браузере
Четыре состояния, которые закрывают почти все вопросы «почему не работает». Разбирать их надо именно в этом порядке — сверху вниз.

Версии и откат: страховка от чужих правок

Каждая публикация создаёт версию контейнера с автором и комментарием. Это одновременно история изменений и кнопка «вернуть как было».

Список версий контейнера в Google Tag Manager с авторами и датами публикации
История версий: кто и когда публиковал, что менялось. Откат к прошлой версии занимает один клик — это спасает, когда после правок подрядчика аналитика замолчала.
Правило для проектов с подрядчиком. Комментарий к версии заполняется всегда и человеческим языком: «добавил пиксель VK», «событие отправки формы». Через три месяца это единственный способ понять, после какой публикации сломался учёт — и откатиться ровно на шаг назад, ничего не ломая дополнительно.

Чего в руководствах не пишут

У GTM есть цена, о которой в руководствах обычно молчат.

Скорость. Контейнер — это ещё один сторонний скрипт, который тянется до отрисовки. Сам по себе он лёгкий, но через него часто вешают десяток тегов, и каждый добавляет запросы. Если у сайта проблемы с Core Web Vitals, начинай разбор с содержимого контейнера: там регулярно живут пиксели рекламных кампаний, которые закончились год назад.
Права доступа. Человек с доступом к GTM может выполнить на сайте произвольный код через тип «Пользовательский HTML». Это полноценный доступ к фронтенду, и выдавать его надо так же осторожно, как доступ к админке.
Зависимость от чужой инфраструктуры. Контейнер грузится с домена googletagmanager.com. Если он недоступен у части аудитории, перестают работать все теги разом, включая счётчики. Критичную аналитику стоит дублировать прямой вставкой кода на сайт.
Юридический вопрос. Передача данных пользователей за рубеж в российской практике регулируется отдельно, и по сервисам аналитики Google периодически возникают претензии. Это вопрос к юристу, маркетолог тут не помощник; практический выход, к которому пришло большинство проектов, — считать в Яндекс.Метрике, а GTM использовать как менеджер тегов.

Отдельно про порядок в контейнере. Через полгода работы там накапливается два десятка тегов с именами вроде «тег 3 копия». Заведи правило именования сразу: тип, площадка, действие. И раз в квартал открывай контейнер, чтобы выключить то, что уже не нужно, — это самый дешёвый способ ускорить сайт.

Шесть ошибок в контейнере

Список собран по чужим контейнерам, которые доводилось разбирать. Половина проблем с аналитикой начинается здесь.

Так ломается учёт
счётчик стоит и в коде сайта, и в контейнере — визиты считаются дважды
тег сохранён без триггера и молча не срабатывает
контейнер опубликован без предпросмотра, ошибка уезжает в прод
все теги висят на «All Pages», включая пиксели, которым нужна одна страница
имена вида «тег 3 копия»: через полгода никто не помнит, что это
в контейнере живут пиксели кампаний, закончившихся год назад
Так контейнер остаётся управляемым
счётчик в одном месте: либо код сайта, либо контейнер
у каждого тега свой триггер, проверенный в отладчике
публикация только после предпросмотра, с комментарием к версии
триггеры настроены на конкретные страницы и события
правило именования: сервис — действие — где
ревизия контейнера раз в квартал, лишнее выключается
Ревизия — самый дешёвый способ ускорить сайт. Каждый тег внутри контейнера тянет свои запросы, и десяток мёртвых пикселей стоит дороже, чем кажется. Открой контейнер, выпиши, что там есть, и сверь со списком живых рекламных кампаний: обычно половина выключается без сожалений. Как это влияет на метрики скорости — в разборе Core Web Vitals.

Частые вопросы

Что такое Google Tag Manager простыми словами?
Это менеджер тегов: посредник между сайтом и счётчиками, пикселями и скриптами. Ты один раз ставишь на сайт контейнер GTM, а дальше добавляешь и отключаешь всё остальное в его интерфейсе, не трогая код. По-русски встречается написание «гугл тег менеджер».
Чем GTM отличается от Google Analytics?
Это разные вещи, которые часто путают. Analytics собирает и показывает статистику, GTM ничего не собирает — он только доставляет коды на страницу. Через GTM можно поставить Analytics, Метрику, рекламные пиксели или собственный скрипт: сам он остаётся транспортом.
Можно ли поставить Яндекс.Метрику через Google Tag Manager?
Да, и в российских проектах это самый частый сценарий. Готового шаблона для Метрики в GTM нет, поэтому используют тип тега «Пользовательский HTML»: вставляют код счётчика и ставят триггер на просмотр всех страниц.
Что такое dataLayer и зачем он нужен?
Это массив, через который сайт передаёт данные в GTM. Строкой dataLayer.push ты отправляешь событие с любыми параметрами — суммой заказа, названием тарифа, фактом успешной оплаты, — и оно становится доступным как триггер. Готовый фрагмент кода соберёт генератор в статье.
Замедляет ли GTM сайт?
Сам контейнер лёгкий, но он загружает всё, что внутри. Проблемы начинаются, когда в контейнере накапливается десяток тегов, часть которых уже не нужна. Разбор скорости стоит начинать именно с ревизии контейнера: там обычно живут пиксели закончившихся рекламных кампаний.
Насколько безопасно давать доступ к GTM подрядчику?
Относись к этому как к доступу в код сайта. Тип тега «Пользовательский HTML» позволяет выполнить на страницах произвольный JavaScript, то есть возможности почти те же, что у разработчика. Давай права минимально необходимого уровня и убирай их после окончания работ.
Как проверить, что тег в GTM работает?
Режимом «Предварительный просмотр»: он открывает сайт в отладке и показывает, какие теги сработали, какие триггеры выполнились и что лежит в dataLayer. Публиковать контейнер имеет смысл только после того, как в отладчике видно нужное событие.
Как проверить, установлен ли Google Tag Manager на сайте?
Открой исходный код страницы и поищи строку с googletagmanager.com/gtm.js — если она есть, контейнер загружается. Точнее покажет режим предварительного просмотра в самом GTM: он подключается к сайту и сразу сообщает, видит ли контейнер. Третий способ — расширение Tag Assistant в браузере.
Что такое googletagmanager.com в коде сайта?
Это домен, с которого загружается контейнер Google Tag Manager. Строка вида googletagmanager.com/gtm.js?id=GTM-XXXXXXX в исходном коде означает, что на сайте установлен менеджер тегов и через него подключены счётчики или пиксели. Тот же домен раздаёт код gtag.js для Google Analytics.
Можно ли ставить счётчик и в код сайта, и в GTM одновременно?
Счётчик должен стоять в одном месте. Когда он есть и в коде сайта, и в контейнере, визиты считаются дважды: отказы падают до неправдоподобных значений, глубина просмотра растёт. Рабочая схема: основной счётчик прямо в шаблоне сайта, а через контейнер вешаются события, цели и рекламные пиксели.

Главное

Если коротко

GTM решает одну задачу: меняет аналитику и события на сайте без правки кода. Логика держится на трёх сущностях — тег, триггер, переменная, — а всё нестандартное передаётся через dataLayer. Помни про обратную сторону: контейнер тянет за собой все теги внутри, поэтому раз в квартал его надо чистить, а доступ к нему выдавать так же осторожно, как доступ к админке.

Собери код события генератором выше и проверь его предпросмотром до публикации контейнера. Нужна аналитика, по которой видно деньги, — разберём на консультации.

Больше разборов в телеграм — «Digital-трафик»

Читать дальше

Все статьи

Спросите нейросети по этой статье

Отвечает DeepSeek
Ссылка скопирована