Внедрите Google Consent Mode V2 шаг за шагом — исчерпывающее руководство
Что такое Google Consent Mode V2
Consent Mode V2 — это API Google, который регулирует поведение тегов Google в зависимости от статуса согласия. Вместо принципа «всё или ничего» теги могут загружаться в ограниченном, бескуковом состоянии, когда согласие не предоставлено, а затем переключаться на полное отслеживание, как только пользователь даёт согласие. Google сделал его обязательным для рекламодателей ЕЭЗ в марте 2024 года.
Без него: моделирование конверсий останавливается, аудитории ремаркетинга сокращаются, а Smart Bidding деградирует.
Четыре параметра согласия
- ad_storage — управляет рекламными файлами cookie
- analytics_storage — управляет аналитическими файлами cookie
- ad_user_data — управляет тем, отправляются ли данные пользователя для рекламы (новое в V2)
- ad_personalization — управляет ремаркетингом и динамической рекламой (новое в V2)
Два новых параметра V2 — ad_user_data и ad_personalization — это то, что отличает V2 от V1. Если у вас есть только ad_storage и analytics_storage, вы должны добавить новые параметры.
Режим Basic против Advanced
Basic: теги не загружаются, пока не предоставлено согласие. Просто, но вы теряете все данные от отклоняющих пользователей.
Advanced: теги загружаются немедленно в ограниченном режиме, отправляя бескуковые пинги без персональных данных. Google использует их для моделирования конверсий, восстанавливая до 70% потерянных конверсий. Всегда используйте режим Advanced.
Шаг 1: установите состояние согласия по умолчанию
Разместите это перед любыми тегами Google в вашем <head>:
gtag('consent', 'default', { 'ad_storage': 'denied', 'analytics_storage': 'denied', 'ad_user_data': 'denied', 'ad_personalization': 'denied', 'wait_for_update': 500 });
Параметр wait_for_update даёт вашей CMP 500 мс на восстановление согласия вернувшегося посетителя, прежде чем теги продолжат работу в режиме denied.
Шаг 2: обновите согласие по выбору пользователя
Когда пользователь нажимает «Принять»:
gtag('consent', 'update', { 'ad_storage': 'granted', 'analytics_storage': 'granted', 'ad_user_data': 'granted', 'ad_personalization': 'granted' });
Для частичного согласия (только аналитика, без рекламы) обновляйте только предоставленные параметры.
Шаг 3: реализация в GTM
Включите Consent Overview в GTM (Admin > Container Settings). Создайте тег Consent Initialization со сниппетом по умолчанию. Настройте параметры Consent Settings каждого тега так, чтобы требовать соответствующие параметры. Большинство CMP отправляют событие dataLayer при изменении согласия — создайте для него триггер.
Шаг 4: проверьте вашу реализацию
- Tag Assistant: проверьте вкладку Consent — все параметры должны показывать Denied до взаимодействия и Granted после «Принять»
- dataLayer: ищите записи consent default и consent update
- GA4 DebugView: события должны показывать индикаторы согласия
Моделирование конверсий
В режиме Advanced бескуковые пинги от несоглашающихся пользователей питают модели конверсий Google. Требования: 1000+ событий кликов по рекламе в день в течение 7 дней с предоставленным согласием. Когда активно, моделирование восстанавливает 50–70% потерянных конверсий.
Распространённые ошибки
- Сниппет по умолчанию загружается после тегов Google (теги срабатывают в режиме granted по ошибке)
- Отсутствуют параметры ad_user_data или ad_personalization
- wait_for_update установлено в 0 (вернувшиеся посетители теряют восстановление согласия)
- Обновление согласия срабатывает безусловно при каждой загрузке страницы
Пропустите сложности с FlexyConsent
FlexyConsent обрабатывает всё это автоматически: состояние denied по умолчанию, команды update, все четыре параметра, TCF 2.3, Microsoft UET Consent Mode, восстановление согласия вернувшихся посетителей — всё из одного тега script. Планы от EUR 0/месяц.