Приветствую, Хабр! В прошлой статье я уже объяснял, что такое тег-менеджеры и почему без них современный маркетинг попросту не работает. Напомню коротко: тег-менеджер – это единая точка управления кодами отслеживания на сайте. Благодаря ему маркетологи и аналитики могут без помощи разработчиков внедрять пиксели, настраивать события и запускать эксперименты.
Сегодня я хочу продолжить эту тему и поговорить о том, что происходит на рынке после того, как 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 на ЯТМ возможен без потери данных и с минимальной коррекцией рекламной инфраструктуры. При этом важно соблюдать пошаговый алгоритм переноса, тщательно тестировать первые цели и только после подтверждения корректности переносить остальные.
fermentum
Понятно, что Яндекс поспешил занять нишу, выкатив сырой продукт на фоне запрета трансграничной передачи ПД. В этом его винить сложно.
Но говорить, что там всё работает как в GTM, наверное, не стоит. Интерфейс ЯТМ неудобен, функционал урезан, и тот же Advcake не разместить без танцев. В общем, намучились с ЯТМ и разместили код напрямую без контейнера.
vladislav_lukashenko Автор
А я вроде и не говорю, что удобно. Наоборот, чисто так, жить можно, но и только, да и то не всегда. Попадаются скрипты, которые ну никак не хотят работать и все тут.
vladislav_lukashenko Автор
Дождитесь следующей статьи там разбирают Motomo, вот где интересней. Там есть что попробовать в действительности.)