Pular para o conteúdo
Concedo
Comece grátis
Menu

Como instalar banner de cookies LGPD na Nuvemshop

Publicado em 24 de agosto de 2026 · atualizado em 6 de setembro de 2026

Numa loja Nuvemshop, quase nenhum rastreador foi escrito por você. O Google Analytics entrou por um campo do painel. O Pixel da Meta, pelo campo ao lado. O script de recuperação de carrinho veio junto com um app. E o pixel do TikTok está colado no tema desde a última campanha, feita por uma agência que já não trabalha com você.

Instalar o banner é a parte de cinco minutos. O que decide o resultado é saber o que cada uma dessas portas de entrada permite bloquear, incluindo o checkout, que a plataforma hospeda e renderiza por conta própria.

Antes de instalar: faça o inventário da loja

Pular esta etapa é a causa nº 1 de "instalei o banner e o _ga continua sendo criado". Você não bloqueia o que não sabe que existe, e na Nuvemshop boa parte do que existe não está no código do tema.

Porta de entradaOnde ela costuma estar
Campo nativo do painelID do Google Analytics e do Pixel da Meta, na área de integrações de marketing
Apps da loja de aplicativosRecuperação de carrinho, avaliações, chat, upsell, remarketing
Código colado no temaPixel do TikTok, tag do Google Ads, Hotjar ou Clarity no arquivo de layout
Área de códigos externosSnippets que uma agência cadastrou e ninguém mais revisou
Embeds no conteúdoYouTube em página institucional, Google Maps na página de contato

Rode o scanner gratuito na home, numa categoria e numa página de produto: são as três páginas em que o campo nativo, os apps e o tema se sobrepõem. A conferência à mão, pelo DevTools, e o que o painel libera depois de verificar o domínio estão em rodar a varredura do site.

Um detalhe específico de loja: repita o inventário com um produto no carrinho. Apps de recuperação de carrinho, de frete e de upsell só entram em cena quando existe carrinho, e eles são justamente os que carregam script de terceiro sem avisar.

Essa lista, com o carrinho incluído, é a régua do passo 6: nada dela pode disparar antes do aceite.

Passo 1. Instalar o snippet

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>

Sem async e sem defer. Com qualquer um dos dois, as tags do site disparam primeiro e não sobra nada para bloquear.

Escolha um dos métodos abaixo. Instalar por dois caminhos ao mesmo tempo cria dois banners e um estado de consentimento imprevisível.

Método A. Editor de código do tema (recomendado)

No painel, vá à área da loja virtual, abra Layout (dependendo da versão do painel o item aparece como Temas) e, no tema publicado, procure a opção de edição de código, em geral dentro do menu de opções avançadas do tema, com o nome de "Editar código" ou "Editar HTML e CSS".

Você precisa do arquivo de layout: aquele que contém o <head> compartilhado por todas as páginas da loja. Nos temas clássicos da Nuvemshop ele é o layout.tpl; em temas mais novos o nome pode ser outro, e o critério continua o mesmo, o único arquivo em que a tag <head> aparece.

  1. Duplique o tema antes de editar, se a sua versão do painel oferecer essa opção. O editor salva no tema publicado e não há botão de desfazer.
  2. Abra o arquivo de layout e localize a abertura do <head>.
  3. Cole o snippet imediatamente depois de <head>, antes de qualquer outra tag, antes de qualquer meta e antes de qualquer chamada de script.
  4. Salve e publique.

Duas advertências que valem para qualquer tema de plataforma: uma atualização ou troca de tema apaga a edição, então anote em algum lugar que esse código existe; e o editor não valida nada, então um caractere fora do lugar quebra o layout da loja inteira.

Método B. Área de códigos externos do painel

Algumas versões do painel, e alguns apps de "códigos externos", oferecem um campo em que você cola HTML e a plataforma injeta em todas as páginas da loja. É mais fácil, não exige tocar no tema e sobrevive à troca de tema.

A limitação decide o caso: você não controla a posição do código dentro do <head>. Se a plataforma injetar o seu snippet depois das tags que ela mesma monta, o loader chega tarde. Antes de adotar esse caminho, cadastre o snippet, abra o código-fonte da home (Ctrl+U) e confira quem aparece primeiro. Se o loader não estiver acima das tags de marketing, volte para o método A.

Método C. Via Google Tag Manager

Só faz sentido se todas as suas tags já passam pelo GTM: o snippet vai numa tag de HTML personalizado com o gatilho de Inicialização do consentimento, e o passo a passo está em instalar com GTM.

Na Nuvemshop, o método C quase nunca é suficiente sozinho: o GTM segura as tags que ele mesmo dispara, e não alcança o que o campo nativo do painel ou um app da loja de aplicativos injetam por fora dele.

Passo 2. Bloquear o que a Nuvemshop injeta sozinha

Com o loader ativo, os rastreadores que ele reconhece por padrão (GA4, Meta, TikTok, Hotjar, Clarity, LinkedIn, Pinterest) já ficam presos até o aceite, inclusive quando injetados dinamicamente. 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 casos que pedem decisão sua.

O Analytics e o Pixel do campo nativo

Este é o caso mais importante da Nuvemshop, e o menos compreendido. No campo nativo você informa só o identificador, e quem monta a tag é a plataforma. Como você não escreve a tag, você não tem onde colocar a marcação:

<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) é o mecanismo mais forte de bloqueio, porque impede até a requisição de rede. Ela só existe para tags que você escreve.

Para as tags do campo nativo sobra o bloqueio por padrão de URL, e o resultado depende de como a plataforma entrega a tag:

Como a tag entra na páginaO que o bloqueio fazSobra requisição ao terceiro?
Injetada por JavaScript depois do carregamentoA interceptação de document.createElement e do setter de src segura antes de sairNão
Já vem pronta no HTML servido pela plataformaO MutationObserver impede a execuçãoSim, o navegador já pediu o arquivo

Em ambos os casos o script não roda e não grava cookie antes do aceite, que é o que a LGPD cobra. No segundo caso, porém, o terceiro chega a receber a requisição do arquivo, e a resposta dele pode trazer um cabeçalho Set-Cookie, que o navegador grava sem executar script nenhum. Vale como motivo para marcar a tag em vez de contar só com o bloqueio de execução: sem requisição, não há Set-Cookie.

Se você precisa poder afirmar que nada sai para terceiros antes da escolha, existe uma saída: tire o identificador do campo nativo e coloque a tag você mesmo, no tema, marcada com text/plain e data-category, ou passe a carregá-la pelo GTM.

Compare antes de decidir:

Onde a tag ficaEsforçoAntes do aceite
Campo nativo do painelNenhumNão executa, não grava cookie; pode haver requisição
Colada no tema, marcadaBaixo, mas exige editar o temaNão executa e não sai da rede
Dentro do GTMMédio, exige contêiner organizadoNada de marketing dispara; o Consent Mode cuida do lado do Google

Se você tem mídia paga rodando, vale o trabalho de mover. Se a loja tem só um GA4 para olhar de vez em quando, o campo nativo com bloqueio por padrão de URL é uma posição defensável, desde que você saiba, e registre, o que ela entrega.

Apps da loja de aplicativos

Cada app instalado é um terceiro com permissão de rodar script nas suas páginas. Alguns carregam pixel próprio, outros carregam a biblioteca de um fornecedor cujo nome você nunca viu.

  • O que o Concedo bloqueia: os rastreadores conhecidos da base, mesmo quando quem os injeta é um app.
  • O que ele não bloqueia: terceiro desconhecido, que continua carregando até o scanner trazê-lo para a base. Na Nuvemshop isso costuma ser o app de frete ou de upsell que ninguém catalogou; o motivo de não derrubar a loja por ele está em como o bloqueio automático funciona.
  • O que só você pode fazer: desinstalar o que não usa. App que ficou de uma promoção do ano passado continua carregando script todos os dias.

Embeds de YouTube e Google Maps

Um iframe do YouTube grava cookie de publicidade antes de qualquer clique. O loader esconde esses iframes conhecidos e coloca no lugar um aviso clicável que reabre as preferências. Se o vídeo é essencial para a página de produto, avalie o domínio youtube-nocookie.com, que reduz o rastreamento sem eliminá-lo.

Passo 3. Cache, otimização e o "acelerador de loja"

Na Nuvemshop você não tem plugin de cache para configurar, o que elimina metade dos problemas que existem em outras plataformas. Restam três cuidados:

  1. Publique e teste em janela anônima. O HTML da loja passa pela infraestrutura da plataforma e a versão antiga pode continuar sendo servida por alguns minutos. Testar com o navegador que você usou para editar é a receita para diagnosticar errado.
  2. Nada de async, defer ou "adiar JavaScript" no loader. Se algum app de performance prometer acelerar a loja adiando scripts, confira se ele não pegou o snippet junto. Atrasar o loader cria exatamente a janela em que as tags rodam sem consentimento.
  3. Não minifique nem combine o snippet com outros scripts. Combinar muda a ordem, e ordem é requisito.

Um detalhe que costuma assustar e não deveria: o banner é renderizado no navegador, não no HTML. É proposital. Se ele viesse pronto no HTML, qualquer camada de cache serviria a mesma página com o mesmo estado de consentimento para todo mundo.

Passo 4. Carrinho e checkout: o que o banner alcança

O que o snippet do tema alcança: todas as páginas geradas pelo seu tema, home, categoria, produto, busca, páginas institucionais e, na maioria dos temas, o carrinho.

O que ele não alcança: o checkout. As páginas de finalização da compra são renderizadas pela própria Nuvemshop, não pelo seu tema, e código colocado no arquivo de layout não roda ali. O banner não aparece no checkout, e qualquer tag que a plataforma dispare nessa etapa fica fora do alcance do bloqueio. Vale para qualquer CMP externa: checkout hospedado é da plataforma.

Sabendo disso, há três posições possíveis:

  • Não usar o campo nativo para as tags de marketing e mensurar a compra por um caminho que você controla, aceitando perder o evento de compra que a plataforma dispara sozinha.
  • Usar o campo nativo e registrar a limitação na sua política de cookies, tratando-a como risco conhecido e documentado, em vez de descoberto numa fiscalização.
  • Perguntar ao suporte da Nuvemshop o que a versão atual da plataforma oferece para scripts no checkout. É uma capacidade que muda com o tempo e vale confirmar na fonte.

Cookies necessários não podem ser bloqueados. Os cookies de sessão e de carrinho da própria Nuvemshop são estritamente necessários: sem eles o cliente perde o carrinho ao mudar de página. Eles ficam na categoria "necessários", sempre ativa.

Scripts de pagamento nunca entram no bloqueio. Gateway, antifraude e captcha são necessários ao funcionamento da compra. Bloqueá-los derruba a venda. Só entram no bloqueio os de marketing e mensuração. Na dúvida entre bloquear e quebrar a loja, a classificação correta é necessarios.

Depois de instalar, faça uma compra de teste do início ao fim. É o único teste que prova que a loja não quebrou.

Se você anuncia no Google, o banner precisa comunicar a escolha às tags do Google. No Concedo isso já vem ligado: o loader dispara o consent default com os sete sinais de forma síncrona, antes de qualquer tag, e o update correspondente à escolha do visitante.

Dois cuidados específicos de quem vende na Nuvemshop:

  • GA4 duplicado. É comum o mesmo identificador de GA4 estar no campo nativo do painel e numa tag dentro do GTM. Isso duplica sessões, distorce conversão e produz dois estados de consentimento concorrentes. Escolha um lugar.
  • Eventos de e-commerce. Se a sua mensuração de "adicionar ao carrinho" e "compra" depende de tag de marketing, ela vai parar quando o visitante recusar, e é assim que tem de ser. O que recupera parte disso é a modelagem de conversões do Google, que só funciona com Consent Mode implementado corretamente. O detalhamento de cada sinal está no guia do Google Consent Mode v2.

Passo 6. Verificar se funcionou

Sempre em janela anônima, sempre deslogado do painel e depois de publicar o tema.

  1. Antes de interagir. Abra a loja. DevTools, aba Aplicativo, Cookies. Só devem existir cookies do seu próprio domínio, de sessão e de carrinho da plataforma. Nenhum _ga, _gcl_au, _fbp, _ttp, _hjSession.
  2. Recusar tudo. Clique em "Recusar tudo" e navegue por três páginas, incluindo uma de produto. Na aba Rede, filtre por google-analytics, facebook, tiktok, hotjar: nada pode aparecer. Confira os cookies de novo.
  3. Com carrinho. Ainda com a recusa ativa, adicione um produto ao carrinho e vá até a página do carrinho. É aqui que os apps de recuperação acordam.
  4. Aceitar tudo. Aceite e recarregue. Agora os scripts devem carregar e os cookies aparecer. Se nada aparecer, o bloqueio não soltou com o aceite e a loja ficou sem mensuração.
  5. Só estatísticas. Abra as preferências, marque apenas estatísticas e salve. O GA4 dispara; Meta e TikTok, não.
  6. Revisita. Feche o navegador, abra de novo e entre na loja: a escolha precisa ter sido lembrada e o banner não deve reaparecer.
  7. Compra de teste. Refaça a compra completa com "Recusar tudo" ativo. O pagamento precisa passar normalmente.

Erros comuns na Nuvemshop

  • Snippet no rodapé do tema. As tags do head já rodaram. Sempre no head, o mais alto possível.
  • Editou o tema errado. A loja tem mais de um tema salvo e você editou o que não está publicado. Confira qual está ativo antes de comemorar.
  • Esqueceu de publicar. Salvar no editor não é publicar.
  • Atualização de tema apagou o código. Reinstalar ou atualizar o tema devolve o arquivo de layout ao original. Depois de qualquer mexida no tema, confira o snippet.
  • Dois banners. Sobrou um app de cookies antigo instalado. Desinstale de verdade e remova também o código que ele tenha deixado no tema.
  • Testar logado no painel. A sessão de administrador muda o comportamento de alguns apps e polui o inventário. Janela anônima, sempre.
  • Banner que esconde o botão de recusar. Recusar precisa ter o mesmo peso visual de aceitar; o que a ANPD espera da primeira camada está em cookies e LGPD à luz do Guia da ANPD.
  • Política de cookies genérica. A sua política precisa listar as categorias que o scanner encontrou na sua loja e ter um link que reabra as preferências.

Perguntas frequentes

Onde eu colo o snippet na Nuvemshop? No arquivo de layout do tema publicado, aquele em que a tag <head> aparece, logo depois da abertura do <head>. Você chega nele pela área da loja virtual, no editor de código do tema. Uma linha, salvar, publicar.

Funciona em qualquer tema? Sim. O snippet é HTML puro e o loader atua sobre o DOM final, sem depender do tema, do app instalado ou de quem gerou a página.

O banner aparece no checkout da Nuvemshop? Não. O checkout é renderizado pela plataforma, não pelo seu tema, e código do tema não roda lá. Isso não invalida o consentimento coletado antes: a escolha já foi registrada e vale para a navegação. Só não conte com bloqueio nessa etapa.

Preciso tirar o Google Analytics do campo nativo? Depende do seu nível de exigência. Com o campo nativo, a tag não executa e não grava cookie antes do aceite, mas pode haver requisição ao Google. Movendo a tag para o tema marcada ou para o GTM, nem a requisição sai. Em loja com mídia paga relevante, a mudança costuma compensar o trabalho.

O banner deixa a loja mais lenta? O loader é um arquivo só, sem dependência de runtime, e é síncrono de propósito. Numa loja Nuvemshop o saldo costuma ser positivo: cada pixel do campo nativo que fica preso até o aceite é uma requisição a menos concorrendo com as fotos dos seus produtos. O critério de performance está em como escolher uma CMP.

E se a configuração do banner não carregar? A loja continua de pé: o loader é fail-open, libera as tags e deixa um aviso no console. A escolha, e o custo dela, estão no critério 8 de como escolher uma CMP.

Tenho duas lojas Nuvemshop. Preciso de duas contas? Não. Cada site tem a sua chave pública e a sua configuração, e uma conta atende quantos domínios você precisar, sem teto. A assinatura é por domínio: todas usam o plano selecionado para a conta, e cada loja acrescenta uma unidade desse plano à renovação seguinte. A medição recomenda o menor plano que comporta as páginas encontradas, mas nunca troca plano ou preço sozinha. A régua está em preços. Agência que atende carteira de clientes trabalha do mesmo jeito; o painel com rótulo e filtro por cliente entra a partir de um dos degraus, e para agências diz qual.

O que fazer com quem já aceitou cookies antes de eu instalar o banner? Consentimento anterior sem registro auditável não serve como prova, e o ônus da prova é do controlador. Comece do zero: a primeira visita depois da instalação apresenta o banner a todo mundo.

Próximos passos

  1. Decida, com a tabela do passo 2, o que fazer com o Analytics e o Pixel do campo nativo: é a decisão que muda o resultado nesta plataforma.
  2. Instale o snippet pelo método A e confira no código-fonte que ele ficou acima das tags.
  3. Faça a verificação de sete passos, incluindo a compra de teste com a recusa ativa.
  4. Passe o scanner gratuito de novo depois de publicar, com um produto no carrinho, e compare com o inventário feito antes.
  5. Se você anuncia no Google, leia o guia do Consent Mode v2 e confira o parâmetro gcs nas requisições. Para fechar o resto da conformidade da loja, siga o checklist LGPD para e-commerce.
  6. Se você também vende em outra plataforma, o caminho equivalente está em como instalar no Shopify.

Continue lendo

O que o seu site carrega antes de alguém aceitar?

O scanner abre algumas páginas como um visitante anônimo e lista os cookies, scripts e iframes de terceiros que disparam sem consentimento nenhum.

Sem cadastro e sem cartão. O resultado abre numa página de endereço próprio, que não é indexada e que ninguém encontra sem o link.