Como Implementar o Google Consent Mode v2
Chamadas gtag() exatas, estado padrão negado, triggers de atualização e mapeamento de categorias LGPD para sinais GCM v2 — com snippets prontos para sites brasileiros.
Como implementar o Google Consent Mode v2 no Brasil?
Dispare a chamada padrão de forma síncrona antes de qualquer tag do Google carregar. Coloque gtag('consent', 'default', {...}) como o primeiro script no <head> — antes do GTM, antes do GA4, antes de qualquer tag do Google. Defina todos os sinais como 'denied' por padrão. Em seguida, após o visitante aceitar via banner de consentimento, chame gtag('consent', 'update', {...}) apenas com os sinais autorizados.
Pela LGPD, o consentimento para analytics e marketing é opt-in — o estado padrão negado não é opcional. Visitantes brasileiros que recusam não devem ser rastreados. O parâmetro wait_for_update instrui as tags do Google a aguardarem até 500ms para que o consentimento armazenado de um visitante recorrente carregue antes de disparar em modo restrito.
Snippet padrão pronto para copiar
Cole este código antes da sua tag GTM ou GA4 — não depois, não dentro do GTM. Este código deve ser síncrono, não assíncrono.
<!-- Passo 1: inicialização do dataLayer — deve ser o PRIMEIRO -->
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
// Padrão: tudo negado — LGPD exige opt-in
gtag('consent', 'default', {
ad_storage: 'denied',
analytics_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
functionality_storage: 'denied',
personalization_storage: 'denied',
security_storage: 'granted', // sempre granted (Essencial)
wait_for_update: 500 // ms para aguardar consentimento de visitante recorrente
});
</script>
<!-- Passo 2: CookieFácil — dispara o update após o banner -->
<script data-cfasync="false"
src="https://cdn.cookiefacil.com.br/cdn/cf-banner.min.js?site=SEU_SITE_ID"></script>
<!-- Passo 3: GTM — carregado após o gerenciador de consentimento -->
<script async src="https://www.googletagmanager.com/gtm.js?id=GTM-XXXXX"></script>
O CookieFácil dispara a chamada update automaticamente após o visitante aceitar. Você não precisa escrever a chamada de atualização manualmente.
Mapeamento: categorias LGPD → sinais GCM v2
Quando um visitante consente com uma categoria no banner, esses sinais são atualizados para 'granted'.
| Categoria LGPD | Sinal(is) Google Consent Mode v2 | Estado padrão |
|---|---|---|
| Essencial | security_storage |
Sempre granted |
| Analytics | analytics_storage |
denied até opt-in |
| Marketing | ad_storage, ad_user_data, ad_personalization |
denied até opt-in |
| Funcional | functionality_storage, personalization_storage |
denied até opt-in |
A chamada de atualização (implementação manual)
Se você não estiver usando o CookieFácil, dispare este código após o visitante aceitar.
// Dispare após o visitante aceitar — o CookieFácil faz isso automaticamente
document.addEventListener('cf:consent', function(e) {
const { analytics, marketing, functional } = e.detail;
gtag('consent', 'update', {
analytics_storage: analytics ? 'granted' : 'denied',
ad_storage: marketing ? 'granted' : 'denied',
ad_user_data: marketing ? 'granted' : 'denied',
ad_personalization: marketing ? 'granted' : 'denied',
functionality_storage: functional ? 'granted' : 'denied',
personalization_storage: functional ? 'granted' : 'denied',
});
});
O CookieFácil dispara essa chamada de atualização automaticamente. A versão manual acima é para equipes que constroem sua própria interface de consentimento e querem integrar com o GCM v2.
Configuração no Google Tag Manager
O erro mais comum: usar All Pages como trigger para a tag da CMP. Use sempre Inicialização de consentimento.
No GTM, vá em Acionadores → Novo → Tipo: Inicialização de consentimento. Nomeie como Consent Initialization – All Pages. Use este trigger exclusivamente para a tag da CMP.
Este trigger dispara durante o evento gtm.init_consent, antes de qualquer outra tag. Garante que gtag('consent','default') seja definido antes que as tags de rastreamento sejam avaliadas.
O trigger All Pages dispara no evento gtm.js, após a fase de inicialização de consentimento. A API setDefaultConsentState só funciona durante gtm.init_consent.
Usar All Pages resulta em uma exceção silenciosa e as tags de rastreamento disparam sem aguardar o consentimento — violando a LGPD e perdendo os benefícios do GCM v2.
Escolha o plano certo para o seu site
Comece gratuitamente e escale conforme o seu volume de consentimentos. Faturado em BRL — sem cartão de crédito para começar.
Grátis
Para começar a recolher consentimentos
1 site · 1.000 visitantes/mês
Banner de cookies — RGPD + LGPD incluído
Relatórios básicos de consentimento
Básico
Para empresas em crescimento
2 sites · 5.000 visitantes/mês
Exportação CSV de registos de consentimento
Remover marca CookieFácil
Profissional
Para múltiplos sites e agências
5 sites · 50.000 visitantes/mês
CSV + PDF + relatórios avançados
CSS personalizado e regras geográficas
Perguntas frequentes
-
Como implementar o Google Consent Mode v2 no Brasil?
Cole
gtag('consent', 'default', {...})de forma síncrona antes de qualquer tag do Google, com todos os sinais como'denied'. Após o visitante aceitar via banner, chamegtag('consent', 'update', {...})com os sinais autorizados. Usewait_for_update: 500para que o consentimento armazenado de visitantes recorrentes carregue antes de as tags dispararem. -
O Google Consent Mode v2 é obrigatório pela LGPD?
A LGPD não exige o GCM v2 diretamente, mas sem ele o Google Ads e o GA4 operam em modo restrito após o bloqueio de cookies — perdendo até 40% dos dados de conversão. O GCM v2 usa modelagem estatística para estimar conversões de usuários que recusaram, preservando a utilidade das campanhas sem violar a privacidade.
-
O que é wait_for_update no Google Consent Mode v2?
wait_for_updateinstrui as tags do Google a aguardarem até N milissegundos por uma atualização de consentimento antes de disparar em modo restrito. Configure como 500ms — tempo suficiente para o banner carregar e enviar o sinal de atualização se um visitante recorrente já tem uma decisão armazenada. -
Quais sinais GCM v2 correspondem a quais categorias LGPD?
analytics_storage→ categoria Analytics.ad_storage+ad_user_data+ad_personalization→ categoria Marketing.functionality_storage+personalization_storage→ categoria Funcional.security_storage→ sempregranted(Essencial). -
Como verificar se o Google Consent Mode v2 está funcionando?
Use a extensão Tag Assistant do Google Chrome. As tags de rastreamento devem aparecer como "Aguardando consentimento" antes da interação e "Concluída" após aceitar. Você também pode usar a ferramenta gratuita de verificação para checar qualquer site em segundos.
-
Qual a diferença entre modo Basic e Advanced do GCM v2?
No modo Basic, as tags do Google só disparam após o consentimento. No modo Advanced, as tags disparam sem cookies quando o consentimento é negado, enviando pings anônimos para modelagem estatística. O modo Advanced preserva mais dados de marketing sem comprometer a privacidade. O CookieFácil implementa o modo Advanced por padrão.