Глоссарий

Триггер (Trigger)

Триггер (Trigger) в Google Tag Manager — набор условий, по которым GTM активирует привязанный к нему тег. Триггер определяет момент и контекст срабатывания: просмотр страницы, клик, отправка формы, скролл, пользовательское событие в dataLayer.

Flat-иллюстрация монитора с формой множественного выбора и карандашом — условия триггера в GTM

Триггер (Trigger) в Google Tag Manager (GTM) — это сущность, которая решает, когда именно должен сработать тег. Без триггера тег в GTM просто не запускается: маркетолог или аналитик создаёт условие («когда пользователь кликает по кнопке с классом .btn-buy», «когда загрузилась страница checkout», «когда в dataLayer появилось событие purchase»), а GTM постоянно мониторит события браузера и dataLayer. Как только условие выполняется — GTM активирует все теги, к которым этот триггер привязан, передав им контекст события. Вместе с тегами и переменными триггер формирует ядро GTM-модели: тег определяет что делать, триггер — когда, переменная — с какими данными.

Триггер — сердце GTM-логики. Без понимания триггеров невозможно настроить реальный трекинг: GA4 Event Tag без правильного триггера или не срабатывает, или забивает аналитику шумом. В 2026 типичный контейнер содержит 30-60 триггеров.

Как устроен триггер

Технически триггер — это пара «тип события + набор фильтров». Пример:

Тип: Click - All Elements
Фильтр: Click Classes matches RegEx ^btn-cta$
       AND Page Path equals /pricing

Триггер срабатывает, когда наступает событие (клик по любому элементу) и оба фильтра истинны. Если хотя бы один фильтр false — тег не активируется. Кроме основных условий, каждый тег имеет отдельный раздел Exceptions (исключения) — триггеры-блокеры, запрещающие запуск тега даже при активном основном триггере.

В Preview-режиме GTM показывает каждый триггер: сработал он или нет, какие условия выполнились, какие — нет. Это основной инструмент диагностики при настройке.

Операторы фильтров

GTM поддерживает 11 операторов для условий: equals, does not equal, contains, does not contain, starts with, ends with, matches RegEx, does not match RegEx, matches RegEx (ignore case), greater than, less than.

Основные типы триггеров

GTM делит триггеры на 13 типов. Чаще всего используются:

ТипКогда срабатываетПримеры применения
Page ViewБазовый просмотр страницыИнициализация Google Tag
DOM ReadyПосле парсинга DOMСкрипты, которым нужен доступ к элементам
Window LoadedПосле полной загрузки (изображения, скрипты)Тяжёлые пиксели, чтобы не замедлять LCP
Click - All ElementsКлик по любому элементуКлики по кнопкам, CTA, ссылкам
Click - Just LinksКлик только по <a>Outbound-ссылки, tel: и mailto:
Form SubmissionОтправка HTML-формыЛиды, регистрации
Element VisibilityЭлемент появился в видимой зонеВидимость CTA, лид-магнитов
Scroll DepthПользователь скроллит до %/pxГлубина чтения, scroll_depth_25/50/75/90
YouTube VideoСобытие YouTube-плеераvideo_start, video_progress, video_complete
TimerИнтервальный таймер«Active user after 30s»
Custom EventПроизвольное событие из dataLayerОсновной тип для SPA, e-commerce, CRM
History ChangeИзменение URL без перезагрузкиSPA-маршрутизация (React, Vue, Next.js)
JavaScript ErrorUnhandled error в window.onerrorМониторинг JS-ошибок

Помните: триггеры Form Submission и Click по умолчанию ловят все формы и клики, поэтому без фильтров тег сработает буквально везде. Всегда добавляйте условие (селектор, URL, класс).

Custom Event — главный триггер для сложных сайтов

Все триггеры, кроме Custom Event, работают с DOM-событиями браузера: click, submit, load, scroll. В SPA и e-commerce DOM может вообще не обновляться (React ре-рендерит элементы без перезагрузки), поэтому DOM-триггеры часто пропускают важные моменты. Решение — разработчик пушит в dataLayer кастомное событие:

dataLayer.push({
  event: 'add_to_cart',
  ecommerce: {
    currency: 'UAH',
    value: 999,
    items: [{ item_id: 'SKU-001', item_name: 'Курс GA4', quantity: 1 }]
  }
});

Триггер Custom Event с условием Event Name = add_to_cart ловит этот push и запускает GA4 Event Tag, читающий значения из dataLayer и отправляющий в Google Analytics. Этот паттерн — фактический стандарт для любого современного проекта: DOM-триггеры остаются для простых случаев, Custom Event покрывает все сложные.

Built-in Click и Form Variables

Большинство Click и Form триггеров требуют встроенных переменных, которые по умолчанию выключены. Активируйте через Variables → Configure:

Click Variables:

  • {{Click Element}} — DOM-элемент.
  • {{Click Classes}} — CSS-классы элемента.
  • {{Click ID}} — id атрибут.
  • {{Click Target}} — target атрибут.
  • {{Click URL}} — href для links.
  • {{Click Text}} — текстовое содержимое.
  • {{Click Just Links}}true для <a> тегов.

Form Variables:

  • {{Form Element}}, {{Form Classes}}, {{Form ID}}, {{Form Target}}, {{Form URL}}, {{Form Text}}.

Без активации эти переменные возвращают undefined и фильтры никогда не выполняются — самая частая причина «триггер не срабатывает».

Типичные паттерны Click-триггеров

  1. Outbound links: Click - Just Links + Click URL does not contain example.com + Click URL starts with http.
  2. Email/Phone: Click - Just Links + Click URL starts with mailto: (или tel:).
  3. CTA-кнопки: Click - All Elements + Click Classes contains btn-cta.
  4. File downloads: Click - Just Links + Click URL matches RegEx \.(pdf|zip|docx?)$.
  5. Specific button: Click - All Elements + Click ID equals header-signup.

Trigger Groups: когда нужно несколько условий подряд

Trigger Group — отдельный тип триггера, который срабатывает, когда все указанные триггеры уже сработали в течение одной сессии (не одновременно — последовательно в любом порядке). Пример: «Пользователь посмотрел ≥3 страниц и проскроллил ≥75%» → тег «Engaged User» активируется один раз, когда оба условия выполнились. Это удобно для:

  • Обозначения вовлечённых пользователей для Google Ads ремаркетинга.
  • Трекинга сложных воронок, где важен порядок действий.
  • Запуска дорогих пикселей только для «качественного» трафика.
  • Conversion-квалификации перед отправкой в CRM.

Настройка: Triggers → New → Trigger Group → выберите набор триггеров-членов. Лимит: Trigger Group срабатывает максимум один раз за сессию.

Исключения (Trigger Exceptions)

Важный, но недооценённый механизм. Типичный пример: у вас GA4 Pageview на всех страницах, но нужно не фиксировать просмотры в админ-панели. Вместо того чтобы усложнять основной триггер, в разделе Exceptions тега добавляете:

Trigger: Page View - Admin Pages
Condition: Page Path matches RegEx ^/admin

Этот триггер блокирует тег, когда URL содержит /admin. Исключения также полезны для:

  • Отключения трекинга для команды (по User Agent или cookie).
  • Блокировки тега для пользователей без согласия на аналитику (Consent Mode).
  • Исключения тестовых транзакций в development-среде (Hostname contains staging).
  • Блокировки на страницах с error-состоянием (404/500).

SPA-специфичные триггеры

В SPA (React, Vue, Next.js) браузер не перезагружает страницу — нужны специальные подходы:

Решение 1: History Change — встроенный триггер ловит изменение URL через history.pushState(). Активируйте Built-in Variables: New History Fragment, Old History Fragment, History Source.

Решение 2: Custom Event (рекомендуется) — разработчик пушит в dataLayer:

// React Router
useEffect(() => {
  dataLayer.push({event:'page_view', page_path: location.pathname});
}, [location]);

// Vue Router
router.afterEach((to) => {
  dataLayer.push({event:'page_view', page_path: to.fullPath});
});

// Next.js
router.events.on('routeChangeComplete', (url) => {
  dataLayer.push({event:'page_view', page_path: url});
});

Триггер Custom Event с Event Name = page_view даёт больше контроля — вы передаёте собственные параметры (page_title, content_group).

Триггер vs тег vs событие

Три понятия, которые часто путают:

СущностьРольПример
Event (в GA4)Единица данных, попадающая в аналитикуpurchase, sign_up
Trigger (в GTM)Условие, по которому GTM запускает тегCustom Event purchase, Click на .buy-btn
Tag (в GTM)Код, отправляющий данные в системуGA4 Event Tag, отправляющий purchase в GA4

Простая ментальная цепочка: event в dataLayer → trigger в GTM ловит его → tag в GTM отправляет в внешнюю систему.

Как проверить, что триггер срабатывает

Preview Mode в GTM — главный инструмент:

  1. Нажмите Preview в правом верхнем углу GTM.
  2. Введите URL сайта → Connect.
  3. Открываются два окна: ваш сайт с debug-баннером и Tag Assistant в новой вкладке.
  4. В Tag Assistant слева — хронология всех событий.
  5. Выберите событие → справа видите Tags Fired (сработали) и Tags Not Fired (нет).
  6. Клик на тег → Triggers → видите каждый триггер со статусом TRUE/FALSE для каждого условия.
  7. Если триггер показан как Not Fired — расширьте список до All triggers и увидите, какое именно условие не выполнилось.

Альтернатива: Chrome DevTools → Console → введите dataLayer для просмотра всех push’ей.

Типичные ошибки при настройке триггеров

  1. Триггер без фильтров. Click - All Elements без условия срабатывает на каждый клик — GA4 забивается шумом.
  2. RegEx без якорей. Условие Page Path matches RegEx checkout срабатывает на /pre-checkout и /checkout-faq. Правильно — ^/checkout.
  3. Путаница между Built-in и Custom variables. Built-in Click Classes нужно включить в Variables → Configure, иначе фильтр никогда не выполнится.
  4. Дубль между Page View и Window Loaded. Тот же тег с обоими триггерами — GA4 получает page_view дважды.
  5. Form Submission без проверки валидации. Триггер срабатывает до валидации формы — регистрируются «лиды», которых на самом деле нет.
  6. History Change вместо Custom Event в SPA. Пропускает важные переходы без явного push’а.
  7. Триггер без exceptions для admin/staging. Шум от внутреннего трафика.
  8. Click - All Elements вместо Click - Just Links для outbound — ловит клики на span внутри ссылки.
  9. Нестрогий RegEx. gclid=.* ловит пустые значения.
  10. Trigger Group с некорректными членами. Срабатывает не когда нужно.

Связанные материалы

Связанные термины