Рекламные технологии5 мин чтения
Google Consent Mode v2: полное руководство по внедрению
Как внедрить Google Consent Mode v2: четыре сигнала согласия, команды gtag default и update, настройка в Tag Manager, региональные значения и тесты.
Google Consent Mode v2 — это набор сигналов, которые сообщают тегам Google, согласился ли посетитель на хранение данных для рекламы и аналитики и можно ли использовать его данные для рекламы. Чтобы внедрить его, задайте значения denied по умолчанию до загрузки любого тега Google, а затем отправляйте обновление, когда посетитель делает выбор в вашем баннере согласия.
Что такое Google Consent Mode v2?
Consent Mode (режим согласия) — это API Google для передачи выбора посетителя в отношении согласия тегам Google, таким как Google Analytics 4 (GA4), Google Ads и Floodlight. Сам он не показывает баннер и не собирает согласие. Он меняет поведение тегов Google в зависимости от состояния, которое сообщает ваша платформа управления согласием (CMP).
Во второй версии к исходной паре добавились два параметра. Вот четыре сигнала, которые нужно задать:
| Параметр | Чем он управляет |
|---|---|
ad_storage |
Можно ли использовать файлы cookie и аналогичные хранилища для рекламы |
analytics_storage |
Можно ли использовать хранилище для аналитики, например для измерения длительности посещения |
ad_user_data |
Можно ли отправлять пользовательские данные в Google в рекламных целях |
ad_personalization |
Можно ли использовать данные для персонализированной рекламы, например ремаркетинга |
Каждый параметр принимает значение 'granted' или 'denied'. Google также определяет functionality_storage, personalization_storage и security_storage; они полезны в основном для сопоставления согласия с другими тегами в Google Tag Manager (GTM).
Почему Consent Mode v2 так важен?
С марта 2024 года Google требует передавать сигналы режима согласия для трафика из Европейской экономической зоны (ЕЭЗ), чтобы можно было пользоваться его функциями измерения и персонализации рекламы. Если теги Google не получают ad_user_data и ad_personalization, такие функции, как аудитории ремаркетинга и отчасти измерение конверсий, для этих посетителей ограничиваются.
Это политика Google, а не закон. Юридическая обязанность спрашивать разрешения, прежде чем сохранять информацию на устройстве или считывать ее, вытекает из статьи 5(3) Директивы ePrivacy и имплементирующих ее национальных законов в сочетании со стандартом действительного согласия, установленным Общим регламентом по защите данных (GDPR). Consent Mode — просто способ передать это решение в системы Google.
Как задать состояние согласия по умолчанию?
Вызовите gtag('consent', 'default', ...) до загрузки тега Google или контейнера GTM, установив каждому параметру значение 'denied' везде, где требуется предварительное согласие. Порядок важен: значение по умолчанию, пришедшее после срабатывания тега, уже опоздало.
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('consent', 'default', {
ad_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
analytics_storage: 'denied',
wait_for_update: 500
});
</script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');
</script>
wait_for_update — это количество миллисекунд, в течение которых теги Google ждут обновления согласия, прежде чем продолжить работу с состоянием по умолчанию. Так ваша CMP успевает загрузиться и применить сохраненный выбор вернувшегося посетителя.
Если у вас есть посетители из нескольких юрисдикций, вы можете добавить в команду default массив region с кодами ISO 3166-2 — например, чтобы по умолчанию запрещать хранение в ЕЭЗ и Великобритании, а в других регионах использовать иные значения. Оставьте команду default без region в качестве резервной и посоветуйтесь с юристами, прежде чем что-либо разрешать по умолчанию.
Как обновить согласие после выбора посетителя?
Когда посетитель принимает, отклоняет или сохраняет настройки, вызовите gtag('consent', 'update', ...) с новым состоянием. Сопоставляйте категории вашего баннера с сигналами Google в одном месте:
// Вызывайте эту функцию каждый раз, когда посетитель сохраняет выбор в баннере
function applyConsent(choices) {
const ads = choices.marketing ? 'granted' : 'denied';
gtag('consent', 'update', {
ad_storage: ads,
ad_user_data: ads,
ad_personalization: ads,
analytics_storage: choices.analytics ? 'granted' : 'denied'
});
}
Для вернувшихся посетителей выполняйте такое же обновление при каждой загрузке страницы как можно раньше, используя выбор, сохраненный вашей CMP. Без этого каждая новая страница будет возвращаться к значению denied по умолчанию.
Когда посетитель отзывает согласие, отправьте обновление со значением 'denied'. Согласно статье 7(3) GDPR отозвать согласие должно быть так же легко, как и дать его, поэтому оставьте на виду способ снова открыть баннер.
Сопоставить все три рекламных сигнала с одной маркетинговой категорией — распространенный и простой подход. Если ваш баннер предлагает отдельные переключатели для измерения рекламы и персонализации рекламы, сопоставляйте их по отдельности.
Как настроить Consent Mode в Google Tag Manager?
В GTM используйте шаблон CMP из галереи шаблонов сообщества (Community Template Gallery) или от вашего поставщика, который срабатывает по триггеру Consent Initialization – All Pages. Шаблон вызывает API GTM setDefaultConsentState и updateConsentState, поэтому писать код gtag самостоятельно не нужно.
Затем выполните следующие шаги:
- Включите обзор согласия в настройках контейнера, чтобы проверять настройки согласия для каждого тега.
- Убедитесь, что теги Google (GA4, Google Ads, Floodlight) используют встроенные проверки согласия.
- Добавьте дополнительные проверки согласия для тегов других компаний, например пикселя Meta или LinkedIn, чтобы они срабатывали только при наличии соответствующего согласия.
- Удалите старые триггеры, которые запускают теги на всех страницах без какого-либо условия согласия.
- Опубликуйте контейнер, а затем проверьте все в режиме предварительного просмотра.
Про шаг 3 команды чаще всего забывают. Consent Mode управляет только тегами Google; теги всех остальных поставщиков по-прежнему нужно блокировать до получения согласия.
Как убедиться, что Consent Mode работает?
Откройте режим предварительного просмотра GTM или Google Tag Assistant и проверьте вкладку Consent для каждого события. Вы должны увидеть состояние по умолчанию при загрузке страницы и обновление после взаимодействия с баннером. На вкладке сети в браузере запросы к Google содержат параметры согласия (gcs и gcd), отражающие текущее состояние.
Проверьте как минимум следующие сценарии:
- Первое посещение без взаимодействия: все сигналы в состоянии denied, рекламные и аналитические файлы cookie не устанавливаются.
- «Принять все»: сигналы переключаются на granted, а файлы cookie появляются только после клика.
- «Отклонить все»: сигналы остаются в состоянии denied, и ни один маркетинговый тег сторонних компаний не срабатывает.
- Вернувшийся посетитель: сохраненный выбор применяется в пределах окна
wait_for_update. - Отзыв согласия: если снова открыть баннер и отказаться, сигналы возвращаются в состояние denied.
Google Ads и GA4 также показывают диагностику согласия в административном интерфейсе. Проверьте ее через несколько дней после запуска, чтобы убедиться, что сигналы поступают для трафика из ЕЭЗ.
Какой режим выбрать: базовый или расширенный?
Есть два способа внедрить Consent Mode. В базовом режиме теги Google вообще не загружаются, пока посетитель не даст согласие. В расширенном режиме теги загружаются со значениями denied по умолчанию и отправляют запросы без файлов cookie, которые Google использует для моделирования.
Этот выбор связан с реальными компромиссами между конфиденциальностью и измерениями, о которых мы рассказываем в статье базовый и расширенный режимы согласия. Если вы используете серверный контейнер GTM, состояние согласия должно корректно проходить и через него; см. статью серверное тегирование и согласие.
Итоги
Consent Mode v2 сводится к трем привычкам: запрещать по умолчанию до запуска любого тега Google, обновлять состояние в момент, когда посетитель принимает решение, и отдельно блокировать теги сторонних компаний. Прежде чем полагаться на данные, протестируйте все сценарии, включая вернувшихся посетителей и отзыв согласия. Такие инструменты, как Cookiesh, позволяют автоматизировать большую часть этой работы благодаря встроенной поддержке Google Consent Mode v2 и шаблону для Google Tag Manager.
Эта статья носит общий информационный характер и не является юридической консультацией. Для решений, касающихся вашей конкретной ситуации, обратитесь к квалифицированному специалисту по защите данных.
Частые вопросы
Обязателен ли Google Consent Mode v2 по закону?
Ни один закон его не упоминает. Это требование Google: без сигналов согласия для трафика из ЕЭЗ такие функции, как ремаркетинг и часть измерения конверсий в Google Ads, ограничиваются. Юридическая обязанность запрашивать согласие вытекает из Директивы ePrivacy и GDPR.
Нужен ли баннер cookie, если я использую Consent Mode?
Да. Consent Mode — всего лишь канал, по которому теги Google узнают о решении посетителя. Вам по-прежнему нужен баннер или платформа управления согласием, которая задает вопрос, сохраняет ответ и блокирует трекеры, не принадлежащие Google.
Что изменилось между Consent Mode v1 и v2?
Во второй версии к исходным ad_storage и analytics_storage добавились ad_user_data и ad_personalization. Они сообщают Google, можно ли отправлять пользовательские данные для рекламы и можно ли использовать их для персонализированной рекламы, например ремаркетинга.
Каким должно быть значение wait_for_update?
Достаточным, чтобы ваша платформа согласия успела загрузиться и применить сохраненный выбор вернувшегося посетителя, но не больше. В примерах самой Google используется 500 миллисекунд; измерьте, как быстро инициализируется скрипт вашего баннера, и отталкивайтесь от этого.
Источники
Редакция Cookiesh
Инженеры по защите данных и специалисты по комплаенсу пишут практические руководства о согласии, файлах cookie и защите данных для продуктовых команд.