Тег-менеджер (Tag Manager)
Тег-менеджер (Tag Manager)
Тег-менеджер (Tag Management System, TMS) — сервис, который позволяет управлять всеми сторонними скриптами на сайте (аналитика, реклама, ретаргетинг, чаты, A/B-тесты) через веб-интерфейс. На сайт вставляется один универсальный контейнер, а внутри него уже включаются и выключаются десятки конкретных «тегов». Точечно, с условиями срабатывания, без правок HTML-кода и без релиза.
История
Идея пришла из простой боли ранних 2000-х. К 2007–2008 году на среднем сайте крупного бренда уже висело 10–20 сторонних скриптов: Google Analytics, DoubleClick, ретаргетинг Criteo, чат LivePerson, ремаркетинг Facebook, счётчики Nielsen и comScore, партнёрские теги ad-networks. Каждый требовал ручной вставки в HTML, каждый обновление означало тикет в отдел разработки, релиз, регресс, задержку в две недели. Маркетологи ждали, разработчики нервничали, бизнес терял скорость реакции.
Первый заметный TMS — TagMan, стартап из Лондона, запущенный примерно в 2007 году. Идея была смешно простой: давайте вставим на сайт один JavaScript, который потом сам подгрузит остальные. Управление — из веб-панели. К 2011 году TagMan подняли раунд, а идею подхватили десятки конкурентов: Tealium (2008), Ensighten (2009), Adobe DTM (позже Launch/Tags), Signal (бывший BrightTag).
Ключевая точка перелома — 1 октября 2012 года. Google объявил Google Tag Manager (GTM), полностью бесплатный. За полгода он проглотил рынок SMB и стал стандартом де-факто. У Google было уникальное преимущество: он уже владел Google Analytics, AdWords и DoubleClick — три самых распространённых тега на планете, — и всё это отлично интегрировалось «из коробки». Платные TMS остались в enterprise-сегменте (Tealium, Adobe), а бесплатный GTM захватил всё остальное.
Дальше вехи:
- 2013 — GTM v2. Появились триггеры и переменные как отдельные сущности. Раньше «когда стрелять» было прибито гвоздями к тегу; теперь можно было переиспользовать одно условие для десятка тегов.
- 2014 — Яндекс.Тег-Менеджер (ЯТМ) в закрытой бете. Публичный запуск состоялся позже. Идея та же: единый контейнер, дружба со стеком Яндекса — Метрикой, Директом, Аудиториями.
- 2017 — GTM Server-Side. Google дал возможность держать контейнер не в браузере пользователя, а на своём сервере (Google Cloud Run). Это ответ на блокировщики рекламы и ITP от Apple.
- 2018 — GDPR ударил по TMS больнее, чем по многим. Теперь каждый тег внутри контейнера должен управляться согласием пользователя, и появился отдельный класс «consent management» решений вроде OneTrust, Cookiebot.
- 2020-е — server-side и Conversion API стали мейнстримом. Тег больше не стреляет из браузера — сайт отправляет событие на свой сервер, тот в свою очередь дёргает Facebook/Google/Яндекс API. Это дороже, сложнее, но точнее и устойчивее к блокировщикам.
По разным оценкам, в 2024 году GTM стоял примерно на 30–35% всех сайтов в топ-1M по данным W3Techs — то есть это буквально каждый третий сайт в мире. ЯТМ и Adobe вместе — оставшиеся крупные игроки; в Рунете доля ЯТМ на клиентах, работающих с Яндекс.Директом, доходит до половины и больше.
Что это такое
Тег-менеджер устроен из трёх сущностей, которые важно не путать:
- Контейнер — универсальный JavaScript, который вставляется в шапку сайта один раз. У него уникальный ID (в GTM выглядит как
GTM-XXXXXXX, в ЯТМ похоже). Контейнер сам ничего не считает — он только загружает и запускает другие скрипты. - Тег — конкретный сторонний скрипт, который нужно запустить: пиксель Facebook, счётчик Метрики, пиксель ретаргетинга. Тег — это ответ на вопрос «что сделать».
- Триггер — условие, при котором тег стреляет: «на всех страницах», «только на
/thank-you», «когда пользователь кликнул кнопку с классом.buy», «когда URL совпадает с регулярным выражением». Триггер — это ответ на вопрос «когда».
Плюс есть переменные — заранее посчитанные значения, которые можно использовать в триггерах и в самих тегах: URL страницы, куки, параметр из dataLayer, значение атрибута нажатой кнопки, ID пользователя. Переменные — это ответ на вопрос «с какими данными».
Чем TMS отличается от «просто вставить скрипт». Вставить скрипт руками — прибить его к коду страницы: чтобы убрать, нужен разработчик и релиз. Через TMS — за минуту в веб-интерфейсе, без CI/CD, без ревью, без ожидания спринта.
Чем TMS отличается от аналитики. Google Analytics или Яндекс.Метрика — это конечный сервис, который что-то считает и рисует дашборды. Тег-менеджер сам ничего не считает: он лишь запускает другие скрипты в нужном порядке и при нужных условиях. Метрика без ТМ работать умеет; ТМ без Метрики или без Facebook Pixel — пустое ведро.
Чем TMS отличается от CMS. CMS (WordPress, Битрикс) управляет контентом: текстом, картинками, страницами. TMS управляет сторонним кодом на этом контенте. Одна CMS — десятки TMS-контейнеров рядом (обычно один, но технически можно и несколько).
Аналогии из жизни
Розетка-удлинитель с выключателями. У тебя дома одна розетка, а нужно воткнуть телевизор, роутер, колонки, зарядку и лампу. Ты покупаешь удлинитель с индивидуальными выключателями на каждом гнезде. Теперь можешь включать и выключать любой прибор без того, чтобы лезть за стенку и трогать проводку. Тег-менеджер — это тот же удлинитель для сайта: одно «включение» в проводке (контейнер), а дальше — веером всё, что нужно, с индивидуальным управлением.
Где ломается: удлинитель — пассивное железо, ничем не рискует. Тег-менеджер — активный JavaScript, который выполняет чужой код в браузере пользователя. Если внутри контейнера тег заражён или сломан — он может замедлить сайт, стянуть данные, показать пользователю чужую рекламу. Розетка так не умеет.
Диспетчерская на нефтебазе. Один трубопровод входит на базу, а дальше диспетчер вручную перенаправляет поток по разным ёмкостям — где-то открыл вентиль, где-то закрыл, где-то поставил счётчик. Так же и TMS: одна страница загружается в браузер, а тег-менеджер, как диспетчер, решает, в какие «резервуары» аналитики и рекламы направлять данные — в зависимости от того, что за пользователь, что за страница, что за событие.
Где ломается: диспетчер физически не может ошибиться так, чтобы нефть попала на голову клиенту в магазине. TMS может: неправильно настроенный триггер шлёт данные не в тот пиксель или на не тех страниц, из-за этого в отчёте появляются фантомные конверсии, а бюджет размывается на нецелевую аудиторию.
Мидия-плата на компьютере с DIP-переключателями. Раньше на материнках сидели маленькие переключатели, которыми на заводе выставляли режимы работы платы. Тег-менеджер работает похоже: у каждого тега есть свой «переключатель» (триггер), которым маркетолог, не пересобирая «плату» (сайт), меняет поведение.
Где ломается: DIP-переключатель — двоичный, между ON и OFF ничего нет. Триггер TMS — сложное выражение с регулярками, условиями AND/OR, переменными, которые могут прийти не в том виде. Отладка триггера — часто самая нервная часть работы маркетолога.
Как это работает
Давай пройдём типичный день из жизни тега пошагово.
-
Пользователь заходит на
example.com/thanks. Браузер получает HTML, начинает разбирать теги в порядке очерёдности. -
В
<head>браузер видит контейнер TMS. Обычно это<script src="https://www.googletagmanager.com/gtm.js?id=GTM-XXXXXXX">. Браузер уходит на серверы Google, скачивает 100–200 КБ универсального JS-кода и запускает его. -
Контейнер инициализируется. Внутри него — сжатая конфигурация со всеми тегами, триггерами и переменными, которую маркетолог настроил в веб-панели. Эта конфигурация обновляется при публикации новой «версии контейнера» — примерно раз в неделю, редко чаще.
-
Контейнер собирает контекст. Он читает URL страницы, referrer, куки, параметры UTM, размер экрана, содержимое
dataLayer(специальный массив, в который сайт кладёт бизнес-данные для TMS — например, «пользователь купил на 12 300 ₽»). -
Контейнер прогоняет триггеры. Для каждого настроенного тега проверяется его условие: URL матчит регулярку? Событие
purchaseбыло вdataLayer? Cookiesigned_in=trueесть? Если да — тег стреляет. -
Тег стреляет — что это значит физически. Обычно контейнер вставляет в страницу новый
<script>(пиксель Facebook, ЯМетрика, пиксель Smartis) или создаёт невидимую картинку 1×1 с параметрами в URL. Дальше это уже задача самого тега — куда, что и как отправить. -
Все теги стреляют параллельно и асинхронно. Пользователь этой возни не видит, страница уже отрисована. Максимум — замечает, что вкладка «дожёвывает» индикатор загрузки чуть дольше.
Ключевой момент: порядок и приоритет. Если у тебя есть тег «отправить событие в CRM» и тег «показать всплывашку с промокодом» — их порядок важен: сначала записать факт покупки, потом крутить рекламу. TMS даёт задать «приоритет тега» (в GTM это число) и «зависимости» (в некоторых системах — «стрелять этот, только когда предыдущий закончил»).
Регулярные выражения в TMS — отдельный жанр боли и радости. Триггер вида «URL матчит ^/kompanii/rgdevelopment(/|$)» позволяет одной строкой покрыть карточку компании и все её подстраницы. У ЯТМ, например, есть жёсткое ограничение — 190 символов на одно правило. Это заставляет упаковывать десятки жилых комплексов в одну регулярку через классы [^/]*(токен1|токен2|…). Мастерство маркетолога-аналитика по большей части сводится к искусству писать компактные и не ложно-срабатывающие регулярки в триггерах.
Псевдокод самой сути:
container.on_page_load(url, dataLayer, cookies):
context = build_context(url, dataLayer, cookies)
for tag in container.tags:
for trigger in tag.triggers:
if trigger.matches(context):
tag.fire(context)
break
Где встречается в обычной жизни
- Ты зашёл на сайт застройщика, посмотрел квартиру, вышел — и на неделю вся реклама в Яндексе стала про эту квартиру. Это тег-менеджер отправил факт визита в пиксель Директа, тот записал тебя в аудиторию ретаргетинга.
- Ты купил что-то в интернет-магазине, а через минуту получил письмо: «Может, ещё вот это?». Тег в TMS отправил
dataLayer.purchaseв email-платформу, та поставила тебя в цепочку писем. - Открыл сайт, а через секунду вылезло окно чата с оператором. Скрипт чата (Jivo, Talk-Me) прописан как тег с триггером «пользователь на сайте >30 секунд».
- Читаешь статью в СМИ, а поверх текста показывают промо-баннер, которого нет в HTML. Он вставлен через тег, который решил «на этой рубрике показываем именно этот баннер».
- Согласился с «cookie banner» — почти всегда за ним стоит TMS: до согласия часть тегов выключена, после согласия — они «размораживаются».
Где встречается в IT и бизнесе
- Реклама и ретаргетинг. Пиксели Google Ads, Facebook, TikTok, Директа, MyTarget — все подключаются через TMS. Отдел маркетинга крутит их сам, без разработчиков.
- Веб-аналитика. GA4, Adobe Analytics, Яндекс.Метрика, Mixpanel, Amplitude — почти всегда через контейнер. Так же — свои события: клик по кнопке «Купить», отправка формы, добавление в корзину.
- Атрибуция и call-tracking. Calltouch, Comagic, Smartis, Roistat подключаются как теги, чтобы связать оффлайн-звонок с рекламным источником. См. также [[call-tracking]].
- A/B-тесты и персонализация. VWO, Optimizely, Adobe Target — их скрипты навешивают через TMS, чтобы включать эксперименты точечно (только на карточке товара, только для новых пользователей).
- Consent management и compliance. OneTrust, Cookiebot — работают в паре с TMS: пользователь принимает cookies, consent-платформа даёт TMS сигнал «разморозить теги категории Marketing».
- Внутренние микросервисы уведомлений и антифрод. Крупные ecom вставляют через TMS свои же скрипты — от анти-скраппинга до сбора событий на бэкенд-CDP.
Кто пользуется
Google Tag Manager — примерно 11 миллионов активных контейнеров по разным оценкам (BuiltWith, W3Techs). Он стоит у 30–35% всех сайтов из топ-1M. Реальные примеры — Airbnb, Uber, Nike, десятки СМИ, почти все российские e-commerce, использующие Google-стек.
Яндекс.Тег-Менеджер — точной статистики публичной нет, но по внутренним данным Яндекса ЯТМ стоит на большинстве крупных российских маркетплейсов, у операторов сотовой связи, у сервисов доставки, у застройщиков (весь портал новостроя-м, к которому относится вчерашняя работа Паши, живёт на ЯТМ). ЯТМ бесплатен, лимиты — 30 контейнеров на аккаунт, до 190 символов на регулярку в правиле, до 100 правил в контейнере (точные лимиты меняются, но такой порядок).
Tealium iQ — enterprise-платформа. Клиенты — банки, авиакомпании (Lufthansa, Emirates), крупный ритейл. Цена — от $50 000 в год.
Adobe Launch (Tags) — часть Adobe Experience Cloud. Обычно идёт в связке с Adobe Analytics и Target. Клиенты — Marriott, Volkswagen, крупные телекомы.
Signal (BrightTag) — куплен TransUnion, теперь фокус на identity resolution. Меньшая доля, но исторически заметная.
Альтернативы и конкуренты
- Google Tag Manager (GTM). Плюсы: бесплатен, идеальная интеграция с Google-стеком, огромное коммьюнити, тысячи готовых шаблонов тегов. Минусы: если у тебя не Google-стек, а Яндекс.Директ и Метрика — некоторые вещи неудобны, шаблоны нужно писать руками; в РФ доступ к панели изредка мигает.
- Яндекс.Тег-Менеджер (ЯТМ). Плюсы: нативная поддержка Метрики, Директа, Аудиторий, надёжный доступ из РФ, бесплатен. Минусы: экосистема шаблонов бедна, документация местами лаконичная, лимиты на длину регулярок болезненные при большом каталоге.
- Tealium iQ. Плюсы: enterprise-grade, полный контроль версий, права по ролям, стабильный SLA, интеграция с CDP (Tealium AudienceStream). Минусы: цена, кривая освоения, для SMB избыточен.
- Adobe Launch / Tags. Плюсы: глубокая связка с Adobe Analytics и Adobe Target, extension-модель. Минусы: цена, привязка ко всему Adobe-стеку, интерфейс менее интуитивен.
- Matomo Tag Manager. Плюсы: open-source, self-hosted, никаких утечек данных наружу, встраивается в собственный контур. Минусы: экосистема мала, поддержка чужих пикселей отстаёт по свежести шаблонов.
Когда НЕ стоит использовать
- Одностраничный лендинг с одним счётчиком. Если у тебя стоит только Метрика и больше ничего, TMS — избыточный слой; проще вставить
<script>руками. Каждый лишний слой — лишний JS в браузере (100–200 КБ на контейнер). - Максимально критичные к производительности сайты. Новостные порталы с миллионами RPS, интернет-магазины в high-load режиме. Каждый лишний тег снимает миллисекунды, а TMS ещё и отложенно грузит остальное. Тут часто идут в server-side, чтобы не платить браузером.
- Строгие compliance-требования и медицина/финансы. Многие банки и госсервисы не имеют права пускать сторонний JS даже в один контейнер: любая уязвимость в GTM — это доступ к странице, где пользователь вводит пароль. Для таких сайтов TMS либо запрещён политикой, либо разворачивается self-hosted.
Связанные понятия
- dataLayer — глобальный JavaScript-массив, в который сайт пушит бизнес-события (
purchase,add_to_cart), а TMS читает и превращает в теги. - Триггер (trigger) — условие срабатывания тега: URL, событие, состояние переменной.
- Пиксель — конкретный тег для трекинга. Обычно 1×1 картинка или JS-сниппет. См. [[tracking-pixel]].
- Server-side tagging — вариант TMS, где контейнер живёт не в браузере, а на твоём сервере (Cloud Run, EC2). Точнее, устойчивее к блокировщикам, дороже.
- Consent Management Platform (CMP) — модуль, который управляет согласиями пользователя и «размораживает» теги в TMS. OneTrust, Cookiebot.
- Google Tag Assistant — Chrome-расширение, которое показывает, какие теги реально сработали на странице. Главный отладчик маркетолога.
Литература и источники
- Google Tag Manager Developer Guide — официальная документация, en. Стартовать здесь.
- Яндекс.Тег-Менеджер — справка — официальная справка ЯТМ, ru. Особенно раздел про правила и переменные.
- «Web Analytics 2.0» — Avinash Kaushik, 2009, en. Классика веб-аналитики, глава про data layer и то, как TMS убил тикеты к разработчикам.
- Simo Ahava's blog — самый уважаемый блог по GTM в мире, глубокие разборы триггеров и server-side. Финский аналитик, публикуется много лет.
- W3Techs — Usage statistics of Google Tag Manager — актуальные проценты распространения.
- Искать в Google по запросу «GTM server-side setup», «regex 190 characters yandex tag manager», «datalayer ecommerce ga4» — большая часть практических рецептов лежит там.
Где встретилось у меня
Вчера вечером долго возился с одним из клиентских проектов: настраивал правила ЯТМ для трекингового пикселя на портале новостроек. Задача — накрыть периметр из 60 жилых комплексов, при этом уложиться в лимит 190 символов на регулярку и не поймать посторонние страницы. В итоге удалось сжать 34 правила до 24 и подтвердить их работу живым браузером на 26 страницах. Именно этот жанр работы — «сядь в веб-интерфейс тег-менеджера и мысленно построй граф триггеров и переменных» — и есть то, зачем TMS изначально придумали.
Краткое резюме
- Тег-менеджер — один контейнер на сайте вместо десятков вставленных руками скриптов, управление через веб-панель без разработчика.
- Три сущности: тег (что сделать), триггер (когда), переменная (с какими данными). Плюс
dataLayerдля бизнес-событий. - Стандарт де-факто — Google Tag Manager (2012), в Рунете — Яндекс.Тег-Менеджер, в enterprise — Tealium и Adobe.
- Мастерство работы с TMS сегодня — это в первую очередь искусство писать компактные регулярки в триггерах и понимать порядок срабатывания тегов.
- Обратная сторона: TMS запускает чужой код в браузере пользователя, поэтому compliance и производительность становятся отдельной темой, из которой родилось server-side tagging.