Consent Mode v2 у GA4: як налаштувати
Що таке Consent Mode v2, обов'язкова вимога Google для EEA, basic vs advanced режими, налаштування через GTM і CMP-банер, перевірка і вплив на моделювання конверсій у GA4.
Зміст
Consent Mode v2 — це оновлена система сигналів Google, яку необхідно впровадити для всіх сайтів з EEA-трафіком. З березня 2024 вона є обов’язковою вимогою Google для збереження доступу до персоналізованої реклами і моделювання конверсій у GA4 і Google Ads. Без неї — повна сліпота для сеансів, де користувач відмовив у cookie.
Ця стаття пояснює, як саме працює Consent Mode v2, чим basic відрізняється від advanced, і як налаштувати все через GTM за 30-40 хвилин навіть без розробника.
Що таке Consent Mode і навіщо він потрібен
До 2020 року аналітика і реклама Google на сайтах ЄС виглядала просто: або користувач погоджується на cookie — і GA4 записує повний сеанс, або відмовляє — і ви взагалі нічого не знаєте про цього відвідувача.
Consent Mode змінює цю логіку. Замість бінарного «all or nothing» він дозволяє тегам Google працювати в обмеженому режимі: без ідентифікаційних даних, без cookie, але з анонімними сигналами. GA4 і Google Ads отримують статистичну «тінь» від відмовників — і на її основі будують модель.
Consent Mode v2 — це друге покоління системи, яке Google анонсував у листопаді 2023 і зробив обов’язковим для EEA-трафіку з березня 2024. Головне нововведення: два додаткові сигнали для функцій, що з’явилися після v1.
Які сигнали передає Consent Mode v2
Всього шість параметрів. Для більшості сайтів критичні чотири:
| Параметр | Що контролює |
|---|---|
analytics_storage | GA4-куки, сеанси, pageview |
ad_storage | рекламні куки Google Ads |
ad_user_data | передача даних користувачів до Google Ads |
ad_personalization | ремаркетинг і персоналізація реклами |
functionality_storage | куки функціональності (мова, налаштування) |
security_storage | безпекові куки (захист від фроду) |
Перші два були в v1. ad_user_data і ad_personalization — нові в v2. Саме їх відсутність призводить до відключення персоналізованої реклами для EEA.
Basic vs Advanced: яку реалізацію обрати
Це найважливіший вибір, і він безпосередньо впливає на якість даних у GA4.
Basic Consent Mode
Принцип: теги Google не завантажуються до надання згоди.
Сторінка завантажилася → Банер з'явився → Користувач відмовив → Теги не запустилися
→ Користувач погодився → Теги запустилися
Результат для відмовників: нуль даних. GA4 не отримує навіть анонімних пінгів. Modeling не працює. Ви просто не знаєте, чи переходила ця людина на інші сторінки, чи купила щось.
Basic простіше реалізувати — жодного ризику «витоку» даних до згоди. Підходить, якщо EU-трафік мінімальний або якщо ваша юридична команда наполягає на максимально консервативному підході.
Advanced Consent Mode
Принцип: теги Google завантажуються одразу зі станом denied, але без ідентифікаційних даних.
Сторінка завантажилася → Теги GA4/Ads запустились з consent='denied'
→ Анонімний пінг відправлений (без IP, без cookie, без параметрів)
→ Банер з'явився → Відмова: стан залишається denied
→ Згода: gtag('consent','update') → повні дані
Що надходить в анонімному пінгу при denied: лише тип події (page_view, session_start), приблизне місцезнаходження (країна) і тип пристрою. Без User ID, без cookie, без URL-параметрів.
На основі цих анонімних пінгів Google будує conversion modeling — статистичну апроксимацію конверсій від «відмовників». За даними Google, advanced режим відновлює від 15% до 40% конверсій, які були б повністю невидимі в basic.
Рекомендація: якщо у вас є EU-аудиторія і ви використовуєте Google Ads — тільки advanced. Basic — це вибір відмовитися від моделювання.
Архітектура реалізації через GTM
Налаштування Consent Mode v2 через Google Tag Manager складається з трьох рівнів:
- CMP (банер) — отримує рішення користувача і пушить його в GTM
- GTM Consent Initialization — встановлює стан за замовчуванням (
denied) до будь-яких тегів - GTM Update trigger — оновлює стан після рішення (
granted/denied)
Крок 1. Встановити CMP
Виберіть сертифіковану CMP з офіційного реєстру Google. Найпростіші варіанти для малого/середнього бізнесу:
- Cookiebot (by Usercentrics) — найпоширеніший, є GTM-шаблон, GDPR + ePrivacy
- CookieYes — безкоштовний план до 100 сторінок, WordPress-плагін є
- Axeptio — гарний UX банера, французька розробка, є безкоштовний тир
Для WordPress є окремий маршрут: плагін Borlabs Cookie або Complianz — вони самі інтегруються з GTM і передають consent signals без ручного коду.
Крок 2. Налаштувати Consent Initialization в GTM
У GTM є окремий тип тригера: Consent Initialization — All Pages. Він спрацьовує першим — до будь-якого іншого тригера, включно з All Pages. Саме тут треба встановити дефолтний стан.
Якщо CMP має власний GTM-шаблон (Cookiebot, OneTrust, CookieYes):
- Відкрийте GTM → Templates → Search Gallery
- Знайдіть шаблон своєї CMP (наприклад, «Cookiebot CMP»)
- Додайте тег з типу шаблону, тригер — Consent Initialization — All Pages
- Налаштуйте параметри (region, default states) — зазвичай достатньо дефолтів
Шаблон автоматично: встановлює denied для всіх чотирьох параметрів до рішення, і оновлює на granted після.
Якщо CMP без GTM-шаблону (або самописний банер):
Додайте Custom HTML тег з тригером Consent Initialization:
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
// Встановити дефолтний стан ПЕРЕД завантаженням будь-яких тегів
gtag('consent', 'default', {
'analytics_storage': 'denied',
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'wait_for_update': 500 // мс, чекати оновлення від CMP
});
// Для non-EEA регіонів можна відразу granted
// gtag('consent', 'default', { ... 'region': ['US', 'CA'] });
</script>
Параметр wait_for_update: 500 каже GA4 зачекати 500 мс на оновлення від CMP — це запобігає відправці пінгу з denied для користувачів, які ще не встигли побачити банер, але вже давали згоду (повернення відвідувачів).
Крок 3. Оновлення після рішення користувача
CMP після отримання рішення повинна пушити в dataLayer подію і стани. Більшість CMP роблять це автоматично. Якщо ваша CMP підтримує це нативно — GTM шаблон від CMP вже обробляє оновлення.
Якщо використовуєте власний банер — додайте виклик у callback після прийняття згоди:
// Після того, як користувач натиснув "Прийняти все"
function onUserAccept() {
gtag('consent', 'update', {
'analytics_storage': 'granted',
'ad_storage': 'granted',
'ad_user_data': 'granted',
'ad_personalization': 'granted'
});
}
// Після "Відхилити все"
function onUserDeny() {
gtag('consent', 'update', {
'analytics_storage': 'denied',
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied'
});
}
Тег gtag('consent', 'update') — це не новий тег GTM, це виклик JS API. CMP-бібліотека сама повинна його виконати після рішення.
Крок 4. Перевірити GA4 і Google Ads теги
Після налаштування consent defaults переконайтеся, що ваш GA4 Configuration Tag і теги Google Ads в GTM не мають явних налаштувань, що блокують consent. Зокрема:
- У GA4 Configuration Tag: «Consent Settings» → «No additional consent checks required» НЕ встановлено. GA4 автоматично поважає глобальний consent стан.
- У Google Ads Conversion Tag: аналогічно, не перевизначайте consent.
Для advanced режиму в налаштуваннях GA4 Configuration Tag увімкніть:
Advanced Settings → Google Signals Data Collection: Enabled
Це лише вмикає функцію Google Signals на рівні тегу. Збір демографічних даних від авторизованих Google-користувачів усе одно відбувається тільки для сеансів з analytics_storage='granted' — при denied Signals не активується (детальніше — у розділі «Google Signals і Consent Mode» нижче).
Налаштування регіональних правил
Якщо ваш сайт орієнтований не лише на ЄС — є сенс встановити стан granted за замовчуванням для не-EEA регіонів і denied для EEA:
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
// Глобальний дефолт — дозволено
gtag('consent', 'default', {
'analytics_storage': 'granted',
'ad_storage': 'granted',
'ad_user_data': 'granted',
'ad_personalization': 'granted'
});
// EEA — заборонено до згоди
gtag('consent', 'default', {
'analytics_storage': 'denied',
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'region': [
'AT','BE','BG','HR','CY','CZ','DK','EE','FI','FR',
'DE','GR','HU','IE','IT','LV','LT','LU','MT','NL',
'PL','PT','RO','SK','SI','ES','SE',
'IS','LI','NO' // + EEA non-EU
],
'wait_for_update': 500
});
</script>
Таким чином для українського, американського або азійського трафіку GA4 продовжує отримувати повні дані без банера. Для EEA — стандартна процедура.
Перевірка налаштувань
Спосіб 1: Google Tag Assistant
- Встановіть розширення Tag Assistant або відкрийте tagassistant.google.com
- Відкрийте ваш сайт у новій вкладці
- У Tag Assistant перейдіть в розділ Consent
- Має з’явитися таблиця зі статусами всіх шести параметрів
До прийняття рішення по банеру: всі чотири параметри — denied. Після «Прийняти все» — granted.
Спосіб 2: Chrome DevTools → Network
- Відкрийте DevTools (F12) → вкладка Network
- У фільтрі введіть
collectабоgtm.js - Перезавантажте сторінку до взаємодії з банером
- Знайдіть запит до
https://www.google-analytics.com/g/collect - У параметрах запиту знайдіть
gcs=— значення кодує стан consent
Значення gcs:
G111— analytics: denied, ads: deniedG100— analytics: denied, ads: denied (без оновлення)G1**після згоди — granted стани
Спосіб 3: GA4 Consent Overview
GA4 → Admin (шестерня) → Property → Data collection and modification → Consent settings (розділ Consent Overview, з’явився у 2024 році).
Показує по кожному сайту (property): відсоток сеансів із analytics_storage=granted, ad_storage=granted тощо. Якщо бачите 0% granted — щось пішло не так.
Поширена помилка: GTM Preview Mode і consent
У GTM Preview mode consent API може поводитися інакше. Для коректного тестування:
- Відкрийте сайт через GTM Preview
- У Tag Assistant переключіть на вкладку Consent Overview
- Перевірте, що стан
deniedфіксується до банера і змінюється після
Якщо в Preview ви не бачите consent-тегів — можливо, тригер Consent Initialization не налаштований або шаблон CMP не опублікований.
Вплив на дані GA4 і моделювання конверсій
Після правильного впровадження advanced Consent Mode v2 ви побачите в GA4 кілька змін.
Що змінюється в GA4 Reports
Sessions і Users: зменшаться реальні числа для EEA, але з’являться змодельовані оцінки. GA4 не показує «оригінал + модель» окремо — підсумкові числа вже включають modeling.
Conversions: у GA4 → Reports → Conversions — числа включають змодельовані конверсії. Це може здатися зростанням відносно попереднього стану (де їх не було взагалі), але насправді це повернення до реальнішої оцінки.
Attribution: Google Ads показує «Modeled conversions» окремою колонкою в Campaign Reports. Розбивка: реальні конверсії (зі згодою) + змодельовані (від anonymous pings).
Реалістичні очікування від modeling
- При 20% відмов у банері: modeling повертає ~12–18% «загублених» конверсій
- При 40% відмов (типово для EU-сайтів): modeling повертає ~25–35%
- При 70%+ відмов (консервативний банер): modeling дає лише грубу оцінку, точність нижча
Моделювання не замінює реальні дані. Якщо конверсія — це покупка на 500 євро, а GA4 «бачить» її через модель — це статистична оцінка, не факт транзакції. Для e-commerce завжди порівнюйте GA4 конверсії з реальними замовленнями у CRM/касовій системі.
Google Signals і Consent Mode
Google Signals — функція GA4, що дозволяє бачити демографічні дані (вік, стать) і крос-девайс поведінку для авторизованих Google-користувачів.
З Consent Mode v2: Google Signals активується тільки для сеансів з analytics_storage=granted. Для сеансів з denied — навіть авторизовані Google-користувачі не трекаються через Signals.
Для використання Signals в GA4: Адмін → Property Settings → Google Signals → Activate. Плюс переконайтеся, що в GA4 Data Settings → Data Collection → «Google signals data collection» — увімкнено.
Типові помилки при впровадженні
Consent Initialization тег не перший. Якщо GA4 Configuration Tag спрацьовує до Consent Initialization — він відправляє хіт без урахування consent. Переконайтеся, що тригер — «Consent Initialization — All Pages», не «All Pages».
Відсутній
wait_for_update. Без нього GA4 відправляє анонімний пінг миттєво, ще до того, як CMP-бібліотека встигла перевірити збережену згоду повернення відвідувача. Результат: зайвіdeniedпінги від людей, що вже давали згоду.Basic режим прийнятий за advanced. Перевірте: якщо в Network не бачите запитів до
google-analytics.com/g/collectдо натискання в банері — у вас basic.CMP не синхронізований з GTM. Деякі CMP пушать в dataLayer власні події (наприклад,
CookiebotOnAccept), але якщо GTM-шаблон не встановлено або не опубліковано — ці події нікуди не ведуть. Тег оновлення consent не спрацьовує.Неправильні коди регіонів. Параметр
regionуgtag('consent','default')приймає ISO 3166-1 alpha-2 коди країн. Частий помилка:'EU'замість переліку країн. Коду'EU'не існує — треба перерахувати всі 30 країн EEA.Відсутні
ad_user_dataіad_personalization. Якщо ви реалізовували Consent Mode v1 раніше, ці два нові параметри v2 могли не потрапити до коду. Без них Google Ads не отримує сигналу і не може персоналізувати рекламу для EEA.Тест тільки в GTM Preview, не в продакшні. Preview-режим може маскувати проблеми з порядком завантаження скриптів. Завжди перевіряйте на live-версії через Tag Assistant.
Банер відсутній на деяких сторінках. Якщо CMP-скрипт завантажується тільки через GTM (не напряму в
<head>), і GTM не спрацьовує на певних сторінках (404, AMP, окремі шаблони) — на них consent не ініціалізується коректно.
Чек-лист впровадження
- Вибрано і встановлено сертифіковану CMP
- GTM: тег Consent Initialization налаштований з тригером «Consent Initialization — All Pages»
- Дефолтний стан:
analytics_storage,ad_storage,ad_user_data,ad_personalization=deniedдля EEA - Параметр
wait_for_update: 500присутній - CMP оновлює стан через
gtag('consent','update')після рішення - Tag Assistant показує
deniedдо банера іgrantedпісля «Прийняти все» - В GA4 Consent Overview бачите ненульовий % granted сеансів
- Advanced режим підтверджений: анонімні пінги відправляються до взаємодії з банером
- Регіональні правила налаштовані (якщо є non-EEA трафік)
- Google Signals активований у GA4 (якщо потрібна демографіка)
Пов’язані матеріали
Pillar:
Налаштування GA4:
GTM:
Схожі статті
Google Analytics 4 (GA4): що це, як налаштувати з нуля та чим відрізняється від Universal Analytics
Повний посібник по GA4 для початківців: що таке Google Analytics 4, відмінності від Universal Analytics, як налаштувати ресурс з нуля, події, конверсії, інтеграція з Google Ads.
ChecklistsНалаштування Google Analytics 4: чек-лист (69 пунктів)
Покрокове налаштування GA4: 69 пунктів від KPI і Consent Mode v2 до server-side GTM і BigQuery. З прикладами коду і шляхами в інтерфейсі.
Google analyticsЯк налаштувати події та конверсії в GA4
Покрокове налаштування подій і конверсій у Google Analytics 4: автоматичні, рекомендовані та кастомні події, Key Events, Enhanced Measurement, GTM і перевірка через DebugView.