Como corrigir o erro de conformidade GDPR no WPForms
O que é erro de conformidade GDPR no WPForms?
O WPForms GDPR checkbox e o campo GDPR Agreement, uma caixa de consentimento obrigatoria que o visitante precisa marcar antes de enviar o formulário para autorizar o tratamento dos seus dados. Ele so fica disponível no construtor depois que você ativa o recurso GDPR Enhancements nas configurações globais do WPForms. Esse recurso também desliga o armazenamento de informações pessoais que o plugin coleta por padrão, como endereco de IP e dados do navegador (user agent), e impede a gravacao do cookie de rastreamento usado por addons como Form Abandonment e Geolocation.
O erro de conformidade aparece de duas formas tipicas: o campo GDPR Agreement não surge na lista de campos do construtor, porque o GDPR Enhancements continua desmarcado; ou o formulário salva IP, navegador e cookies do visitante mesmo você achando que já esta em conformidade, porque o recurso foi ativado apenas no formulário novo e não reaplicado nos antigos. Em ambos os casos o consentimento exigido pela legislacao de proteção de dados não e coletado nem comprovado na entrada.
Como identificar
- O campo ‘GDPR Agreement’ não aparece na aba ‘Campos Padrão’ (‘Standard Fields’) do construtor de formulários, mesmo procurando pelo nome.
- As entradas salvas continuam exibindo o endereco de IP e o navegador (User Agent) do visitante na tela de detalhes da entrada.
- O formulário envia normalmente, mas não ha nenhum registro de consentimento marcado na entrada, deixando a coleta de dados sem comprovacao.
- Ao tentar adicionar o consentimento, so existe um campo Checkboxes genérico, sem a opção específica de GDPR Agreement.
- Uma auditoria de cookies acusa o cookie de rastreamento do WPForms (‘wpforms_started_*’) sendo gravado antes de qualquer consentimento.
Como prevenir
- Ative o GDPR Enhancements logo na configuração inicial do WPForms, antes de criar os formulários, para que todo formulário novo já nasca com o campo de consentimento disponível.
- Padronize um modelo de formulário com o campo GDPR Agreement, IP e cookies desativados e use-o como base para não esquecer o consentimento em formulários futuros.
- Revise os formulários antigos depois de ligar o GDPR Enhancements, adicionando manualmente o campo de consentimento que eles ainda não possuem.
- Inclua o WPForms na rotina de revisao de cookies e privacidade do site, conferindo periodicamente se nenhum cookie ou dado pessoal e gravado antes do consentimento.
Causa
- A opção 'GDPR Enhancements' em WPForms -> Configurações -> Geral esta desmarcada; enquanto ela permanece desativada, o WPForms não exibe o campo GDPR Agreement na lista de campos do construtor.
- O recurso GDPR Enhancements foi ligado depois que os formulários já existiam, entao os formulários antigos continuam sem o campo de consentimento e ainda gravam IP, navegador e cookie do visitante.
- A opção por formulário 'Disable storing entry information' (em Configurações -> Geral do próprio formulário) esta marcada, fazendo o formulário não salvar a entrada e, com ela, o registro do consentimento dado.
- As opções de privacidade 'Disable User Cookies' e 'Disable User Details' (IP e User Agent) não foram marcadas no formulário, entao ele continua coletando dados pessoais mesmo com o campo de consentimento presente.
- Um cache de página (WP Rocket ou similar) serviu a versão antiga do formulário, ainda sem o campo GDPR Agreement, depois que ele foi adicionado no construtor.
Como resolver
- Ative o GDPR Enhancements nas configurações globais: Esse e o passo que libera o campo de consentimento. Enquanto o GDPR Enhancements estiver desmarcado, o campo GDPR Agreement não aparece em nenhum formulário. Ativar essa opção também passa a impedir, por padrão, o armazenamento de IP, navegador e cookie de rastreamento.
Painel WP -> WPForms -> Configurações -> aba Geral Marque a opção 'GDPR Enhancements' e clique em Salvar configurações - Adicione o campo GDPR Agreement ao formulário: Com o GDPR Enhancements ativo, abra o formulário no construtor e arraste o campo GDPR Agreement, que agora aparece entre os campos padrão, para o final do formulário, logo antes do botão de envio. O texto desse campo deve explicar o consentimento que o visitante esta dando.
Painel WP -> WPForms -> Todos os formulários -> abra o formulário (Editar) No painel de campos, arraste 'GDPR Agreement' para perto do botão Enviar Edite o texto do campo para descrever o consentimento e clique em Salvar - Desligue o armazenamento de IP, navegador e cookies do formulário: Dentro do construtor do formulário, abra Configurações -> Geral e ative as opções de privacidade para o WPForms parar de coletar e salvar dados pessoais que você não precisa guardar. Isso reduz o volume de dados sensiveis armazenados na entrada.
No construtor: Configurações -> Geral Marque 'Disable storing user details (IP address and user agent)' Marque 'Disable user cookies' e clique em Salvar - Decida se vai desativar o armazenamento da entrada: A opção 'Disable storing entry information' faz o WPForms não salvar nenhuma entrada no banco. Se você so quer receber os dados por e-mail, ative; se precisa comprovar o consentimento, deixe desativada para que o registro do campo GDPR Agreement marcado fique salvo na entrada.
No construtor: Configurações -> Geral Avalie a opção 'Disable storing entry information' conforme sua necessidade Para comprovar consentimento, mantenha-a desmarcada e clique em Salvar - Limpe o cache e teste o envio: Se o campo de consentimento ainda não aparecer na página pública, o problema costuma ser cache servindo a versão antiga do formulário. Limpe o cache do site e o do navegador, recarregue a página e faca um envio de teste para confirmar que o consentimento e exigido e registrado.
Limpe o cache do plugin de cache (ex.: WP Rocket -> Limpar cache) Recarregue a página do formulário com o cache do navegador limpo Faca um envio de teste e confira o consentimento registrado na entrada
<?php
/**
* Remove o IP e o User Agent das entradas do WPForms antes de salvar,
* reforcando a privacidade mesmo em formularios sem GDPR Enhancements por formulario.
* Cole no functions.php do tema filho ou num plugin de snippets.
*/
add_filter( 'wpforms_process_filter', 'full_wpforms_anonimiza_entrada', 10, 3 );
function full_wpforms_anonimiza_entrada( $fields, $entry, $form_data ) {
// Zera os dados pessoais que o WPForms coleta por padrao.
$_SERVER['REMOTE_ADDR'] = '';
$_SERVER['HTTP_USER_AGENT'] = '';
return $fields;
}














