Google Consent Mode v2 + GTM: Guia LGPD
Implementar o Google Consent Mode v2 (GCM v2) no Google Tag Manager parece simples — mas um erro na configuração do trigger pode deixar seu site fora de conformidade com a LGPD sem que você perceba. Neste guia, explicamos a configuração correta passo a passo, o erro mais comum que vemos em produção, e como verificar que tudo está funcionando.
O Que é o Google Consent Mode v2?
O Google Consent Mode v2 é o protocolo do Google que permite que serviços como GA4, Google Ads e Floodlight respeitem automaticamente as escolhas de consentimento dos visitantes. Ele funciona através de 7 sinais de consentimento que sua CMP (Consent Management Platform) envia ao Google:
ad_storage— cookies de publicidadead_user_data— envio de dados do usuário para publicidadead_personalization— personalização de anúnciosanalytics_storage— cookies de analyticsfunctionality_storage— cookies funcionaispersonalization_storage— cookies de personalizaçãosecurity_storage— cookies de segurança (sempre permitido)
O ponto crucial: esses sinais precisam ser configurados antes de qualquer tag do Google disparar. E é aqui que o GTM entra — e onde a maioria dos sites erra.
A Ordem de Disparo do GTM: Por Que Importa para a LGPD
O Google Tag Manager tem uma ordem fixa de execução que não pode ser alterada. Entender essa ordem é fundamental para a conformidade:
- gtm.init_consent — Inicialização de consentimento (dispara primeiro, antes de tudo)
- gtm.init — Inicialização geral
- gtm.js — All Pages (onde GA4, Google Ads, Facebook Pixel disparam)
- DOM Ready — DOM carregado
- Window Loaded — Página totalmente carregada
A tag da sua CMP deve obrigatoriamente disparar no passo 1 (gtm.init_consent). Isso garante que o estado de consentimento esteja definido antes de qualquer tag de rastreamento. Se a CMP disparar no passo 3 (All Pages), as tags de analytics e marketing já terão sido liberadas sem consentimento — violando o Art. 7 da LGPD.
O Erro Mais Comum: Trigger Errado
O erro que mais vemos em produção é a tag de consentimento configurada com o trigger "All Pages" em vez de "Consent Initialization - All Pages". No Tag Assistant do Google, isso aparece como:
- Tag com status "Exceção gerada" (Exception thrown)
- Trigger mostrando
gtm.jsem vez degtm.init_consent - Banner de cookies que não aparece ou aparece tarde demais
O resultado prático: todas as tags de rastreamento disparam sem esperar consentimento. GA4 coleta dados, Google Ads instala cookies, Facebook Pixel rastreia — tudo antes do visitante interagir com o banner. Para a ANPD, isso é tratamento de dados sem base legal.
Guia Passo a Passo: Configuração Correta no GTM
Passo 1: Importe o Template da Sua CMP
No GTM, vá em Modelos (Templates) no menu lateral. Clique em "Novo" e importe o arquivo .tpl da sua CMP. O CookieFácil oferece um template pronto para download no painel do dashboard.
Passo 2: Crie a Tag de Consentimento
Em Tags, crie uma nova tag usando o template importado. Configure o Site ID e a URL do CDN conforme as instruções da sua CMP.
Passo 3: Configure o Trigger Correto
Este é o passo mais importante. Na seção "Acionadores de disparo":
- Clique em "+" para adicionar um trigger
- Clique em "+" novamente para criar um novo trigger
- Nomeie: "Consent Initialization - All Pages"
- Clique em "Escolher o tipo de acionador"
- Selecione "Inicialização de consentimento" (na seção "Outros")
- Mantenha "Todos os eventos de inicialização de consentimento"
- Salve o trigger e a tag
Importante: Nunca use "All Pages", "DOM Ready" ou "Window Loaded" para tags de consentimento. Somente "Consent Initialization" garante que o consentimento seja configurado antes de todas as outras tags.
Passo 4: Publique e Verifique
Clique em "Enviar" → "Publicar" no GTM. Em seguida, abra o Tag Assistant (tagassistant.google.com) e acesse seu site. Você deve ver:
- A tag da CMP com status "Concluída" (check verde)
- Na seção "Mensagens", o evento "Inicialização de consentimento"
- Tags de analytics/ads com status "Concluída" somente após interação com o banner
O Fluxo Completo: Como Funciona na Prática
Quando configurado corretamente, o fluxo é o seguinte:
- GTM carrega — inicia a sequência de eventos
- gtm.init_consent dispara — sua CMP configura todos os sinais como
denied(negado) - GTM segura as tags — GA4, Google Ads, Facebook, TikTok, etc. ficam em fila
- Banner aparece — visitante vê o banner de consentimento
- Visitante interage — aceita, rejeita ou personaliza
- CMP atualiza os sinais —
gtag("consent", "update", {...}) - GTM libera as tags aprovadas — somente as categorias consentidas
Este fluxo garante que nenhum dado seja coletado antes do consentimento — exatamente o que a LGPD exige.
Troubleshooting: Problemas Comuns
Tag com "Exceção gerada"
Causa: Trigger configurado como "All Pages" em vez de "Consent Initialization". A API setDefaultConsentState do GTM só pode ser chamada durante gtm.init_consent. Chamada fora dessa fase gera exceção.
Solução: Troque o trigger para "Inicialização de consentimento" (veja Passo 3 acima).
Script bloqueado por CSP
Causa: O Content Security Policy (CSP) do site não inclui o domínio da CMP. Plataformas como Wake/FBITS, VTEX e Shopify têm CSPs restritas por padrão.
Solução: Adicione o domínio da CMP nas diretivas script-src, connect-src e style-src do CSP. Para o CookieFácil: cdn.cookiefacil.com.br.
Banner não aparece com Cloudflare
Causa: O Rocket Loader do Cloudflare reescreve o atributo type das tags <script> para adiar a execução. Isso quebra scripts de consentimento que precisam rodar primeiro.
Solução: Adicione data-cfasync="false" à tag script do banner. Isso faz o Rocket Loader ignorar o script. Quando a CMP é carregada via GTM (injectScript), o Rocket Loader não interfere — ele só afeta tags <script> no HTML.
Tags disparam antes do consentimento
Causa: Tags configuradas sem "Require additional consent" ou usando triggers que não respeitam Consent Mode (como triggers customizados de JavaScript).
Solução: Na configuração de cada tag (GA4, Google Ads, etc.), verifique que "Consentimento adicional necessário" está ativo com os tipos de consentimento corretos (analytics_storage para GA4, ad_storage para Ads).
Por Que Isso Importa para a LGPD?
O Art. 7, inciso I da LGPD é claro: o tratamento de dados pessoais só pode ser realizado "mediante o fornecimento de consentimento pelo titular". Cookies de analytics, marketing e redes sociais são considerados dados pessoais pela ANPD.
Se suas tags do Google disparam antes do consentimento, você está coletando dados sem base legal. As multas da ANPD podem chegar a 2% do faturamento, limitadas a R$50 milhões por infração. Além das multas, a ANPD pode determinar a eliminação dos dados coletados irregularmente — impactando diretamente suas campanhas de marketing.
A configuração correta do Consent Mode v2 no GTM não é apenas uma recomendação técnica — é uma exigência legal para qualquer site brasileiro que usa ferramentas de rastreamento.
CookieFácil + GTM: Conformidade Automática
O CookieFácil oferece um template GTM pronto que configura automaticamente todos os 7 sinais do Consent Mode v2. O template:
- Define todos os sinais como
deniedpor padrão (conformidade imediata) - Usa o trigger correto (
gtm.init_consent) automaticamente - Configura
ads_data_redactioneurl_passthroughpara melhor modelagem de conversões - Carrega o banner de cookies com CSS incluso (um único script, <20KB)
- Atualiza os sinais automaticamente quando o visitante interage com o banner
A instalação leva menos de 5 minutos: importe o template, crie a tag com seu Site ID, configure o trigger "Consent Initialization", publique e pronto.
Perguntas Frequentes
O Consent Mode v2 é obrigatório para sites brasileiros?
Tecnicamente, o Google exige o GCM v2 para anunciantes que segmentam usuários no Espaço Econômico Europeu. Mas para sites brasileiros que usam Google Ads ou GA4, a implementação é fortemente recomendada: sem ela, você perde dados de conversão e não tem como demonstrar conformidade LGPD para cookies do Google.
Posso usar "All Pages" como trigger da CMP?
Não. O trigger "All Pages" dispara no evento gtm.js, que acontece após a fase de inicialização de consentimento. A API setDefaultConsentState só funciona durante gtm.init_consent. Usar "All Pages" resulta em exceção e tags de rastreamento disparando sem consentimento.
O que acontece se o visitante não interagir com o banner?
O GTM aguarda o tempo configurado em wait_for_update (padrão: 500ms). Após esse tempo, as tags disparam com o estado padrão de consentimento — que é denied para todas as categorias. No modo Advanced do Consent Mode, o Google usa modelagem estatística para estimar conversões sem coletar dados individuais.
O Consent Mode v2 funciona com Facebook Pixel e TikTok?
O Consent Mode v2 é um protocolo do Google — ele controla diretamente apenas tags do Google (GA4, Ads, Floodlight). Para Facebook Pixel, TikTok e outros, use a funcionalidade de bloqueio de scripts da sua CMP (como o data-cf-category do CookieFácil) para impedir que eles carreguem antes do consentimento.
Como sei se meu site está em conformidade após a configuração?
Use o Tag Assistant do Google (tagassistant.google.com) para verificar: (1) a tag da CMP deve disparar no evento "Inicialização de consentimento", (2) as tags de rastreamento devem mostrar "Aguardando consentimento" antes da interação com o banner, (3) após aceitar, as tags mudam para "Concluída". Você também pode verificar no Console do navegador (F12) filtrando por consent.
Qual a diferença entre o modo Basic e Advanced do Consent Mode?
No modo Basic, as tags do Google só disparam após consentimento — nenhum dado é enviado se o visitante rejeitar. No modo Advanced, as tags disparam sem cookies quando o consentimento é negado, enviando pings anônimos que o Google usa para modelagem estatística. O Advanced preserva mais dados de marketing sem comprometer a privacidade. O CookieFácil implementa o modo Advanced por padrão.
Conclusão
Configurar o Google Consent Mode v2 no GTM corretamente resume-se a um único ponto crítico: usar o trigger "Consent Initialization" (gtm.init_consent) para a tag da sua CMP. Esse detalhe garante que o consentimento seja configurado antes de qualquer tag de rastreamento, mantendo seu site em conformidade com a LGPD.
Se você usa Google Analytics, Google Ads, ou qualquer outra tag no GTM, essa configuração não é opcional — é obrigatória para tratamento legal de dados pessoais no Brasil. O CookieFácil oferece um plano gratuito com template GTM incluso, Consent Mode v2 nativo e banner personalizável — tudo pronto em menos de 5 minutos.