В прошлой статье я уже подробно объяснял, что такое тег-менеджеры и почему без них современный маркетинг попросту не работает. Напомню коротко: тег-менеджер – это единая точка управления кодами отслеживания на сайте. Благодаря ему маркетологи и аналитики могут без помощи разработчиков внедрять пиксели, настраивать события и запускать эксперименты.
Сегодня я хочу продолжить эту тему и поговорить о том, что происходит на рынке после того, как Google Tag Manager фактически оказался под запретом в России.
Я более 10 лет занимаюсь аналитикой, SEO и управлением командами в digital-маркетинге. А в своем Телеграм-канале пишу еще больше про всякое важное из реального маркетинга. Консультирую по аналитике web-проектов и настройке инструментов маркетинга, помогаю проводить технические собеседования специалистов по различным типам трафика.
Проблематика Google Tag Manager в 2025 году
Как я писал ранее, еще в 2024 году РКН признал иностранные системы веб-аналитики и тег-менеджеров нарушающими закон о персональных данных. GTM, хоть и не всегда напрямую собирающий ПД, загружает код с серверов Google за пределами РФ. Проверить, какие данные уходят «под капотом», невозможно.
Результат: компании в России лишились ключевого инструмента, через который управлялись не только аналитика, но и вся маркетинговая инфраструктура – от ремаркетинга и A/B-тестов до чатов и виджетов. И если потерю GA4 многие пережили, перейдя на Яндекс Метрику, то потеря GTM стала гораздо болезненнее.
По сути, в 2025 году бизнес оказался перед выбором: переходить на локальные решения (например, Яндекс Тег Менеджер), пробовать open-source альтернативы или возвращаться к «ручному» внедрению кода на сайт. Каждый из этих путей мы уже рассмотрели с плюсами и минусами, а теперь разберем подробнее один из главных доступных вариантов – Яндекс Тег Менеджер.
Обзор Яндекс Тег МенеджераИнтерфейс и логика работы
На первый взгляд Яндекс Тег Менеджер (ЯТМ) сильно напоминает Google Tag Manager: здесь тоже есть контейнеры, внутри которых живут теги, триггеры и переменные. Если раньше вы работали в GTM, освоиться в ЯТМ будет достаточно просто.
- Основной экран – список контейнеров, где для каждого проекта можно создать отдельное рабочее пространство.
- Внутри контейнера – вкладки «Теги», «Триггеры», «Переменные» и «Версии».
- Есть раздел публикации изменений: сначала правки сохраняются в черновике, а потом публикуются на сайт.
Что называется, найдите 10 отличий
Но функционал, конечно же, не 1 в 1, его и будем разбирать.
Примечание: Тег менеджер Яндекса уже доступен всем. Компания сделала реально крутое решение, когда интегрировали вызов Тег менеджера в код Яндекс Метрики. Но работать он будет только после включения его в настройках счетчика, а самое главное – включить настройку Пользовательских html тегов.
ВозможностиКонтейнеры
Как и в GTM, на сайт встраивается один код контейнера. Все остальное – управление из интерфейса ЯТМ. Это упрощает жизнь маркетологу: код внедряется один раз, а дальше изменения делаются без участия разработчиков.
Теги
Тег – это код, который ЯТМ «подкидывает» на сайт. Это могут быть:
- Яндекс Метрика (события, цели, ecommerce-разметка);
- Яндекс Взгляд
- сторонние скрипты (например, коллтрекинг или виджеты онлайн-чата);
- иии… глобально, пока все.
Да, есть уже публичный каталог с шаблонами и там уже вот такой набор (на 15.09.2025):
Все скрипты – российских околомаркетинговых компаний, причем в основном не слишком крупных, которые оперативно включились в разработку своих тегов. Визуально, конечно, на любителя, но и продукт пока в бете.
Что интересно, скрипта от того же ВК не видно, а значит, настраивать его придется руками через код. В целом, это небольшая проблема, так как в эпоху GTM все эти ребята так и настраивались, ну кроме разве что Flocktory и Вариокуба – у них был свой пользовательский шаблон.
Вывод: в тегах пока критического отличия нет, здесь мы ничего не потеряли, но и пока ничего значимого не приобрели.
Триггеры
Они определяют, когда и где должен сработать тег. Ниже привел таблицу сравнения по триггерам с GTM.
Тип триггера
Яндекс Тег Менеджер
Google Tag Manager
Комментарий
Загрузка страницы
Да, можно выбрать: все страницы или отдельные URL
Да, Page View, DOM Ready, Window Loaded
Все взаимозаменяемо
Клик по элементу
Да, по кнопкам, ссылкам, CSS-селекторам
Да, все клики, в том числе по любым DOM-элементам; есть категории Click Classes, Click ID
Все взаимозаменяемо
Отправка формы
Да, по формам и кнопкам submit
Да, встроенный Form Submission Trigger, плюс настройка валидации
В обоих есть, но GTM позволяет легче фильтровать успешные отправки
Пользовательские события (Custom Event)
Да, через JS-события или dataLayer
Да, через dataLayer.push
Все взаимозаменяемо
Скролл страницы
Нет встроенного
Да, Scroll Depth Trigger
В ЯТМ нужно реализовывать через кастомный JS-триггер
Время на странице / таймер
Нет встроенного
Да, Timer Trigger
В ЯТМ только через JS-триггер
Видеособытия (YouTube / HTML5)
Нет встроенного
Да, готовые шаблоны
В ЯТМ нужно писать самостоятельно через JS
Элемент на странице (Visibility / Element)
Нет встроенного
Да, Element Visibility Trigger
GTM более удобен для лендингов с динамическим контентом
История браузера / URL change
Нет встроенного
Да, History Change Trigger
В ЯТМ тоже можно через JS, но без интерфейса. И вот эта проблема для SPA сайтов
Основные выводы
- ЯТМ покрывает базовые события: загрузка страницы, клики, отправка форм, кастомные события.
- GTM гораздо гибче: готовые триггеры для скролла, таймеров, видео, видимости элементов и изменения истории браузера.
- Для ЯТМ все «нестандартные» триггеры нужно реализовывать через кастомный JS-код. Это значит – больше ручной работы, но при грамотной настройке все работает стабильно. Благо с появлением недавно JS-переменных можно отправлять пользовательские события из ЯТМ в dataLayer при наступлении чего-то, тут же триггериться на эти события и отправлять теги. В общем, получается некий Уроборос, но работает =)
Условия срабатывания триггеров
Часто этот фактор упускается в обзорах (по крайней мере тех, что мне попадались) а это важно. И вот тут я заметил некое различие. Специально привел весь список возможных условий:
Замечаете, чего не хватает? Начинается с… И тут мне показалось, что «да как так-то, да вы что»! Спустя час я понял, что не смог придумать ни одного адекватного сценария, где это условие не перекрывалось бы условием содержит. Респект парням из Яндекса за логическую оптимизацию! Если я не прав, приведите в комментариях условия, когда обязательно нужно «начинается с».
Переменные
Здесь ЯТМ немного скромнее, чем GTM. Есть базовые переменные, но расширенных может не хватать. И это было реальной проблемой до середины сентября, пока не было JS-переменных, сейчас все ок. Привожу полную таблицу сравнения типов переменных:
Тип переменной
ЯТМ
GTM
Комментарий
URL страницы
Да, доступен полный URL, путь, параметры
Да, Page URL, Page Path, Hostname, Query
В GTM больше гибкости, можно использовать отдельные части URL прямо в триггере
Реферер
Да
Да
Кликнутый элемент
Да, элемент целиком
Да, Element, Classes, ID, Attributes, Text
В GTM более продвинутые свойства клика
ID элемента
Да
Да
Класс элемента
Да
Да
Текст элемента
Нет
Да
В ЯТМ нужно действовать через JS-переменную
События (Custom Event / JS)
Да
Да
Параметры URL / Query String
Да
Да
Referrer и Origin
Да
Да
JavaScript-переменные на странице
Да
Да
В ЯТМ, кстати, поддерживается более свежая версия JS
Cookies / LocalStorage / SessionStorage
Да, через JS
Да, через встроенные типы переменных и JS
GTM имеет готовые типы «1 к 1» для куки, ЯТМ – через JS
Data Layer / Custom JS Object
Да
Да
Переменные окружения (Referrer, Hostname, Path)
Да
Да
Встроенные переменные для кликов и форм
Ограниченный набор: Click ID, Click Classes, Click Text (частично через JS)
Полный набор: Click ID, Classes, Target, Text, Form ID, Form Classes, Form Text
GTM покрывает все типовые события кликов и форм, ЯТМ – базовый минимум
История / Scroll / Visibility / Timer
Нет
Да, встроенные
В ЯТМ нужно JS-выражения для реализации
Вывод: ЯТМ покрывает 95% сценариев своими переменными, необходимыми для обычной аналитики. А большего нам и не надо =)
Версионирование
Все изменения можно публиковать по версиям как в ЯТМ, так и в GTM. Это удобно для отката в случае ошибок. Причем на мой вкус в ЯТМ даже удобнее реализовано:
Рабочие области
В Яндекс Тег Менеджере рабочая область представлена одной основной средой, в которой ведутся все изменения. Это означает, что вся команда работает по сути «в одном потоке»: новые теги, триггеры и переменные добавляются и редактируются в одном месте.
Предварительный просмотр и отладка доступны через режим «Предпросмотр», а изменения публикуются напрямую из основной рабочей области. Такая схема подходит для небольших команд или простых проектов, но при совместной работе нескольких аналитиков возможны конфликты и риск перезаписи чужих изменений.
Ветки или отдельные филиалы для экспериментов и тестирования в ЯТМ отсутствуют, поэтому параллельная работа и поэтапное тестирование реализуются сложнее. Проще сказать через чат в ТГ, когда один аналитик всем пишет: «Ребят, а занят ЯТМ для работ, не лезьте, плиз, как закончу отпишусь».
В Google Tag Manager подход более гибкий и ориентирован на многопользовательскую работу. В GTM можно создавать несколько рабочих областей для разных специалистов, что позволяет одновременно тестировать изменения, не мешая друг другу. Система поддерживает версионирование и ветки, позволяя экспериментировать с новыми тегами, триггерами и переменными без риска сломать основную инфраструктуру. Это особенно важно для крупных проектов и команд, где аналитики, маркетологи и разработчики работают параллельно, а контроль версий и публикация изменений поэтапно помогают избежать ошибок и обеспечить стабильность работы сайта.
Скорее всего это ожидаем в будущих релизах.
Режим предпросмотра
А вот здесь есть ряд трудностей. На текущий момент режим предпросмотра у ЯТМ номинально есть, но по факту работает так себе. Фактически он предлагает либо использовать специальный тег, который будет писать вам в консоль, что такой-то тег сработал, либо сами учитесь в коды тегов писать console.log («Эй пацаны, я тег такой-то я отработал»).
Конечно, есть небольшой лайфхак: можно после запуска режима предпросмотра, когда вас перекинет на адрес с параметром /?_ytm_preview=9106430618561807075 (например), дописать к этому параметру &_ym_debug=2, чтобы появилась вот такая красивая панелька. Но при тестировании изменений в одной и той же цели вы будете получать двойное срабатывание в тестовом режиме, реальной цели и тестовой. Тем не менее, это уже сильно упрощает жизнь.
Уверен, что в ближайшее время режим предпросмотра все же появится полноценный, как в GTM.
Кейс переезда с GTM на Яндекс Тег Менеджер
Нами был перевезен довольно крупный сайт, но назвать, какой конкретно, пока не могу – не согласовано. Следует все же сказать, что это крупный веб-ресурс с высокой посещаемостью, который активно использует аналитические инструменты для мониторинга поведения пользователей на страницах сайта.
Оценка ресурсов
Сайт имел посещаемость около 600 000 визитов в месяц. Для успешного переезда потребовались:
- Аналитик – 40 часов: инвентаризация целей и переменных, настройка триггеров в ЯТМ, тестирование.
- Разработчик – 1 час: внедрение кода ЯТМ, перенос кода Метрики из GTM в код сайта, проверка работы сторонних скриптов.
Общий срок проекта занял около 2 недель для первой волны целей, плюс еще 2 недели для полной миграции всех целей с мониторингом.
Реестр целей и тегов
В GTM было около 30 целей, все привязаны к Яндекс Метрике для работы с Директом, плюс несколько сторонних скриптов для фронтенда.
Часть целей и динамика срабатываний:
Цель
Срабатывания до переезда
Срабатывания после переезда
Дельта
Оформление заказа
1 256
1 253
-0.24%
Подписка на рассылку
2 871
2 865
-0.21%
Клик по кнопке «Заказать звонок»
4 092
4 083
-0.22%
Просмотр ключевой страницы промоакции
12 038
11 987
-0.42%
Отправка формы обратной связи
1 647
1 641
-0.36%
Клик по баннеру акции
3 519
3 508
-0.31%
Переход на страницу контактов
2 212
2 206
-0.27%
Открытие всплывающего окна подписки
5 028
5 013
-0.30%
Сравнение проведено за равные периоды в 2 недели, при этом у сайта нет выраженной сезонности. Уверен, что таким дельтам можно доверять – нигде нет изменений больше чем в 1%.
Алгоритм переноса
- Код Яндекс Метрики перенесен из GTM в код сайта, чтобы ЯТМ начал работать напрямую.
- Выбраны первые 10 целей, перенесены копированием в ЯТМ.
- Проверена отработка целей в режиме предпросмотра.
- Цели отключены в GTM и опубликованы изменения, цели включены в ЯТМ и опубликованы изменения.
- В течение 2 недель отслеживалась динамика срабатываний 10 целей.
- После подтверждения корректной работы по такому же принципу переносились все остальные цели в ЯТМ.
- Живем еще 2 недели, тестируем работу всех целей. При этом GTM присутствует в коде, как пустой контейнер с отключенными целями на случай отката.
- После успешного тестового периода GTM удаляется из кода сайта.
Результаты
- Замеры спустя месяц показали, что срабатывания целей практически не изменились, дельта не превышает 1%.
- Сторонние скрипты фронтенда работают стабильно.
- Реклама в Директе продолжает работать без остановки и переобучения.
- Вся аналитическая инфраструктура теперь полностью завязана на ЯТМ, что соответствует требованиям локального законодательства.
Вывод
Переезд с GTM на ЯТМ возможен без потери данных и с минимальной коррекцией рекламной инфраструктуры. При этом важно соблюдать пошаговый алгоритм переноса, тщательно тестировать первые цели и только после подтверждения корректности переносить остальные.