Consent mode і cookie-банер: як згода користувачів впливає на аналітику
Що таке consent mode v2, чим базовий режим відрізняється від розширеного, як відмова від cookies змінює дані GA4 і рекламних кабінетів, і як налаштувати банер, щоб і дотримуватися правил, і не втратити аналітику.

Якщо ваш сайт працює з користувачами з ЄС або ви рекламуєтесь у Google на європейську аудиторію, питання згоди на cookies — не формальність. Від того, як налаштовано банер і consent mode, залежить, скільки даних побачать GA4 і Google Ads. Нижче — практичне пояснення без юридичних тонкощів (їх варто перевірити з юристом).
Що таке consent mode
Consent mode — механізм Google, через який сайт повідомляє тегам Google, на що користувач дав згоду. Google описує його в довідці Google Ads. Основні сигнали:
| Сигнал | Що контролює |
|---|---|
analytics_storage | cookies аналітики (GA4) |
ad_storage | рекламні cookies |
ad_user_data | передача даних користувача в Google для реклами |
ad_personalization | персоналізована реклама (ремаркетинг) |
Останні два сигнали з'явилися у версії consent mode v2; для показу персоналізованої реклами користувачам з ЄЕЗ Google вимагає їх передачі.
Базовий і розширений режими
| Базовий | Розширений | |
|---|---|---|
| Теги до згоди | не завантажуються | завантажуються з обмеженнями |
| Дані при відмові | не надходять | надходять «пінги» без cookies |
| Моделювання конверсій | обмежене | можливе на основі пінгів |
| Складність | простіше | потрібна ретельна перевірка |
У розширеному режимі GA4 і Google Ads можуть моделювати частину поведінки і конверсій користувачів, які відмовилися. Це означає: частина цифр у звітах — оцінка, а не підрахунок.
Як це змінює ваші дані
- GA4 показує менше сесій і користувачів, ніж реально відвідали сайт; частина з них може бути змодельована.
- У BigQuery експорті немає змодельованих даних — там лише те, що реально зібрано. Тому цифри в BigQuery і в інтерфейсі GA4 розходяться (експорт у BigQuery).
- Атрибуція слабшає: для користувачів без згоди складно зв'язати сесії, і більше трафіку потрапляє в «без джерела».
- Рекламні кабінети моделюють конверсії, тому їхні цифри ще далі від CRM (розбіжності GA4 і CRM).
Як налаштувати правильно
- Банер з рівноцінними кнопками «Прийняти» і «Відхилити» на першому екрані — вимога багатьох регуляторів у ЄС.
- Стан за замовчуванням —
deniedдля регіонів, де потрібна згода, до вибору користувача. - Передача оновлення згоди одразу після кліку, без перезавантаження.
- Платформа керування згодою (CMP) — готові рішення інтегруються з consent mode; власний банер теж можливий, якщо правильно передає сигнали.
- Перевірка в Tag Assistant: які теги спрацьовують до і після згоди.
- Документування у політиці конфіденційності: які cookies, навіщо, як відкликати згоду.
// стан за замовчуванням до вибору користувача
gtag('consent', 'default', {
analytics_storage: 'denied',
ad_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
wait_for_update: 500
});
// після кліку «Прийняти»
gtag('consent', 'update', {
analytics_storage: 'granted',
ad_storage: 'granted',
ad_user_data: 'granted',
ad_personalization: 'granted'
});
Як компенсувати втрати даних етично
- Гроші — з CRM: виручка, замовлення і юніт-економіка не залежать від cookies.
- First-party дані: UTM і джерело, збережені разом із замовленням або заявкою (у межах, дозволених політикою).
- Серверні події для оплачених замовлень — з урахуванням згоди (серверний трекінг).
- Агреговані метрики (MER, загальний CAC) замість спроб відстежити кожного користувача.
Що показувати в дашборді
- частку сесій зі згодою (якщо ви збираєте цей сигнал) — як метрику якості даних;
- примітку, що дані GA4 частково змодельовані;
- фінансові KPI лише з CRM.
Чекліст
- Банер з рівноцінними «Прийняти» і «Відхилити»
- Стан за замовчуванням — denied для регіонів зі згодою
- Передаються всі 4 сигнали consent mode v2
- Теги перевірені в Tag Assistant
- Політика конфіденційності описує cookies
- Фінансові метрики — з CRM
- Команда знає, що частина даних GA4 — моделювання
Покроково: впроваджуємо consent mode v2
Consent mode використовує чотири основні сигнали: ad_storage, analytics_storage, ad_user_data і ad_personalization. Налаштування за документацією Google щодо consent mode:
- Встановіть значення за замовчуванням до завантаження будь-яких тегів. У регіонах, де потрібна згода, все за замовчуванням —
denied. - Підключіть банер згоди (CMP). Найкраще — такий, що інтегрується з consent mode і сам надсилає оновлення.
- Надсилайте оновлення, коли користувач зробив вибір, і на кожному наступному завантаженні сторінки — зі збереженого вибору.
- Перевірте в Tag Assistant, що default спрацьовує першим, а update — після вибору.
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
ad_storage: 'denied',
analytics_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
wait_for_update: 500 // мс очікування CMP перед запуском тегів
});
</script>
<!-- далі сніпет Google tag / GTM, потім CMP -->
<script>
// викликається банером, коли користувач приймає лише аналітику
function onConsent(choice) {
gtag('consent', 'update', {
analytics_storage: choice.analytics ? 'granted' : 'denied',
ad_storage: choice.ads ? 'granted' : 'denied',
ad_user_data: choice.ads ? 'granted' : 'denied',
ad_personalization: choice.ads ? 'granted' : 'denied'
});
}
</script>
Якщо ви працюєте на ринках з різними правилами, значення за замовчуванням можна задавати для окремих регіонів параметром region. Які правила стосуються саме вас, має підтвердити відповідальний за юридичну відповідність.
Приклад: що рівень згоди робить зі звітами
Ілюстративний місяць, 100 000 відвідувачів з ринків, де показується банер:
| Вибір | Частка | Відвідувачів | У звітах GA4 (базовий режим) |
|---|---|---|---|
| Прийняти все | 55% | 55 000 | вимірюються повністю |
| Лише аналітика | 10% | 10 000 | вимірюються, без персоналізації реклами |
| Відхилити / проігнорувати | 35% | 35 000 | не вимірюються |
У базовому режимі GA4 бачить 65% відвідувачів. Якщо замовлення ви рахуєте з GA4, конверсія лишається приблизно правильною (ті, хто погодився, конвертуються схоже, хоча не обов'язково так само), але абсолютні замовлення, користувачі й виручка — приблизно на третину нижчі за реальні. Саме тому гроші треба брати з бекенду, а GA4 використовувати для часток і коефіцієнтів. У розширеному режимі Google моделює частину відсутньої поведінки за пінгами без cookies — коли ресурс відповідає порогам трафіку для моделювання.
Відстежуйте рівень згоди як окрему метрику на дашборді. Редизайн банера чи оновлення CMP може змінити його на багато пунктів за ніч — і разом з ним зсунуться всі похідні числа.
Чекліст перевірки
- Значення за замовчуванням встановлюються до завантаження GTM/gtag (перевірте порядок у коді сторінки)
- При «відхилити» cookie
_gaне створюється (базовий режим) або теги надсилають лише пінги без cookies (розширений) - При «прийняти» спрацьовує update і з'являються cookies
- Вибір зберігається між сторінками і візитами
- Теги рекламних платформ поважають той самий вибір
- Відкликати згоду пізніше можна так само легко, як і надати
- Рівень згоди відстежується (зі статистики CMP або окремою подією)
Дизайн банера: чесно, а не маніпулятивно
Рівень згоди сильно залежить від дизайну банера, і є спокуса підняти його «темними патернами». Регулятори і органи захисту даних багатьох країн публікували рекомендації проти цього (наприклад, настанови EDPB щодо оманливих патернів дизайну). Практичні правила, що тримають вас у безпечних межах і все одно дають пристойний рівень згоди:
| Робіть | Уникайте |
|---|---|
| Кнопки «Прийняти» і «Відхилити» однаково помітні на першому рівні | прихованої чи сірої кнопки відмови |
| Коротке зрозуміле пояснення, для чого аналітика | заздалегідь поставлених галочок |
| Детальний вибір (аналітика, реклама) на другому рівні | повторних спливаючих вікон після відмови |
| Постійне посилання, щоб змінити вибір пізніше | блокування сайту, доки користувач не погодиться |
Зрозумілий і шанобливий банер зазвичай дає стабільний рівень згоди, з яким можна планувати. Маніпулятивний — провокує скарги і може бути змушений змінитися, після чого рівень згоди однаково падає за ніч.
Що це означає для дашборду
Поряд з метриками користувачів і сесій додайте коротку примітку — наприклад, «виміряно для відвідувачів зі згодою, ~65% трафіку», — а виручку тримайте на даних бекенду. Власники легко приймають часткове вимірювання, коли його пояснено. Довіру втрачають тоді, коли числа падають без жодного пояснення.
Часті запитання
Чи потрібен cookie-банер українському сайту?
Якщо ви працюєте з користувачами з ЄС або рекламуєтесь на них, — практично так. Для конкретних вимог до вашого бізнесу зверніться до юриста.
Чому після запуску банера впали сесії в GA4?
Бо частина користувачів відмовилась, і їхні візити не записуються повністю. Це очікуваний ефект, а не поломка.
Чи можна не показувати банер і просто не використовувати cookies?
Можна обмежитися аналітикою без cookies, але для GA4 і реклами Google з персоналізацією згода в ЄЕЗ потрібна.
Чи потрапляють змодельовані дані в BigQuery?
Ні. Експорт містить лише фактично зібрані події, тому цифри в BigQuery зазвичай нижчі, ніж в інтерфейсі.

