Integração Google Consent Mode v2: Da LGPD ao Google Analytics em 5 Minutos

O CookieFácil injeta o gtag('consent', 'default', {...}) antes de qualquer tag do Google — automaticamente. Você não precisa escrever uma linha de gtag.

O que é a integração com o Google Consent Mode v2?

A integração com o Google Consent Mode v2 conecta sua plataforma de consentimento ao sistema de rastreamento do Google. Quando um visitante rejeita cookies, o GA4 e o Google Ads entram em modo de modelagem baseada em consentimento — estimando conversões sem coletar dados individuais — em vez de disparar rastreamento completo. O resultado: conformidade com a LGPD sem perder a inteligência das suas campanhas.

Por que a maioria das implementações de GCM v2 está errada

O Google Consent Mode v2 só funciona corretamente se o gtag('consent', 'default', {...}) for disparado antes de qualquer tag do Google ser carregada. A ordem de execução é o erro mais comum — e o mais grave. Um banner que mostra o aviso de cookies depois que os scripts já carregaram não é conformidade: é evidência de violação.

Padrão errado — GTM antes do consent default

<!-- ERRADO: GTM carregado antes do consent default -->
<script>
  (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({
    'gtm.start': new Date().getTime(),event:'gtm.js'
  });var f=d.getElementsByTagName(s)[0],
  j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';
  j.async=true;j.src=
  'https://www.googletagmanager.com/gtm.js?id='+i+dl;
  f.parentNode.insertBefore(j,f);
  })(window,document,'script','dataLayer','GTM-XXXXXX');
</script>

<!-- Tarde demais: consent default DEPOIS do GTM -->
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('consent', 'default', {
    'ad_storage': 'denied',
    'analytics_storage': 'denied'
  });
</script>

Padrão correto — snippet do CookieFácil em priority 1

<!-- CORRETO: CookieFácil primeiro, com data-cfasync="false" -->
<script
  src="https://cdn.cookiefacil.com.br/loader.js?site=SEU_ID"
  data-cfasync="false"
  async
></script>

<!-- CookieFácil injeta automaticamente: -->
<!--
  gtag('consent', 'default', {
    ad_storage: 'denied',
    analytics_storage: 'denied',
    ad_user_data: 'denied',
    ad_personalization: 'denied',
    security_storage: 'granted',
    wait_for_update: 500
  });
-->

<!-- GTM pode vir depois — consent default já foi -->
<script>(function(w,d,s,l,i){...})(...,'GTM-XXXXXX');</script>

Quer entender em detalhes como implementar o GCM v2 corretamente? Veja o guia completo de implementação do Google Consent Mode v2.

Os 4 sinais do GCM v2 que você precisa configurar

O Google Consent Mode v2 introduziu dois novos sinais obrigatórios em março de 2024. Sem os 4 sinais configurados, sua integração está incompleta.

gtag('consent', 'default', {
  'ad_storage':         'denied',   // cookies de publicidade
  'analytics_storage':  'denied',   // cookies de análise (GA4)
  'ad_user_data':       'denied',   // envio de dados do usuário ao Google Ads
  'ad_personalization': 'denied',   // anúncios personalizados / remarketing
  'security_storage':   'granted',  // sempre ativo — autenticação e segurança
  'wait_for_update':    500         // ms aguardados para o gtag('consent','update')
});

ad_storage

Controla a gravação e leitura de cookies relacionados a publicidade, como os do Google Ads e do Floodlight. Deve ser negado por padrão e atualizado para 'granted' somente após consentimento de marketing.

analytics_storage

Controla os cookies de medição de audiência, incluindo o GA4 (_ga, _ga_*). Quando negado, o GA4 opera em modo de modelagem — estimando sessões sem identificar usuários individuais.

ad_user_data

Novo em 2024 — controla o envio de dados do usuário (como e-mail com hash) ao Google Ads para fins de atribuição e correspondência de audiências. Obrigatório para Enhanced Conversions e Customer Match.

ad_personalization

Novo em 2024 — controla se os dados do usuário podem ser usados para personalização de anúncios e criação de listas de remarketing. Quando negado, o visitante não é adicionado a nenhuma audiência personalizada do Google Ads.

Por que security_storage é 'granted'?
O security_storage cobre cookies necessários para autenticação, prevenção de fraudes e segurança da sessão. Ele nunca exige consentimento de marketing — é equivalente à categoria Necessário da LGPD. Mantê-lo como 'granted' é o comportamento correto e não viola a legislação.

Por que wait_for_update é 500?
O wait_for_update: 500 diz ao Google para aguardar até 500 ms pelo gtag('consent', 'update', {...}) antes de decidir se dispara ou descarta um evento. É o tempo suficiente para o banner carregar e o usuário interagir — sem causar latência perceptível na instrumentação.

Precisa bloquear os scripts de terceiros enquanto o consentimento não é concedido? Veja como bloquear scripts antes do consentimento com MutationObserver.

3 formas de integrar o CookieFácil com GCM v2

Escolha o método que melhor se adapta à sua plataforma. Todos configuram os 6 parâmetros do GCM v2 automaticamente — nenhuma linha de gtag precisa ser escrita por você.

Snippet direto

Cole uma única tag <script> com data-cfasync="false" no <head> do seu site — antes de qualquer outra tag do Google. Funciona em qualquer plataforma: HTML puro, WordPress, Shopify, VTEX, Webflow ou qualquer CMS com acesso ao código-fonte.

Plugin WordPress

O plugin CookieFácil para WordPress usa o hook wp_head com priority 1, garantindo que o snippet seja injetado antes de qualquer plugin de analytics ou tag GTM. Nenhuma configuração manual de ordem de carregamento necessária.

Template GTM

Para equipes que gerenciam tudo via Google Tag Manager, o CookieFácil disponibiliza um template .tpl no painel. Configure-o com o acionador Consent Initialization — nunca com "All Pages", que já é tarde demais para o consent default.

FAQ — Integração GCM v2

  • O CookieFácil configura o GCM v2 automaticamente?

    Sim. Ao instalar o snippet do CookieFácil, o gtag('consent', 'default', {...}) é injetado automaticamente com os 4 sinais negados (ad_storage, analytics_storage, ad_user_data, ad_personalization), mais security_storage: 'granted' e wait_for_update: 500. Quando o visitante interage com o banner, o gtag('consent', 'update', {...}) é disparado automaticamente com os sinais correspondentes à escolha realizada.

  • Preciso alterar meu GTM para usar o CookieFácil?

    Não, se você estiver usando o snippet direto ou o plugin WordPress. O CookieFácil gerencia o consent default antes do GTM ser carregado, sem nenhuma alteração nas tags existentes. Se preferir gerenciar tudo dentro do GTM, utilize o template .tpl disponível no seu painel — configure-o com o acionador Consent Initialization (nunca com "All Pages") para garantir a ordem correta de execução.

  • Como verificar se o GCM v2 está funcionando corretamente?

    Use o Tag Assistant do Google: antes de interagir com o banner, as tags do Google Ads e do GA4 devem aparecer como "Aguardando consentimento". Após aceitar cookies, o status muda para "Concluída". Você também pode usar nossa ferramenta gratuita Verificador de Consent Mode — ela analisa sua página e confirma se os 6 parâmetros do GCM v2 estão configurados na ordem correta.

  • O que acontece se o visitante rejeitar todos os cookies?

    Os 4 sinais (ad_storage, analytics_storage, ad_user_data, ad_personalization) permanecem como 'denied'. O GA4 coleta apenas dados agregados e anônimos, sem cookies de identificação. O Google Ads usa modelagem estatística para estimar conversões sem rastrear o indivíduo. O visitante não é adicionado a nenhuma lista de remarketing nem tem dados pessoais enviados ao Google. Os cookies necessários (segurança, sessão) continuam funcionando normalmente.

CookieFácil auxilia na adequação à LGPD, mas não substitui assessoria jurídica especializada.