Як випустити Consent Mode v2 за п'ять хвилин
Мінімальна продакшн-готова конфігурація GA4 + Google Ads із Consent Mode v2, яку можна сьогодні ж вкласти в будь-який Next.js-проєкт.
З березня 2024 Google вимагає Consent Mode v2 для всіх, хто запускає Ads у EEA. Офіційна документація довга й заплутана. Ось форма, яка справді працює.
Дефолти
Завантажте gtag. Перш ніж щось відправляти, викличте gtag('consent', 'default', ...) із ad_storage, ad_user_data, ad_personalization та analytics_storage зі значенням denied. Виставте functionality_storage і security_storage на granted. Додайте wait_for_update: 500, щоб pageview-події ставали в чергу, поки користувач вирішує.
gtag('consent', 'default', {
ad_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
analytics_storage: 'denied',
functionality_storage: 'granted',
security_storage: 'granted',
wait_for_update: 500,
});
Opt-in
Коли користувач приймає cookie, викличте gtag('consent', 'update', {...granted}). Збережіть вибір у localStorage, щоб гості, які повертаються, не бачили банер знову.
gtag('consent', 'update', {
ad_storage: 'granted',
ad_user_data: 'granted',
ad_personalization: 'granted',
analytics_storage: 'granted',
});
localStorage.setItem('cookie_consent', 'granted');
Conversion tracking
На дії, що рахується конверсією (submit форми, реєстрація, покупка), відправляйте:
gtag('event', 'conversion', {
send_to: 'AW-XXXXXXX/abcDEF123',
});
З Consent Mode Google усе одно зафіксує її — лише змодельовану замість спостереженої — якщо згоди не було. Дані не втрачаються.
Повний сніпет
Ми відкрили вихідний код того самого Analytics-компонента, який використовуємо в кожному клієнтському проєкті. Це 90 рядків, поважає reduced motion і SSR, і обкатано в продакшні. Хочете копію — відповідайте на наш welcome-лист розсилки, і ми надішлемо.