PS PrestaShop Iniciante

Cookie Manager Tarteaucitron: guia completo

Instalação, configuração dos serviços, scanner automático, Consent Mode v2 e registo de consentimento do módulo Cookie Manager Tarteaucitron para PrestaShop 8 e 9.

Atualizado Versão do módulo 1.3.0

Apresentação

O Cookie Manager Tarteaucitron é um módulo de gestão do consentimento de cookies para PrestaShop 8.0+ e 9.x. Combina o motor de código aberto tarteaucitron.js, que bloqueia efetivamente os serviços antes do consentimento, com uma interface moderna: cartão flutuante animado, interruptores por categoria e pastilha de reabertura. Inclui o Google Consent Mode v2, um scanner de rastreadores com ativação num clique e um registo de consentimento exportável.

Desde a versão 1.2.0 os ficheiros do tarteaucitron são servidos a partir do seu próprio domínio: nenhum pedido é enviado a um CDN externo antes do consentimento do visitante.

Instalação

  1. Vá a Módulos → Gestor de módulos → Carregar um módulo.
  2. Carregue o ficheiro datafirefly_tarteaucitron.zip.
  3. Clique em Instalar e depois em Configurar.

O ecrã de configuração é acessível de duas formas, ambas mostram a mesma página: o botão Configurar do gestor de módulos, ou a entrada de menu Cookie Manager adicionada na instalação.

Após cada atualização, limpe a cache do PrestaShop em Parâmetros avançados → Desempenho. O script de atualização limpa também o OPcache do PHP quando lhe é permitido.

Atualizar a partir de uma versão anterior

Substitua /modules/datafirefly_tarteaucitron/ ou instale o novo ZIP a partir do back-office. O script de atualização corre sozinho e trata da tabela de registo se estiver em falta, das novas chaves de configuração, das posições de banner renomeadas (bottom passa a bottom-left, middle e popup passam a center) e da entrada de menu se não existir.

Se usava a posição middle ou popup, o banner passa a ser uma modal centrada com fundo escurecido. O comportamento está correto, mas o aspeto muda visivelmente: verifique antes de publicar.

Definições gerais

  • Módulo ativado: interruptor principal do banner no front-office.
  • Idioma do banner: em automático segue o idioma PrestaShop da página. Também pode forçar um dos 36 idiomas incluídos.
  • Posição do banner: em baixo à esquerda ou à direita, em cima à esquerda ou à direita, ou centrada como modal.
  • Ficheiros do tarteaucitron: alojamento local, recomendado, ou CDN jsDelivr. Ver a secção dedicada.
  • Validade do consentimento: 365 dias por predefinição. Recomenda-se não ultrapassar os 13 meses, ou seja 395 dias.
  • Nome do cookie: tarteaucitron por predefinição. Alterá-lo repõe os consentimentos já recolhidos, porque o cookie anterior deixa de ser lido.
  • Domínio do cookie: vazio para o domínio atual, ou precedido de um ponto para partilhar o consentimento entre subdomínios.
  • Pastilha de reabertura: mostra uma pequena pastilha Cookies após o consentimento. Ver a secção sobre a retirada.
  • Fechar equivale a recusar: acrescenta uma cruz que recusa todos os cookies não essenciais. Desativada, o banner exige uma escolha explícita.

O separador Textos e links personaliza o título, a mensagem e as etiquetas dos botões; um campo vazio usa o texto próprio do módulo no idioma do banner. O separador Design controla as cores e o raio dos cantos, com pré-visualização ao vivo e um controlo de contraste WCAG entre a cor dos botões e a do respetivo texto.

De onde vêm os ficheiros do tarteaucitron

Um banner de cookies que carrega os seus próprios ficheiros de um CDN entrega o endereço IP do visitante a um terceiro antes sequer de este ter escolhido. Por isso o módulo inclui o tarteaucitron.js 1.30.0 e os seus 36 ficheiros de idioma em views/vendor/tarteaucitron/, servidos a partir do seu domínio.

A opção CDN jsDelivr continua disponível no separador Geral. Não é a recomendada: entrega o endereço IP do visitante ao jsDelivr logo no carregamento da página, antes de qualquer consentimento.

Ativar os serviços

O separador Serviços lista as 11 integrações prontas a usar. Para cada uma, ative o interruptor e introduza o identificador pedido:

  • Google Analytics 4: Measurement ID, formato G-XXXXXXXX
  • Google Tag Manager: Container ID, formato GTM-XXXXXX
  • Google Ads: Conversion ID
  • Meta Pixel: Pixel ID numérico
  • Hotjar: Site ID numérico
  • LinkedIn Insight: Partner ID
  • TikTok Pixel: Pixel ID
  • Microsoft Clarity: Project ID
  • Intercom: App ID
  • YouTube: sem identificador, ativa o bloqueio dos vídeos incorporados antes do consentimento
  • Stripe: sem identificador, ver a secção dedicada

Um serviço ativado sem identificador não é carregado no front-office. O módulo assinala-o a vermelho na tabela e avisa ao gravar, mas verifique os seus identificadores depois de usar a ativação automática do scanner.

O campo do identificador bloqueia quando o serviço está desativado. O valor guardado mantém-se e reaparece ao reativar o serviço.

Scanner e deteção automática

  1. Clique em Analisar o site agora no separador Deteção automática. O módulo lê os cookies presentes no seu domínio e obtém o HTML do front-office para analisar as etiquetas de script de terceiros.
  2. Surgem duas tabelas: os cookies detetados com o serviço provável e a categoria, e os scripts de terceiros identificados com o seu estado atual no módulo.
  3. Clique em Ativar os serviços detetados e grave.
  4. Passe ao separador Serviços para introduzir os identificadores dos serviços recém-ativados.

O scanner reconhece Google Analytics, Google Tag Manager, Google Ads, Meta Pixel, Hotjar, LinkedIn, TikTok, Microsoft Clarity, Intercom, Brevo, Stripe e YouTube, além dos cookies funcionais do PrestaShop.

Navegue primeiro no seu front-office no mesmo navegador e só depois lance a análise: os cookies colocados pelos seus rastreadores ficarão visíveis e a deteção será mais completa. Se o back-office e o front estiverem em domínios diferentes, só funciona a análise de scripts.

Estatísticas e teste A/B

Desde a versão 1.3.0, o separador Estatísticas e A/B mede o que o banner obtém realmente. O módulo conta as exibições e não apenas as respostas: é isso que torna a taxa de aceitação calculável.

  • Indicadores: exibições, taxa de resposta, taxa de «aceitar tudo», taxa de recusa, proporção de escolhas personalizadas, opt-in por categoria, repartição computador / telemóvel e evolução diária, em 7, 30, 90 ou 365 dias, ou sobre todo o histórico.
  • Privacidade: os contadores são agregados por dia, variante e tipo de dispositivo na tabela dftac_banner_stats. Nenhum dado pessoal, nenhum identificador de visitante, nenhum cookie. Uma exibição é contada uma única vez por visita, graças a um marcador local de sessão.
  • Robots: um filtro de user-agent do lado do servidor afasta os motores de busca e as ferramentas de auditoria, e a exibição só é contabilizada no primeiro gesto do visitante (ponteiro, tecla, deslocamento ou resposta). Sem esse filtro, os robots que executam JavaScript inflacionam o denominador sem nunca responder e puxam a taxa para baixo.
  • Exportação e reposição: exportação CSV dos contadores e botão de reposição, ambos independentes do registo RGPD.

Lançar um teste A/B

  1. Ative o teste e defina a parte do tráfego enviada para a variante B. 50 % dá o resultado legível mais depressa.
  2. Preencha apenas os campos que quer testar: título, mensagem, etiquetas dos três botões, posição. Os campos deixados vazios herdam a variante A.
  3. Deixe correr. O sorteio mantém-se estável durante toda a visita.
  4. Leia o veredicto: o módulo compara as duas taxas com um teste z sobre duas proporções e só anuncia um vencedor acima de 100 exibições por variante e com uma diferença significativa a 95 %.
  5. Copie o texto vencedor para a variante A e desligue o teste.

A definição que mais mexe na taxa de aceitação é a posição: compare a modal centrada com o cartão ao canto antes de trabalhar as formulações.

Obrigatório desde março de 2024 para os anunciantes europeus, o Consent Mode v2 permite à Google modelar as conversões mesmo em caso de recusa. O módulo emite os sete sinais exigidos (ad_storage, ad_user_data, ad_personalization, analytics_storage, functionality_storage, personalization_storage, security_storage) como default no <head>, antes de qualquer tag, e atualiza-os assim que o visitante responde. Cada estado predefinido é configurável, sendo denied recomendado no EEE.

Particularidade: o estado predefinido é deduzido do cookie de consentimento existente quando este existe. Quem já aceitou obtém granted desde o primeiro frame, sem janela denied transitória a cortar as suas conversões do Google Ads a cada recarregamento. Do lado do servidor e do navegador é usada a mesma tabela de correspondência serviço-sinal, para que o estado predefinido e a atualização coincidam sempre.

wait_for_update define quanto tempo a Google espera pelo banner antes de enviar dados. 500 ms é o valor recomendado.

Stripe e os cookies estritamente necessários

Os cookies do Stripe (__stripe_mid, __stripe_sid) são necessários para prevenir a fraude no pagamento e beneficiam da isenção prevista para rastreadores estritamente necessários: bloqueá-los quebraria o processo de compra. Quando o serviço Stripe está ativado, carrega sem pedir consentimento e aparece no painel de preferências em Essenciais e pagamento com a etiqueta Sempre ativo. O visitante fica informado e nenhum pagamento é bloqueado.

Retirar o consentimento

O RGPD exige que retirar o consentimento seja tão simples como dá-lo. Existem três formas, combináveis:

  • a pastilha flutuante mostrada após a escolha, ativável no separador Geral;
  • um link no rodapé: <a href="#tarteaucitron">Gerir os meus cookies</a> ;
  • uma chamada JavaScript: dftacOpenPreferences(), a partir de qualquer elemento do seu tema.

Se desativar a pastilha, implemente uma das outras duas. Sem isso, o visitante deixa de poder voltar atrás na sua escolha.

Serviços personalizados

O separador Serviços personalizados acrescenta qualquer script de terceiros ausente da lista: uma chave única em minúsculas, um nome apresentado, uma categoria (analytic, ads, social, video, support, api ou other), o JS executado apenas após o consentimento, os nomes dos cookies colocados e um URL de política de privacidade. Aparecem no banner numa categoria própria com o seu interruptor, e a categoria determina o sinal Consent Mode associado.

O código introduzido aqui é executado tal como está no front-office. Cole apenas código cuja origem controle.

Registo de consentimento

O artigo 7.º do RGPD obriga a demonstrar que o consentimento foi dado. O separador Registo RGPD mostra os registos página a página, cada um com data e hora, o identificador de visitante anónimo, as categorias aceites e o detalhe serviço a serviço.

  • O endereço IP nunca é guardado em claro: apenas uma impressão HMAC-SHA256 salgada com uma chave própria da loja. Um SHA-256 sem sal seria recuperável por força bruta sobre o espaço IPv4.
  • O identificador do visitante vem de um cookie técnico dedicado e não contém dados pessoais.
  • Uma desduplicação no servidor ignora um segundo envio idêntico do mesmo visitante em menos de 5 segundos, neutralizando os duplos cliques.
  • O envio do consentimento usa keepalive: chega mesmo que o visitante mude de página logo a seguir à escolha.
  • Uma limpeza automática elimina as entradas para além do período de conservação que definir. Corre ao abrir a página de configuração, no máximo uma vez por dia.
  • Exportar para CSV produz um ficheiro com data e hora, em UTF-8 com BOM para abrir corretamente no Excel.
  • O registo é conservado se desinstalar o módulo, preservando a sua pista de auditoria.
  • O registo pode ser desativado se não quiser conservar esta prova.

Multiloja

Cada loja tem a sua própria configuração: serviços ativados, textos, cores, posição e definições de Consent Mode. O aviso no topo do ecrã de configuração lembra qual a loja que está a editar.

Resolução de problemas

  • O banner não aparece: confirme que o módulo está ativado no separador Geral, limpe a cache do PrestaShop e certifique-se de que não há outro módulo de consentimento ativo em paralelo.
  • As escolhas não são memorizadas: apague o cookie de consentimento antigo no navegador antes de testar de novo e verifique se o nome do cookie não mudou desde o último consentimento.
  • Um serviço não carrega após a aceitação: confirme que o identificador está preenchido. Um identificador vazio num serviço ativado é assinalado a vermelho na tabela.
  • A análise não deteta nada: navegue primeiro no front-office no mesmo navegador e volte a lançá-la.
  • Nada no registo: confirme que o registo está ativado no separador Registo RGPD e dê novamente consentimento a partir do front numa janela privada.
  • Uma alteração ao módulo não produz efeito: limpe a cache do PrestaShop e, se o seu alojamento usar OPcache, recarregue o PHP. O script de atualização limpa o OPcache automaticamente quando pode.

Precisa de ajuda? Contacte o suporte DataFireFly a partir da sua conta de cliente, resposta em 24 h úteis.

Esta página foi útil?

Ainda com dúvidas? Contacte o suporte