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

Триггер (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 Error | Unhandled 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-триггеров
- Outbound links: Click - Just Links +
Click URL does not contain example.com+Click URL starts with http. - Email/Phone: Click - Just Links +
Click URL starts with mailto:(илиtel:). - CTA-кнопки: Click - All Elements +
Click Classes contains btn-cta. - File downloads: Click - Just Links +
Click URL matches RegEx \.(pdf|zip|docx?)$. - 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 — главный инструмент:
- Нажмите Preview в правом верхнем углу GTM.
- Введите URL сайта → Connect.
- Открываются два окна: ваш сайт с debug-баннером и Tag Assistant в новой вкладке.
- В Tag Assistant слева — хронология всех событий.
- Выберите событие → справа видите Tags Fired (сработали) и Tags Not Fired (нет).
- Клик на тег → Triggers → видите каждый триггер со статусом TRUE/FALSE для каждого условия.
- Если триггер показан как Not Fired — расширьте список до All triggers и увидите, какое именно условие не выполнилось.
Альтернатива: Chrome DevTools → Console → введите dataLayer для просмотра всех push’ей.
Типичные ошибки при настройке триггеров
- Триггер без фильтров. Click - All Elements без условия срабатывает на каждый клик — GA4 забивается шумом.
- RegEx без якорей. Условие
Page Path matches RegEx checkoutсрабатывает на/pre-checkoutи/checkout-faq. Правильно —^/checkout. - Путаница между Built-in и Custom variables. Built-in Click Classes нужно включить в Variables → Configure, иначе фильтр никогда не выполнится.
- Дубль между Page View и Window Loaded. Тот же тег с обоими триггерами — GA4 получает page_view дважды.
- Form Submission без проверки валидации. Триггер срабатывает до валидации формы — регистрируются «лиды», которых на самом деле нет.
- History Change вместо Custom Event в SPA. Пропускает важные переходы без явного push’а.
- Триггер без exceptions для admin/staging. Шум от внутреннего трафика.
- Click - All Elements вместо Click - Just Links для outbound — ловит клики на span внутри ссылки.
- Нестрогий RegEx.
gclid=.*ловит пустые значения. - Trigger Group с некорректными членами. Срабатывает не когда нужно.
Связанные материалы
- Tag (тег) в GTM — что активирует триггер.
- DataLayer — источник данных для Custom Event триггеров.
- Event (событие) в GA4 — то, что отправляет тег после срабатывания триггера.
- Conversion / Key Event — обозначение важных событий.
- Session — в рамках которой срабатывают триггеры.
- GTM — полное руководство.
- GA4 — полное руководство.