Для бизнеса5 мин. чтения

Согласие на cookie и рекламное отслеживание: Google Consent Mode v2 без путаницы

Баннер cookie собирает согласие, а Consent Mode v2 передаёт его тегам Google. Четыре сигнала, состояние «denied» по умолчанию, режимы basic и advanced и как всё это проверить.

С марта 2024 года Google требует, чтобы для посетителей из Европейской экономической зоны (ЕЭЗ) вместе с данными передавались сигналы согласия, если вы хотите пользоваться измерениями, персонализацией рекламы и ремаркетингом. Баннер cookie есть на многих сайтах, но нередко он ничего не сообщает тегам Google или сообщает только половину. Этот текст — о технической стороне: что делает баннер, что делает Consent Mode v2 и как проверить, что они понимают друг друга.

Это технический, а не юридический совет; сверьтесь с действующими правилами.

Баннер собирает, Consent Mode передаёт

Путаница чаще всего возникает потому, что две разные вещи называют одним словом «согласие»:

  • Инструмент управления согласием (CMP) — баннер или плагин cookie, например Complianz. Он спрашивает посетителя, сохраняет ответ и позволяет потом передумать.
  • Consent Mode — механизм Google, через который теги Google узнают о выборе посетителя и ведут себя соответственно.

Одно без другого не работает. Баннер без Consent Mode ответ собирает, но теги Google о нём не знают. Consent Mode без баннера нечего передавать. Поэтому вопрос «есть ли у нас Consent Mode?» на самом деле означает: передаёт ли наш баннер выбор тегам Google и передаёт ли он все четыре сигнала.

Четыре сигнала

Сигнал Что означает
ad_storage можно ли сохранять рекламные cookie
analytics_storage можно ли сохранять аналитические cookie
ad_user_data можно ли отправлять данные пользователя в Google для рекламы
ad_personalization можно ли показывать персонализированную рекламу и ремаркетинг

Первые два были уже в первой версии Consent Mode. Вторая версия добавила ad_user_data и ad_personalization. Баннер, который отправляет только первые два сигнала, делает половину работы: без новых у Google нет сигналов согласия, которых она требует для посетителей из ЕЭЗ, поэтому персонализированная реклама и ремаркетинг для них работать не будут.

Состояние по умолчанию — «denied», и до тегов

Пока посетитель ничего не нажал, все четыре сигнала должны быть «denied». Это состояние по умолчанию должно быть задано до любого тега Google — иначе первое событие уходит, когда ещё неизвестно, согласен ли посетитель.

gtag('consent', 'default', {
  ad_storage: 'denied',
  analytics_storage: 'denied',
  ad_user_data: 'denied',
  ad_personalization: 'denied',
  wait_for_update: 500
});

wait_for_update — сколько миллисекунд теги ждут ответа баннера. Когда посетитель сделал выбор, баннер отправляет обновление — только для тех категорий, на которые он согласился. Если согласился на всё:

gtag('consent', 'update', {
  ad_storage: 'granted',
  analytics_storage: 'granted',
  ad_user_data: 'granted',
  ad_personalization: 'granted'
});

Если согласился только на статистику, granted получает только analytics_storage.

Писать этот код вручную обычно не нужно — плагины согласия с интеграцией Consent Mode добавляют его сами. Ваша задача — проверить, что интеграция включена, что отправляются все четыре сигнала и что состояние по умолчанию появляется раньше тегов Google. Когда теги на сайт ставят несколько инструментов, например плагин и вручную вставленный код, этот порядок легко нарушить.

Режим basic или advanced

  • Basic. Теги Google вообще не загружаются, пока посетитель не согласится. От отказавшихся не приходит ничего.
  • Advanced. Теги загружаются сразу с состоянием «denied» и, пока согласия нет, отправляют так называемые «cookieless pings» — сигналы без cookie. По ним Google моделирует конверсии, которые не увидела напрямую.

Режим advanced даёт больше данных, но часть юристов считает его рискованным: данные уходят в Google ещё до согласия, пусть и без cookie. Что выбрать, решает владелец сайта вместе с юристом. Если сомневаетесь, basic — более осторожный выбор.

Что на практике означает каждое «нет»

  • analytics_storage «denied» — GA4 не создаёт cookie _ga и не узнаёт вернувшегося посетителя.
  • ad_storage «denied» — идентификатор клика по рекламе (gclid) не сохраняется в cookie, поэтому более позднюю покупку сложнее связать с рекламой.
  • ad_user_data «denied» — данные пользователя не отправляются в Google для рекламы, в том числе хешированные e-mail и телефоны для расширенных конверсий.
  • ad_personalization «denied» — посетитель не попадает в аудитории ремаркетинга.

Если раньше теги работали без согласия, после правильной настройки цифры уменьшатся. Это не поломка: теперь вы видите только тех, кто согласился.

У Meta нет Consent Mode

Consent Mode — механизм только Google. Пиксель Meta его не понимает, поэтому до согласия пиксель просто не должен работать. Обычно это делает сам плагин согласия: придерживает скрипт пикселя, пока посетитель не согласится на маркетинговые cookie. Другой способ — команда пикселя fbq('consent', 'revoke') перед fbq('init', …) и fbq('consent', 'grant'), когда посетитель согласился. Если вы отправляете события в Meta ещё и с сервера, сервер должен проверять согласие сам.

Как проверить, что всё работает

  1. Откройте сайт в окне инкогнито и не нажимайте на баннер.
  2. В инструментах разработчика браузера (F12 → Application → Cookies) проверьте, что нет cookie _ga (Google Analytics) и _fbp (пиксель Meta).
  3. Подключите сайт в Google Tag Assistant (tagassistant.google.com) и в разделе согласия посмотрите, задано ли состояние по умолчанию со всеми четырьмя сигналами «denied» до первого тега.
  4. Нажмите «Согласен» и проверьте, появилось ли обновление с «granted» и появились ли cookie.
  5. В новом окне инкогнито нажмите «Отклонить» — cookie не должны появиться и после этого.

Для тех, кто хочет глубже: в запросах Google на вкладке сети (F12 → Network) параметр gcs показывает состояние согласия — G100 означает, что рекламные и аналитические cookie не разрешены, G111 — разрешены.

Нужно ли согласие для аналитики?

Самый частый вопрос — можно ли использовать Google Analytics без согласия. Ответ зависит не от техники: это решает владелец сайта вместе с юристом по действующим правилам. В Литве согласие, как правило, нужно. Мы делаем техническую часть — чтобы выбор посетителя, каким бы он ни был, правильно передавался всем тегам.

Заказывая новый сайт или его переделку, впишите это в техническое задание: плагин согласия с Consent Mode v2, все четыре сигнала, состояние «denied» по умолчанию, выбранный режим, пиксель Meta только после согласия. Как составить такое задание, мы писали в статье о техническом задании для программиста. О нашей услуге по созданию сайтов — на отдельной странице.

Что сделать завтра

  1. В окне инкогнито проверьте, не создаются ли cookie _ga и _fbp до нажатия на баннер.
  2. В настройках плагина согласия проверьте, включена ли интеграция Consent Mode v2 и отправляются ли все четыре сигнала.
  3. Вместе с юристом решите, какой режим вы используете — basic или advanced.

Частые вопросы

Заменяет ли Consent Mode баннер cookie?

Нет. Баннер собирает согласие, Consent Mode только передаёт его тегам Google. Нужно и то, и другое.

Что я увижу в отчётах об отказавшихся посетителях?

В режиме basic — ничего: их посещения и покупки в GA4 и Google Ads не попадают. В режиме advanced Google может оценить часть их конверсий с помощью моделирования и показать в обобщённом виде, без отдельных посетителей.

Нужен ли Consent Mode для посетителей не из ЕС?

Требование Google касается посетителей из ЕЭЗ. Технически состояние по умолчанию можно задавать по региону (параметр region), но для литовского сайта проще применять одинаковый порядок ко всем посетителям.

Другие записи

Все записи