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

Сегодня я хочу продолжить эту тему и поговорить о том, что происходит на рынке после того, как Google Tag Manager фактически оказался под запретом в России.

Эту статью я также положил на seonews.ru, здесь же решил поделиться с сообществом дополнительно, поскольку считаю тему важной для всего digital‑маркетинг и web‑аналитического сообщества.

Влад Лукашенко

Head of SEO, Тензор (разработчик saby.ru), автор ТГ‑канал «ВладПРО»

Я более 10 лет занимаюсь аналитикой, SEO и управлением командами в digital‑маркетинге. А в своем Телеграм канале пишу еще больше про всякое из реального маркетинга. Консультирую по аналитике web‑проектов и настройке инструментов маркетинга, помогаю проводить технические собеседования специалистов по различным типам трафика.

Проблематика Google Tag Manager в 2025 году

Как я писал ранее, еще в 2024 году РКН признал иностранные системы веб-аналитики и тег-менеджеров нарушающими закон о персональных данных. GTM, хоть и не всегда напрямую собирающий ПД, загружает код с серверов Google за пределами РФ. Проверить, какие данные уходят «под капотом», невозможно.

Результат: компании в России лишились ключевого инструмента, через который управлялись не только аналитика, но и вся маркетинговая инфраструктура – от ремаркетинга и A/B-тестов до чатов и виджетов. И если потерю GA4 многие пережили, перейдя на Яндекс Метрику, то потеря GTM стала гораздо болезненнее.

По сути, в 2025 году бизнес оказался перед выбором: переходить на локальные решения (например, Яндекс Тег Менеджер), пробовать open-source альтернативы или возвращаться к «ручному» внедрению кода на сайт. Каждый из этих путей мы уже рассмотрели с плюсами и минусами, а теперь разберем подробнее один из главных доступных вариантов – Яндекс Тег Менеджер.

Обзор Яндекс Тег Менеджера

Интерфейс и логика работы

На первый взгляд Яндекс Тег Менеджер (ЯТМ) сильно напоминает Google Tag Manager: здесь тоже есть контейнеры, внутри которых живут теги, триггеры и переменные. Если раньше вы работали в GTM, освоиться в ЯТМ будет достаточно просто.

  • Основной экран – список контейнеров, где для каждого проекта можно создать отдельное рабочее пространство.

  • Внутри контейнера – вкладки «Теги», «Триггеры», «Переменные» и «Версии».

  • Есть раздел публикации изменений: сначала правки сохраняются в черновике, а потом публикуются на сайт.

Что называется, найдите 10 отличий
Что называется, найдите 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%.

Алгоритм переноса

  1. Код Яндекс Метрики перенесен из GTM в код сайта, чтобы ЯТМ начал работать напрямую.

  2. Выбраны первые 10 целей, перенесены копированием в ЯТМ.

  3. Проверена отработка целей в режиме предпросмотра.

  4. Цели отключены в GTM и опубликованы изменения, цели включены в ЯТМ и опубликованы изменения.

  5. В течение 2 недель отслеживалась динамика срабатываний 10 целей.

  6. После подтверждения корректной работы по такому же принципу переносились все остальные цели в ЯТМ.

  7. Живем еще 2 недели, тестируем работу всех целей. При этом GTM присутствует в коде, как пустой контейнер с отключенными целями на случай отката.

  8. После успешного тестового периода GTM удаляется из кода сайта.

Результаты

  • Замеры спустя месяц показали, что срабатывания целей практически не изменились, дельта не превышает 1%.

  • Сторонние скрипты фронтенда работают стабильно.

  • Реклама в Директе продолжает работать без остановки и переобучения.

  • Вся аналитическая инфраструктура теперь полностью завязана на ЯТМ, что соответствует требованиям локального законодательства.

Вывод

Переезд с GTM на ЯТМ возможен без потери данных и с минимальной коррекцией рекламной инфраструктуры. При этом важно соблюдать пошаговый алгоритм переноса, тщательно тестировать первые цели и только после подтверждения корректности переносить остальные.

Комментарии (3)


  1. fermentum
    28.09.2025 19:08

    Понятно, что Яндекс поспешил занять нишу, выкатив сырой продукт на фоне запрета трансграничной передачи ПД. В этом его винить сложно.

    Но говорить, что там всё работает как в GTM, наверное, не стоит. Интерфейс ЯТМ неудобен, функционал урезан, и тот же Advcake не разместить без танцев. В общем, намучились с ЯТМ и разместили код напрямую без контейнера.


    1. vladislav_lukashenko Автор
      28.09.2025 19:08

      А я вроде и не говорю, что удобно. Наоборот, чисто так, жить можно, но и только, да и то не всегда. Попадаются скрипты, которые ну никак не хотят работать и все тут.


    1. vladislav_lukashenko Автор
      28.09.2025 19:08

      Дождитесь следующей статьи там разбирают Motomo, вот где интересней. Там есть что попробовать в действительности.)