Como Configurar o GA4 com Google Consent Mode v2
Desde março de 2024, o Google exige o Consent Mode v2 de anunciantes que atendem usuários do EEE e do Reino Unido, e as leis de privacidade exigem que o rastreamento aguarde o consentimento. Feito corretamente, o analytics continua funcionando de forma segura para a privacidade. Feito errado, você rastreia ilegalmente ou perde seus dados. Aqui está a ordem correta das etapas.
O que o Consent Mode v2 faz
O Consent Mode informa às tags do Google o que o visitante aceitou por meio de quatro sinais: analytics_storage, ad_storage e os dois adicionados na v2, ad_user_data e ad_personalization. Enquanto um sinal estiver denied, as tags não definem cookies para essa finalidade; no modo avançado, elas ainda enviam pings sem cookies que o Google usa para modelar conversões.
Passo 1: defina o padrão antes de qualquer tag
O padrão precisa rodar antes do carregamento do gtag.js ou do Google Tag Manager, no topo do <head>:
<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',
functionality_storage: 'granted',
security_storage: 'granted',
wait_for_update: 500
});
</script>
Gere este bloco junto com sua tag do GA4, na ordem certa, com o Google Tag Snippet Generator.
Passo 2: atualize o consentimento pelo banner
Quando o visitante fizer uma escolha, envie uma atualização apenas com o que ele aceitou e guarde a escolha para a próxima visita:
function onConsent(choice) { // ex.: { analytics: true, marketing: false }
gtag('consent', 'update', {
analytics_storage: choice.analytics ? 'granted' : 'denied',
ad_storage: choice.marketing ? 'granted' : 'denied',
ad_user_data: choice.marketing ? 'granted' : 'denied',
ad_personalization: choice.marketing ? 'granted' : 'denied'
});
localStorage.setItem('consent', JSON.stringify(choice));
}
Em carregamentos posteriores da página, chame a mesma atualização logo após o padrão, antes de as tags dispararem. Uma plataforma de gerenciamento de consentimento (Cookiebot, OneTrust, Usercentrics e outras) pode fazer isso por você; ou crie um banner com bloqueio de scripts usando o Cookie Consent Banner Generator.
Passo 3: regiões (opcional)
Você pode aplicar padrões mais restritos apenas onde a lei exige, adicionando uma lista region, por exemplo o EEE, o Reino Unido e a Suíça, e um padrão concedido nos demais lugares. Confirme com seu consultor jurídico quais regiões se aplicam a você.
Passo 4: verifique se funciona
- Abra o site em uma janela privada e não clique no banner. Não devem existir cookies
_ga, e as requisições ao Google devem trazergcs=G100. - Aceite tudo. As requisições devem mudar para
gcs=G111e o cookie_gadeve aparecer. - Recuse tudo e recarregue: nada deve ser definido novamente.
O Consent Mode Checker faz isso automaticamente: ele carrega sua página em um navegador real, lê o estado do consentimento e lista cada rastreador que dispara antes e depois do consentimento. Use o Tracking Tag Checker para ver quais tags uma página carrega.
Erros comuns
- Definir o padrão depois da tag do GA4 — o primeiro hit é enviado antes de o consentimento ser conhecido.
- Esquecer
ad_user_dataead_personalization— isso ainda é o Consent Mode v1. - Colocar pixels da Meta, TikTok ou LinkedIn fixos no código, fora do fluxo de consentimento: o Consent Mode controla apenas as tags do Google. Bloqueie os outros pixels até que o consentimento de marketing seja dado.
- Enviar eventos personalizados antes do consentimento. Crie-os com o GA4 Event Generator e envie-os pelo gtag para que o consentimento seja aplicado.