Приветствую, Хабр! В прошлой статье я уже объяснял, что такое тег-менеджеры и почему без них современный маркетинг попросту не работает. Напомню коротко: тег-менеджер – это единая точка управления кодами отслеживания на сайте. Благодаря ему маркетологи и аналитики могут без помощи разработчиков внедрять пиксели, настраивать события и запускать эксперименты.
Сегодня я хочу продолжить эту тему и поговорить о том, что происходит на рынке после того, как Google Tag Manager фактически оказался под запретом в России.

Эту статью я также положил на seonews.ru, здесь же решил поделиться с сообществом дополнительно, поскольку считаю тему важной для всего digital‑маркетинг и web‑аналитического сообщества.
Я более 10 лет занимаюсь аналитикой, SEO и управлением командами в digital‑маркетинге. А в своем Телеграм канале пишу еще больше про всякое из реального маркетинга. Консультирую по аналитике web‑проектов и настройке инструментов маркетинга, помогаю проводить технические собеседования специалистов по различным типам трафика.
Проблематика Google Tag Manager в 2025 году
Как я писал ранее, еще в 2024 году РКН признал иностранные системы веб-аналитики и тег-менеджеров нарушающими закон о персональных данных. GTM, хоть и не всегда напрямую собирающий ПД, загружает код с серверов Google за пределами РФ. Проверить, какие данные уходят «под капотом», невозможно.
Результат: компании в России лишились ключевого инструмента, через который управлялись не только аналитика, но и вся маркетинговая инфраструктура – от ремаркетинга и A/B-тестов до чатов и виджетов. И если потерю GA4 многие пережили, перейдя на Яндекс Метрику, то потеря GTM стала гораздо болезненнее.
По сути, в 2025 году бизнес оказался перед выбором: переходить на локальные решения (например, Яндекс Тег Менеджер), пробовать open-source альтернативы или возвращаться к «ручному» внедрению кода на сайт. Каждый из этих путей мы уже рассмотрели с плюсами и минусами, а теперь разберем подробнее один из главных доступных вариантов – Яндекс Тег Менеджер.
Обзор Яндекс Тег Менеджера
Интерфейс и логика работы
На первый взгляд Яндекс Тег Менеджер (ЯТМ) сильно напоминает Google Tag Manager: здесь тоже есть контейнеры, внутри которых живут теги, триггеры и переменные. Если раньше вы работали в GTM, освоиться в ЯТМ будет достаточно просто.
Основной экран – список контейнеров, где для каждого проекта можно создать отдельное рабочее пространство.
Внутри контейнера – вкладки «Теги», «Триггеры», «Переменные» и «Версии».
Есть раздел публикации изменений: сначала правки сохраняются в черновике, а потом публикуются на сайт.


Но функционал, конечно же, не 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 на ЯТМ возможен без потери данных и с минимальной коррекцией рекламной инфраструктуры. При этом важно соблюдать пошаговый алгоритм переноса, тщательно тестировать первые цели и только после подтверждения корректности переносить остальные.