Como escolher uma CMP: os oito critérios que decidem
A diferença entre duas CMPs raramente aparece na tabela de recursos. Ela aparece quando você abre o DevTools em uma janela anônima, recusa tudo e olha quais requisições continuam saindo. O roteiro deste guia vale para qualquer fornecedor, inclusive o nosso.
O que uma CMP precisa fazer, além de aparecer na tela
CMP é a sigla de consent management platform. O verbete de CMP traz a definição curta; a definição operacional cabe em seis verbos.
| Função | O que isso exige da ferramenta |
|---|---|
| Bloquear | Impedir que rastreadores rodem antes da escolha, inclusive os injetados por JavaScript |
| Coletar | Apresentar a escolha de forma livre, informada e sem dark pattern |
| Comunicar | Repassar a decisão para as tags, no caso do Google via Consent Mode v2 |
| Provar | Guardar registro auditável e exportável de cada consentimento |
| Vigiar | Detectar rastreador novo depois da instalação |
| Manter | Atualizar comportamento e textos quando a regra muda |
Ferramentas que cumprem só a segunda linha existem em quantidade. Elas mostram a escolha, registram o clique e deixam o Google Analytics carregar antes de qualquer decisão. O visitante paga o custo de conversão do pop-up e o site fica com a mesma exposição de antes.
Os oito critérios técnicos
Valem para qualquer fornecedor, e cada um deles se verifica com o navegador aberto.
1. Bloqueio real, anterior ao consentimento, inclusive de script injetado
Ter banner não prova nada. Depois de recusar tudo, nenhum cookie gravado por script de terceiro pode aparecer e nenhuma requisição para domínio de rastreio pode sair.
O caso difícil é o script que não está no HTML: o que o GTM injeta, o que um plugin cria em tempo de execução, o pixel que entra depois de um evento. Uma ferramenta que bloqueia apenas o que está escrito no HTML cobre a metade fácil do problema e deixa a outra passar.
Os mecanismos têm consequências diferentes:
| Mecanismo | Cobre | Impede a requisição de rede? |
|---|---|---|
Marcar a tag com type="text/plain" e uma categoria | Tags estáticas que o dono do site marcou | Sim |
Interceptar document.createElement e o setter de src | Tags injetadas por JavaScript | Sim |
Reescrever document.write | Tags de site legado escritas durante o parse | Sim |
MutationObserver no documento | Tags estáticas não marcadas | Não. Impede a execução, mas o arquivo já foi pedido |
O motor do Concedo usa os quatro, e a última linha tem um limite conhecido: sem a marcação manual, o rastreador não roda nem cria cookie, mas o terceiro chega a receber a requisição. Fornecedor que promete bloqueio total sem você marcar nada no HTML está simplificando.
2. Consent Mode v2 com default negado antes de qualquer tag
A caixinha "suporta Consent Mode" no site do fornecedor diz pouco. Confira a ordem: o
gtag('consent','default', ...) com tudo negado precisa ser empurrado de forma síncrona,
antes de qualquer tag do Google ler ou gravar algo, e sem depender do download da
configuração. Quando a CMP espera a rede para declarar o default, existe uma janela em que
as tags rodam sem estado de consentimento. O
guia do Consent Mode v2 mostra como conferir isso pelo
parâmetro gcs.
3. Prova auditável, com retenção suficiente e exportável
O ônus da prova do consentimento é do controlador (art. 8º, §2º). Três perguntas ao fornecedor:
- O registro traz data, categorias escolhidas, versão do texto apresentado e origem?
- Por quanto tempo o histórico fica disponível, e o que acontece com ele depois disso?
- Dá para exportar em formato utilizável, por site e por período, sem abrir chamado?
A versão do texto é o item mais esquecido. Consentimento vale para o texto que foi apresentado; sem versão registrada, sobra um carimbo de data sem objeto.
4. Vigilância depois da instalação
Site muda. Plugin novo, tema atualizado, tag colocada pela agência numa terça-feira. Uma ferramenta que faz o inventário só no dia da instalação entrega conformidade de um dia. Pergunte como o fornecedor descobre rastreador que apareceu depois, se a descoberta alcança páginas além da home e como você fica sabendo.
5. Atualização central quando a regra muda
Quando o Google muda um requisito de sinal ou a ANPD publica orientação nova, alguém precisa atualizar o comportamento dos seus sites. Em uma solução gerenciada, isso acontece no servidor do fornecedor. Em uma implementação caseira, ou em um plugin que você atualiza à mão em quinze sites, o custo cai no seu colo.
6. Acessibilidade e ausência de dark pattern
São dois motivos, um jurídico e um operacional. O jurídico: recusa tão fácil quanto o aceite, sem opção pré-marcada e sem muro de cookies. O operacional: banner que ninguém consegue usar gera abandono. Confira a navegação por teclado com foco visível, o contraste, o uso de texto real em vez de imagem e os dois botões principais no mesmo nível visual. O verbete de dark pattern lista os truques mais comuns.
7. Impacto em Core Web Vitals
Pergunte o tamanho do bundle em gzip, se ele reserva espaço no layout e em que momento da renderização ele entra. Banner que aparece depois e empurra o conteúdo gera deslocamento de layout. Bundle pesado disputa a thread principal no pior momento. O efeito líquido costuma ser positivo, porque cada tag de terceiro bloqueada antes do aceite é uma requisição a menos, e isso não justifica uma CMP de várias centenas de kilobytes.
Dois detalhes contraintuitivos. O loader precisa ser síncrono: é chegar antes das
outras tags que permite segurá-las, então o que se otimiza é o tamanho do arquivo, e não o
momento em que ele entra; async ou defer no snippet abrem a janela em que as tags
rodam sem consentimento. E confira o que o arquivo puxa junto: fonte, ícone ou CSS de CDN
de terceiro entregam o IP do visitante a outra empresa antes de qualquer consentimento.
8. O que acontece quando a CMP fica fora do ar
Essa pergunta quase nunca é feita. São dois comportamentos possíveis:
| Comportamento | O que acontece se a CMP não carrega | Risco |
|---|---|---|
| Fail-open | O site funciona e as tags são liberadas | Janela sem bloqueio |
| Fail-closed | As tags ficam bloqueadas | Mensuração some; conforme a implementação, o site pode quebrar |
O Concedo é fail-open: se a configuração não carrega, o site continua de pé e um aviso vai para o console. Foi uma escolha de produto, tomada porque derrubar o checkout de um cliente nos pareceu pior que um rastreador a mais durante uma indisponibilidade. Ela tem um custo, e você merece saber qual foi a escolha do seu fornecedor. Pergunte, e teste com o roteiro abaixo.
O roteiro de teste de 20 minutos
Aplique na sua CMP atual, na que o vendedor está demonstrando e na nossa. Use uma janela anônima e o DevTools aberto do começo ao fim.
| Passo | O que fazer | O que aprova |
|---|---|---|
| 1 | Abrir o site em janela anônima e não tocar no banner | Nenhum cookie gravado por script de terceiro em Aplicativo, Cookies (ver a ressalva do Set-Cookie abaixo) |
| 2 | Aba Rede, recarregar e olhar os domínios de terceiro | Nada de google-analytics, facebook.net, analytics.tiktok, hotjar |
| 3 | Clicar em "Recusar tudo" e navegar por três páginas, incluindo produto | Continua sem cookie de script e sem requisição de rastreio |
| 4 | Filtrar por collect e ler o parâmetro gcs | gcs=G100 após recusa; parâmetro presente, não ausente |
| 5 | Recarregar a página | A escolha foi lembrada e o banner não reaparece |
| 6 | Procurar como mudar de ideia | Link fixo, acessível de qualquer página, em poucos cliques |
| 7 | Aceitar tudo e recarregar | Agora as tags carregam. Se não carregarem, você perdeu mensuração |
| 8 | Medir o peso: na aba Rede, tamanho transferido do arquivo da CMP | Compatível com o que o fornecedor promete |
| 9 | No DevTools, bloquear o domínio da CMP e recarregar | O site continua utilizável; você descobre se é fail-open ou fail-closed |
| 10 | No console, injetar dinamicamente um script de rastreio conhecido | A CMP intercepta antes da requisição |
A ressalva do Set-Cookie: cookie que não vem de script
Nos passos 1 e 3, um cookie pode aparecer mesmo com o bloqueio funcionando.
Cookie chega ao navegador por dois caminhos. Pelo script: a tag roda e escreve em
document.cookie, e é esse caminho que uma CMP intercepta. Pelo servidor: a resposta de
uma requisição traz o cabeçalho Set-Cookie e o navegador grava sem que nenhum script
tenha rodado. O _ttp, do TikTok, funciona assim.
A consequência é direta. Se a requisição sai, o cookie pode ser gravado, e nenhuma marcação de script impede. Impedir exige que a requisição não saia.
Por isso o mecanismo da primeira tabela pesa tanto. Marcar a tag com type="text/plain" e
uma categoria não adia a execução: impede a requisição, e sem requisição não há resposta,
não há Set-Cookie e não há cookie. Quem seguiu o guia de instalação e marcou as tags está
coberto nos dois caminhos. Quem colou o snippet e deixou as tags como estavam fica com essa
exposição residual, porque o MutationObserver age depois de o arquivo já ter sido pedido.
Ao testar, separe as duas coisas. Se um cookie apareceu, veja na aba Rede se houve
requisição para aquele domínio e se a resposta trouxe Set-Cookie. Se trouxe, o problema é
a requisição ter saído, e a correção é marcar a tag, sem trocar de CMP. Se não houve
requisição alguma e o cookie apareceu mesmo assim, o bloqueio de script falhou, e isso
reprova a ferramenta.
Dois passos extras que valem os minutos restantes: peça a exportação do log de consentimento e confira se ela traz a versão do texto; faça um pedido de teste ou uma compra com "Recusar tudo" ativo, para garantir que o bloqueio não derrubou o checkout.
Rodar o roteiro exige acesso a um site com a CMP instalada. Se o fornecedor só oferece demonstração guiada, peça um período de avaliação antes de assinar.
O mapa do mercado, por categoria
A tabela abaixo agrupa as soluções do mercado por categoria, com o escopo conferido em setembro de 2026.
| Categoria | Costuma ser a escolha certa quando |
|---|---|
| Suítes de governança corporativa | Você precisa de registro de operações, atendimento ao titular, avaliação de impacto, incidentes e SSO num só lugar, com time jurídico dedicado |
| CMPs internacionais de médio e grande porte | Você opera em vários países, com multi-idioma, comportamento por região e regime europeu |
| Ferramentas com instalação assistida | Você configura por assistente, sem tocar em código, e aceita as limitações do que vem pronto |
| Consultorias jurídicas com implementação | Você quer o parecer e a implementação pelo mesmo fornecedor, com acompanhamento continuado |
| Concedo | PME e agência brasileiras com tráfego pago, que precisam de bloqueio real, Consent Mode v2 e prova, com preço em reais |
Uma observação sobre o framework TCF do IAB: o Google mantém uma lista pública de CMPs certificadas, e ela muda. Se a certificação for requisito no seu caso, consulte a lista na documentação do Google antes de fechar contrato.
As armadilhas comerciais que valem mais que a tabela de recursos
As cláusulas abaixo aparecem com frequência e mudam o custo real da escolha. Nenhuma delas está na tabela de recursos.
Cobrança em dólar, por site. Modelo comum entre fornecedores internacionais. Para uma agência com carteira de sites, o valor por site multiplica rápido e o câmbio transforma o orçamento em variável. Confira também o IOF e a forma de emissão de nota fiscal.
Cobrança por volume de tráfego, com estouro. Modelo legítimo, desde que você leia a cláusula de excedente. Pergunte o que acontece na campanha de Black Friday que triplica o movimento: bloqueio do banner, cobrança automática de faixa superior, upgrade forçado. Cada resposta dá um custo anual diferente.
Histórico de consentimento limitado. Retenção curta, uma janela de 12 meses por exemplo, faz a sua prova evaporar no aniversário. Se um questionamento chega depois disso, o registro não existe mais. Pergunte a retenção do seu plano, por escrito. O número que aparece no material de venda costuma ser o do plano topo de linha.
"Certificado pelo Google" fora de contexto. A certificação de CMP no framework TCF é exigência para publishers de AdSense, Ad Manager e AdMob que servem anúncios a tráfego do Espaço Econômico Europeu. Ela não atesta conformidade com a LGPD e não diz nada sobre a qualidade do bloqueio. Anunciante brasileiro precisa de Consent Mode v2 implementado na ordem certa.
Contrato anual sem saída. Fidelidade de doze meses com uma ferramenta que você não testou é uma aposta. Peça período de avaliação, rode o teste de 20 minutos e leia a cláusula de rescisão junto com a de portabilidade do histórico de consentimento. Dado de prova que você não consegue exportar na saída é dado que você perde.
O selo do fornecedor. Quase toda CMP assina o banner que você publica, e boa parte delas, incluindo o Concedo, mantém a assinatura em todos os planos, e não só no gratuito. Pergunte duas coisas antes de assinar: se algum plano remove o selo pela conta e, quando a resposta for não, qual é o caminho para escondê-lo no seu próprio código. Fornecedor que não responde à segunda pergunta está vendendo o incômodo que ele mesmo criou.
Se você é X, provavelmente quer Y
| Se você é... | Provavelmente quer... | Por quê |
|---|---|---|
| PME brasileira que investe em Google e Meta | Concedo | Sem bloqueio real e Consent Mode v2 na ordem certa, você perde remarketing e fica sem prova |
| Agência com carteira de sites de clientes brasileiros | Concedo, no degrau que a página de preços indica | Painel com rótulo e filtro por cliente, sem teto de domínios e cobrança em reais |
| Loja que carrega as tags pelo GTM | Concedo, pelo template do GTM | O bloqueio precisa alcançar o que o GTM injeta em tempo de execução |
| Quem precisa guardar prova de consentimento por mais de um ano | Concedo nos planos pagos | Histórico integral, sem janela de retenção que apaga o registro |
| Loja que trata dado de saúde ou outro dado sensível | Advogado antes da ferramenta | O art. 11 tem regime próprio, e nenhum gerador de documento resolve |
| Site institucional sem nenhuma tag de terceiro | Provavelmente nenhuma CMP | Sem rastreador não essencial, não há consentimento a coletar |
Onde o Concedo é a escolha certa
Perfil. PME brasileira que investe em tráfego pago, e agência que administra a carteira de sites de clientes brasileiros. Operação em português, público no Brasil, sem exigência do framework TCF e sem necessidade de módulo de governança corporativa.
O que você leva.
- Bloqueio antes do aceite, com os três mecanismos descritos acima, incluindo a interceptação de scripts injetados em tempo de execução. Terceiro desconhecido continua carregando, para não derrubar checkout, e o sensor embutido no loader o traz para a base assim que um visitante real abre a rota onde ele está.
- Consent Mode v2 pronto, com
defaultnegado empurrado de forma síncrona antes de qualquer tag eupdateconforme a escolha, sem você escrever uma linha degtag. - Histórico integral de consentimento nos planos pagos, com a versão do texto registrada, em vez de uma janela de retenção que apaga a sua prova.
- Preço em reais, cobrado por domínio, sem limite de tráfego em nenhum plano. Os valores e o alcance de cada plano estão em preços.
- Privacidade dentro do próprio produto. O IP bruto nunca é persistido: o registro
guarda
visitor_hash = sha256(ip + user_agent + salt_diário), e o salt diário limita a reidentificação ao dia corrente. O banner não carrega webfont, ícone nem CSS de CDN de terceiro, porque uma requisição dessas entregaria o IP do visitante a outra empresa antes de qualquer consentimento. - Um arquivo só, sem dependência de runtime, síncrono de propósito: é a execução antes das outras tags que permite bloquear. Não cravamos aqui um número de kilobytes porque ele muda a cada versão e você não deveria acreditar no número de fornecedor nenhum. Meça o nosso na aba Rede, como o critério 7 manda medir o de todos.
A instalação é uma linha, o mais alto possível no <head>, sem async e sem defer:
<script src="https://app.concedo.com.br/cmp/v1/loader.js" data-chave="pk_seu_identificador"></script>
Quem centraliza as tags no Google Tag Manager pode importar o template em vez de editar o tema, seguindo o guia de instalação com GTM.
Para marcar uma tag estática que já está colada no seu tema, a convenção usa o atributo
data-category com os valores necessarios, estatisticas, marketing ou
personalizacao:
<script type="text/plain" data-category="marketing" src="https://exemplo/pixel.js"></script>
Perguntas frequentes
Posso usar duas CMPs ao mesmo tempo durante a migração?
Não. Dois consent default conflitantes produzem estado imprevisível, e dois banners
produzem consentimento que ninguém consegue provar. Desinstale a antiga por completo,
inclusive resquícios no tema, e só então instale a nova.
Preciso de CMP certificada pelo Google? Só se você é publisher servindo anúncios do AdSense, do Ad Manager ou do AdMob para tráfego do Espaço Econômico Europeu. Para anunciante brasileiro, a exigência é Consent Mode v2 na ordem correta e bloqueio real antes do aceite.
Uma CMP me deixa em conformidade com a LGPD? Não sozinha. Ela cobre cookies, consentimento e prova. Ficam de fora documentos que correspondam à operação, bases legais de cada finalidade, contratos com operadores, atendimento ao titular, segurança e resposta a incidente. O checklist de LGPD para e-commerce mostra o perímetro completo.
Dá para fazer na mão, sem CMP?
Dá, e é mais difícil do que parece: bloquear script injetado em tempo de execução sem
quebrar checkout, garantir a ordem do default, guardar registro auditável com versão de
texto e manter tudo funcionando quando a regra muda. É trabalho contínuo de engenharia.
Como comparo preço entre fornecedores? Normalize por site e por ano, em reais, incluindo câmbio e impostos, e some o custo de excedente no seu mês de pico. Depois pergunte a retenção do histórico no plano cotado. Duas ofertas com mensalidade parecida podem ter custo anual muito diferente.
E se eu já tenho um banner que não bloqueia nada? Rode o teste de 20 minutos antes de trocar. Se ele reprovar nos passos 1 a 3, o problema é de bloqueio, e nenhum ajuste de texto ou de cor resolve.
Próximos passos
- Rode o roteiro de teste de 20 minutos na sua CMP atual, antes de cogitar troca. Metade dos problemas atribuídos a fornecedor é erro de instalação.
- Antes de comparar fornecedores, saiba o que o seu site carrega hoje: o scanner gratuito monta esse inventário sem cadastro, e sem ele nenhuma comparação de CMP significa muita coisa.
- Leve para a conversa com cada fornecedor as três perguntas que a tabela de recursos não responde: retenção do histórico no plano cotado, comportamento quando a CMP fica fora do ar e como o histórico é exportado na saída.
- Se você anuncia no Google, confirme o parâmetro
gcsseguindo o guia do Consent Mode v2 antes de decidir qualquer coisa.
Continue lendo
Como instalar o banner do Concedo pelo Google Tag Manager
Template de contêiner pronto para importar, o gatilho que não pode errar, a verificação tag a tag e por que instalar pelos dois caminhos zera o consentimento.
Cookies e LGPD à luz do Guia Orientativo da ANPD
Como a ANPD interpreta cookies: classificação por finalidade, base legal, requisitos do consentimento e os erros mais comuns do banner.
Google Consent Mode v2: os sinais, a ordem e o teste
Os sete sinais e os quatro obrigatórios, básico x avançado, código pronto para gtag e GTM, e como conferir a ordem pelo parâmetro gcs.
Multa da ANPD: o valor real para uma empresa pequena
O teto de R$ 50 milhões não é o seu número. Como a ANPD chega ao valor, o que ela já aplicou e por onde um processo começa numa PME.