Google Consent Mode v2 + GTM: Guia LGPD

CF
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.

Diagrama comparativo entre Google Consent Mode v2 e Google Tag Manager mostrando a ordem de disparo de tags

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 publicidade
  • ad_user_data — envio de dados do usuário para publicidade
  • ad_personalization — personalização de anúncios
  • analytics_storage — cookies de analytics
  • functionality_storage — cookies funcionais
  • personalization_storage — cookies de personalização
  • security_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:

  1. gtm.init_consent — Inicialização de consentimento (dispara primeiro, antes de tudo)
  2. gtm.init — Inicialização geral
  3. gtm.js — All Pages (onde GA4, Google Ads, Facebook Pixel disparam)
  4. DOM Ready — DOM carregado
  5. 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.js em vez de gtm.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":

  1. Clique em "+" para adicionar um trigger
  2. Clique em "+" novamente para criar um novo trigger
  3. Nomeie: "Consent Initialization - All Pages"
  4. Clique em "Escolher o tipo de acionador"
  5. Selecione "Inicialização de consentimento" (na seção "Outros")
  6. Mantenha "Todos os eventos de inicialização de consentimento"
  7. 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:

  1. GTM carrega — inicia a sequência de eventos
  2. gtm.init_consent dispara — sua CMP configura todos os sinais como denied (negado)
  3. GTM segura as tags — GA4, Google Ads, Facebook, TikTok, etc. ficam em fila
  4. Banner aparece — visitante vê o banner de consentimento
  5. Visitante interage — aceita, rejeita ou personaliza
  6. CMP atualiza os sinaisgtag("consent", "update", {...})
  7. 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 denied por padrão (conformidade imediata)
  • Usa o trigger correto (gtm.init_consent) automaticamente
  • Configura ads_data_redaction e url_passthrough para 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.

CF

Escrito por Equipe CookieFácil

Equipe brasileira especializada em LGPD, privacidade digital e conformidade de cookies. Compartilhamos conhecimento para ajudar empresas a proteger seus sites e visitantes.