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: Admin → 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 и predictive audiences. Со схемами кода и путями в интерфейсе.
Google analyticsКак настроить события и конверсии в GA4
Пошаговая настройка событий и конверсий в Google Analytics 4: автоматические, рекомендованные и кастомные события, Key Events, Enhanced Measurement, GTM и проверка через DebugView.