Тригер (Trigger) у Google Tag Manager — набір умов, за якими GTM активує прив'язаний до нього тег. Тригер визначає момент і контекст спрацювання: перегляд сторінки, клік, відправка форми, скрол, користувацька подія у dataLayer.
Тригер (Trigger) у Google Tag Manager (GTM) — це сутність, яка вирішує, коли саме має спрацювати тег. Без тригера тег у GTM просто не запускається: маркетолог або аналітик створює умову («коли користувач клікає по кнопці з класом .btn-buy», «коли завантажилась сторінка checkout», «коли в dataLayer з’явилася подія purchase»), а GTM постійно моніторить події браузера і dataLayer. Щойно умова виконується — GTM активує всі теги, до яких цей тригер прив’язаний, передавши їм контекст події. Разом із тегами та змінними тригер формує ядро GTM-моделі: тег визначає що робити, тригер — коли, змінна — з якими даними.
Як влаштований тригер
Технічно тригер — це пара «тип події + набір фільтрів». Приклад:
Тип: Click - All Elements
Фільтр: Click Classes matches RegEx ^btn-cta$
AND Page Path equals /pricing
Тригер спрацьовує, коли настає подія (клік по будь-якому елементу) і обидва фільтри істинні. Якщо хоч один фільтр false — тег не активується. Крім основних умов, кожен тег має окремий розділ Exceptions (винятки) — тригери-блокери, які забороняють запуск тегу навіть при активному основному тригері.
У Preview-режимі GTM показує кожен тригер: спрацював він чи ні, які умови виконалися, які — ні. Це основний інструмент діагностики при налаштуванні.
Основні типи тригерів
GTM ділить тригери на дев’ять категорій. Найчастіше використовуються:
| Тип | Коли спрацьовує | Приклади застосування |
|---|---|---|
| Page View | Базовий перегляд сторінки | Ініціалізація GA4 Configuration 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 |
| 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 покриває всі складніші.
Trigger Groups: коли потрібно кілька умов підряд
Trigger Group — окремий тип тригера, який спрацьовує, коли всі вказані тригери вже спрацювали протягом однієї сесії. Приклад: «Користувач подивився ≥3 сторінок і проскролив ≥75%» → тег «Engaged User» активується один раз, коли обидві умови виконались. Це зручно для:
- Позначення залучених користувачів для Google Ads ремаркетингу.
- Трекінгу складних воронок, де важливий порядок дій.
- Запуску дорогих пікселів лише для «якісного» трафіку.
Винятки (Trigger Exceptions)
Важливий, але недооцінений механізм. Типовий приклад: ви маєте GA4 Pageview на всіх сторінках, але треба не фіксувати перегляди в адмін-панелі. Замість того щоб ускладнювати основний тригер, у розділі Exceptions тегу додаєте:
Trigger: Page View - Admin Pages
Condition: Page Path matches RegEx ^/admin
Цей тригер блокує тег, коли URL містить /admin. Винятки також корисні для:
- Відключення трекінгу для команди (за User Agent або cookie).
- Блокування тегу для користувачів без згоди на аналітику (Consent Mode).
- Виключення тестових транзакцій у development-середовищі.
Тригер 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 відправляє в зовнішню систему.
Типові помилки при налаштуванні тригерів
- Тригер без фільтрів. 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 без перевірки валідації. Тригер спрацьовує до валідації форми — реєструються «ліди», яких насправді немає.
Стандартна перевірка: після створення нового тригера відкрити Preview у GTM, виконати цільову дію на сайті й подивитися, чи з’явився тригер у списку спрацьованих і чи активувались правильні теги. Якщо тригер показаний як «Not Fired» — розширити список до «All triggers» і побачити, яка саме умова не виконалась.
Щоб закрити тему GTM повністю, варто також розібратися з dataLayer — основним джерелом даних для тригерів, та з конверсіями і сесіями у GA4, куди зазвичай відправляються результати роботи тегів.