Como instalar banner de cookies LGPD no Wix
No Wix, a primeira decisão vem antes do código. A plataforma já traz banner de cookies e gerenciador de consentimento próprios, então alguém precisa responder qual dos dois manda no site. Deixar os dois ligados custa caro: duas caixas na tela, duas decisões pedidas ao visitante e dois estados de consentimento que se contradizem.
O segundo ponto que define o resultado é arquitetural. O site se comporta como uma aplicação de página única: em boa parte das navegações, clicar no menu troca o conteúdo sem que o navegador peça um HTML novo. É o cenário em que um "bloqueador" que só mexe no HTML servido para de funcionar a partir do segundo clique, e ninguém percebe, porque o banner continua bonito na tela.
Antes de instalar: faça o inventário do site
No Wix, os rastreadores entram por cinco portas, e só uma delas está no seu código.
| Porta de entrada | Onde conferir |
|---|---|
| Integrações de marketing | Campos nativos de GA4, Meta, Google Ads e TikTok no painel |
| Código personalizado | Configurações, área de código personalizado |
| Apps do App Market | Chat, formulário, agendamento, prova social, avaliações |
| Análise da própria plataforma | O Wix mede acesso e comportamento com ferramentas próprias |
| Embeds no editor | Elementos de HTML e iframe, vídeos do YouTube, mapas |
Rode o scanner gratuito na URL do site publicado. A conferência à mão, pelo DevTools, está em rodar a varredura do site.
Um cuidado específico do Wix: faça o inventário no site publicado, nunca no editor nem na visualização. Boa parte do código personalizado não roda no ambiente de edição, e o que você vê ali não é o que o visitante recebe.
É essa lista que o passo 6 confere: nada dela pode disparar antes do aceite.
Passo 1. Instalar o snippet pelo Código personalizado
O snippet do Concedo é uma linha. Ela fica no head e precisa carregar antes das outras
tags, porque é ela que declara o consent default do Google e liga o motor de bloqueio.
<script src="https://app.concedo.com.br/cmp/v1/loader.js" data-chave="pk_seu_identificador"></script>
No painel, vá em Configurações e procure a área de Código personalizado (nas versões mais recentes ela fica dentro do agrupamento de recursos avançados; o nome do menu varia com a versão do painel, mas a tela é a mesma). Clique em adicionar um novo trecho de código e preencha assim:
| Campo | O que escolher | Por quê |
|---|---|---|
| Código | O snippet acima, sem async e sem defer | Com qualquer um dos dois, as tags disparam antes do bloqueio existir |
| Nome | Algo reconhecível, como "Concedo CMP" | Daqui a um ano alguém vai abrir essa tela sem contexto |
| Adicionar a | Todas as páginas | Consentimento vale para o site inteiro, não para a home |
| Carregamento | Carregar uma vez | O loader instala interceptadores no documento; recarregá-lo a cada navegação duplicaria banner e estado |
| Local | Head | No corpo ou no rodapé ele chega depois das tags |
Se a sua versão do painel pedir uma categoria de consentimento para o trecho de código, escolha a categoria essencial. Esse campo existe para que o gerenciador nativo do Wix decida se carrega ou não o trecho, e um banner que espera outro banner para carregar nunca aparece.
Salve e publique o site. Alteração no Wix só existe depois de publicada.
Casos avançados com Velo
Se o site usa Velo, você tem acesso a código no cliente e pode reagir à escolha do visitante. Dá para comunicar a decisão ao gerenciador de política de consentimento do próprio Wix, de modo que os cookies da plataforma sigam a mesma decisão do banner. É uma implementação legítima e útil em site com área de membros.
A chamada é a consentPolicy do módulo wix-window-frontend; a referência do Velo traz a
assinatura completa.
Passo 2. O banner nativo do Wix: onde ele basta e onde não basta
A resposta não é a mesma para todo site.
| Situação | O nativo resolve? |
|---|---|
| Site institucional, uma tag de GA4, nenhuma mídia paga | Costuma resolver, e não há vergonha nenhuma em usá-lo |
| Segurar os trechos de código personalizado que você mesmo cadastrou e categorizou | Sim, é para isso que serve o campo de categoria |
| Governar os cookies da própria plataforma | Sim, e melhor do que qualquer script externo consegue |
| Bloquear tag que entra por app do App Market ou por campo de integração | Depende do que cada app declara; confira caso a caso |
| Registro auditável de cada consentimento, com versão do texto e export | Não. O gerenciador nativo guarda a escolha, não a prova; a prova fica no registro do Concedo |
| Consent Mode v2 com os sete sinais e ordem garantida | Os sinais saem, mas a ordem entre default e update é do Wix, não sua |
A regra prática: se você não compra mídia, comece pelo nativo. A conversa muda quando existe verba de anúncio, mais de uma plataforma de mídia e necessidade de demonstrar consentimento. O ônus da prova, na LGPD, é do controlador, e prova exige registro com data, versão do texto e conteúdo da escolha.
Decidiu usar o Concedo? Desligue o banner nativo do Wix. Um banner só. Os critérios para escolher entre alternativas estão em como escolher uma CMP.
Passo 3. Bloquear o que o Wix injeta sozinho
Com o loader ativo, os rastreadores conhecidos (GA4, Meta, TikTok, Hotjar, Clarity, LinkedIn, Pinterest) ficam presos até o aceite, inclusive quando injetados por JavaScript. O contêiner do GTM é a exceção, e ela é deliberada: ele entra como necessário e carrega antes da escolha, porque sozinho não coleta nada. O que fica preso são as tags que ele injeta, uma a uma, e elas ainda recebem os sinais do Consent Mode v2. Restam três frentes.
Integrações de marketing do painel
Quando você informa o ID do GA4 ou do Pixel num campo do painel, quem monta a tag é a plataforma. Você não escreve o HTML, então não tem onde colocar a marcação que dá o bloqueio mais forte:
<script type="text/plain" data-category="marketing" src="https://exemplo/pixel.js"></script>
Essa marcação, type="text/plain" mais data-category, com os valores necessarios,
estatisticas, marketing ou personalizacao, impede até a requisição de rede. Para as
tags do campo nativo sobra o bloqueio por padrão de URL:
| Como a tag entra na página | Antes do aceite | Sobra requisição ao terceiro? |
|---|---|---|
| Injetada por JavaScript | A interceptação de createElement e do setter de src segura antes de sair | Não |
| Já pronta no HTML servido | O MutationObserver impede a execução | Sim, o arquivo chegou a ser pedido |
Nos dois casos não há execução nem cookie antes do aceite. Se você precisa poder afirmar
que nada sai para terceiros antes da escolha, tire o ID do campo de integração e
cadastre a tag como código personalizado, marcada com text/plain e data-category. Aí
o controle é seu do começo ao fim.
Análise da própria plataforma
O Wix mede o comportamento do visitante com ferramentas próprias, e essa medição é da
plataforma. Ela não é governada por um script que você carrega no head; quem a governa é
a configuração de privacidade do próprio Wix. Duas conclusões:
- Não prometa a ninguém que o banner externo desliga a análise da plataforma. Ele não desliga.
- Use as configurações de privacidade do Wix para essa camada e mantenha só um banner na tela. Se você tem Velo, a ponte descrita no passo 1 resolve isso.
Apps do App Market e embeds
Cada app é um terceiro com permissão de rodar script no seu site. Desinstale o que não usa. E lembre-se do limite declarado: terceiro desconhecido não é bloqueado e continua carregando até o scanner trazê-lo para a base. Num site Wix ele costuma ser o chat ou o agendamento instalado pelo App Market; o motivo está em como o bloqueio automático funciona.
Iframes conhecidos, como YouTube e Maps, são escondidos e substituídos por um aviso clicável que reabre as preferências.
Passo 4. O site é uma SPA, e isso muda o bloqueio
Quando o visitante clica em "Contato" no menu, na maior parte dos casos o navegador não pede um HTML novo: o site troca o conteúdo no lugar, por JavaScript. Consequências diretas:
- Um bloqueador que age reescrevendo o HTML servido só enxerga a primeira página. Da segunda em diante ele está cego, e as tags injetadas na navegação passam limpas.
- Uma tag de GA4 dispara um
page_viewa cada navegação virtual. Antes do aceite, nenhum desses disparos pode sair. - Scripts de app costumam ser injetados quando o elemento entra em cena: o chat que só carrega na página de contato, o mapa que só carrega quando você rola até ele.
O motor do Concedo funciona nesse cenário porque ele não mexe no HTML. Ele intercepta
document.createElement e o setter de src, e observa o documento com um
MutationObserver. São mecanismos que continuam de pé depois da troca de página, porque
estão instalados no documento, não no texto da página.
É também por isso que o snippet precisa ser carregado uma vez por visita, e não a cada navegação: os interceptadores já estão instalados, e reinstalá-los a cada clique criaria estado duplicado. O teste que comprova o comportamento está no passo 6, item 4.
Passo 5. Consent Mode v2, loja e área de membros
Consent Mode v2. Se você anuncia no Google, o banner precisa comunicar a escolha às
tags do Google. No Concedo isso já vem ligado: o consent default com os sete sinais
sai de forma síncrona antes de qualquer tag, e o update corresponde à escolha do
visitante. Confira que não existe um segundo default vindo do gerenciador nativo do Wix
ainda ligado. Dois defaults conflitantes produzem estado imprevisível. O detalhamento de
cada sinal está no guia do Google Consent Mode v2.
Loja. Se o site vende, o checkout é uma página de sistema do Wix. Nem todo código personalizado roda em páginas de sistema; teste explicitamente e, se o loader não rodar lá, trate essa etapa como fora do alcance do banner e registre isso na sua política de cookies.
Cookies necessários não podem ser bloqueados. Os cookies de sessão e de segurança do
próprio Wix, como o identificador de visitante, o token antifalsificação usado por
formulários e pela área de membros e o que sustenta o carrinho, são estritamente
necessários e ficam na categoria "necessários", sempre ativa. Scripts de pagamento,
antifraude e captcha também são necessarios: bloqueá-los derruba a venda. Na dúvida
entre bloquear e quebrar o site, a classificação correta é necessarios.
Passo 6. Verificar se funcionou
Sempre no site publicado, sempre em janela anônima, nunca no editor.
- Antes de interagir. Abra o site. DevTools, Aplicativo, Cookies. Só devem existir
cookies do seu próprio domínio, da sessão da plataforma. Nenhum
_ga,_gcl_au,_fbp,_ttp,_hjSession. - Código-fonte. Ctrl+U e confira se o
loader.jsaparece dentro doheade acima das tags de marketing. Se ele estiver no fim do corpo, a opção "Local" ficou errada. - Recusar tudo. Recuse e recarregue. Na aba Rede, filtre por
google-analytics,facebook,tiktok,hotjar: nada pode aparecer. - O teste da SPA. Ainda com a recusa ativa e sem recarregar, navegue por quatro páginas clicando no menu, incluindo uma com vídeo, mapa ou chat. Mantenha a aba Rede aberta o tempo todo. Se alguma requisição de rastreador aparecer nessa navegação, o bloqueio não sobreviveu à troca de página, que é o defeito mais comum das soluções improvisadas nesta plataforma.
- Aceitar tudo. Aceite e recarregue. Os scripts devem carregar e os cookies aparecer. Se nada aparecer, o aceite não destravou o bloqueio e o site ficou sem mensuração.
- Só estatísticas. Nas preferências, marque apenas estatísticas. O GA4 dispara; Meta e TikTok, não.
- Revisita. Feche o navegador, abra de novo e volte ao site: a escolha precisa ter sido lembrada e o banner não deve reaparecer.
- Formulário e área de membros. Com a recusa ativa, envie um formulário e faça login, se houver. Os dois precisam funcionar normalmente.
Erros comuns no Wix
- Código cadastrado só em algumas páginas. "Adicionar a" precisa ser todas as páginas.
- Local errado. No corpo ou no rodapé, o loader chega depois das tags do
head. - "Carregar em cada nova página" em vez de "carregar uma vez". Duplica banner e estado.
- Esqueceu de publicar. Salvar no painel não publica. Nada existe até publicar.
- Testou no editor ou na visualização. Boa parte do código personalizado não roda lá.
- Dois banners. O nativo do Wix continuou ligado. Escolha um.
- O gerenciador nativo segurando o próprio loader. Se a tela pediu categoria e você marcou "marketing", o banner só carrega depois de um aceite que ninguém pode dar. O loader é essencial e é assim que ele deve ser classificado.
- App do App Market injetando pixel. Não está no seu código. Só o scanner ou a aba Rede acham.
- Recusar escondido. Vale para o banner do Concedo e para o nativo: "Recusar tudo" na primeira camada, com o mesmo peso de "Aceitar tudo", como a ANPD orienta em cookies e LGPD à luz do Guia da ANPD.
Perguntas frequentes
Preciso mexer em código? Não. Você cola uma linha na tela de Código personalizado, marca "todas as páginas", "carregar uma vez" e local "Head", salva e publica. Leva poucos minutos.
Funciona em qualquer template do Wix? Sim. O código personalizado é servido em todas as páginas do site publicado, e o loader atua sobre o DOM final, independentemente do template ou dos apps instalados.
O Wix já tem banner de cookies. Por que instalar outro? Em muitos sites você não precisa. O nativo cobre bem os cookies da própria plataforma e os trechos de código que você cadastrou e categorizou. Trocar faz sentido quando você precisa de bloqueio das tags de mídia com controle fino, de Consent Mode v2 com ordem garantida e de registro auditável com histórico integral e versão do texto, que é o que sustenta a prova de consentimento numa fiscalização.
Funciona no Wix Studio e nos editores mais novos?
O caminho do menu muda de nome e de lugar conforme o editor, e o mecanismo continua o
mesmo: um trecho de código no head, em todas as páginas, carregado uma vez. Se você não
achar a tela pelo nome citado aqui, procure por "código" nas configurações do painel.
Preciso de Velo? Não para instalar. Velo só entra se você quiser construir a ponte com o gerenciador de consentimento nativo ou reagir à escolha do visitante em código.
O banner deixa o site mais lento? O loader é um arquivo só, sem dependência de runtime, e é síncrono de propósito, e não puxa fonte, ícone nem CSS de CDN de terceiro, requisição que entregaria o IP do visitante a outra empresa antes de qualquer consentimento. O critério de performance está em como escolher uma CMP.
E se a configuração do banner não carregar? O site continua de pé: o loader é fail-open, libera as tags e avisa no console. Por que essa escolha, e o que ela custa, está no critério 8 de como escolher uma CMP.
O que o Concedo guarda de quem clica no banner? Não guarda IP bruto. O registro usa um hash do IP com o user agent e um salt diário, o que permite deduplicar o mesmo visitante no dia e impede a reidentificação depois disso. O que fica gravado é o que serve de prova: quando, o quê, qual versão da política e de qual página.
Próximos passos
- Decida quem manda: banner nativo do Wix ou CMP dedicada. Não os dois.
- Cadastre o snippet no Código personalizado com "todas as páginas", "carregar uma vez" e local "Head", e publique.
- Faça a verificação de oito passos, com atenção especial ao item 4, o teste da navegação sem recarregar.
- Confira no site publicado, com o scanner gratuito, se algum app do App Market ficou fora do inventário.
- Se você cuida de mais de um site e alguns são WordPress, o caminho equivalente está em como instalar no WordPress.
Continue lendo
Como instalar banner de cookies LGPD na Nuvemshop
Onde colar o snippet no tema, o que fazer com o Analytics e o Pixel do campo nativo, e o que o banner alcança no carrinho mas não alcança no checkout.
Como instalar banner de cookies LGPD no Shopify
Onde colar no theme.liquid e por que antes do content_for_header, o que custom pixels e checkout deixam de fora e como conviver com o consentimento nativo.
Como instalar banner de cookies LGPD no WordPress
Plugin ou snippet, como bloquear os scripts que os plugins injetam e o que fazer com cache, WooCommerce e Consent Mode v2 antes de publicar.
Como instalar banner de cookies LGPD na VTEX
CMS Legado, VTEX IO e FastStore: onde entra o snippet em cada arquitetura, o que apps de pixel e o checkout deixam de fora e como fazer o inventário antes.