Тригер (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-bannerом і 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 — повний посібник.