Pular para o conteúdo
10 min de leitura

Rastreamento server-side no WordPress genérico: quando não há e-commerce, mas há conversão

Por Equipe Owiew ·

Nem todo WordPress vende produto: muitos geram leads por formulário. Veja como capturar o envio no servidor e enviar a conversão server-side à Meta e ao Google.

Neste artigo

Boa parte da web roda em WordPress, e uma fatia enorme desses sites não é loja: são sites institucionais, blogs, páginas de captura e portais que convertem por formulário — um lead preenchido, um orçamento solicitado, um contato enviado, uma inscrição em newsletter. A conversão aqui não é uma compra com valor e itens, é uma ação que vale a pena medir e otimizar em campanha. E, assim como no e-commerce, o rastreamento client-side desse envio é frágil. Este texto mostra como capturar a conversão no servidor de um WordPress genérico, sem WooCommerce, aproveitando os hooks do próprio WordPress e dos plugins de formulário para enviar o evento à Meta e ao Google de forma confiável.

A conversão de um site que não vende#

Num site de geração de leads, o momento de conversão é o envio bem-sucedido de um formulário. O visitante preenche nome, e-mail, telefone, talvez uma mensagem, e clica em enviar. Esse envio, quando validado e gravado, é o fato que interessa — o equivalente ao pedido pago de uma loja. Contar a conversão nesse fato do servidor, e não no carregamento de uma página de obrigado, evita as perdas do client-side: script bloqueado, aba fechada, redirecionamento que não completa. Um lead que entrou no banco é um lead que aconteceu, e deve chegar à plataforma de anúncios independentemente do que o navegador fez depois.

Há uma sutileza importante nesse tipo de conversão: nem todo lead vale o mesmo. Um formulário preenchido é o topo; a qualificação, a proposta e o fechamento vêm depois, muitas vezes fora do site, num CRM. Vale desde já pensar a conversão do formulário como o primeiro estágio, e planejar o envio de conversões offline posteriores — o lead que virou cliente — como um evento separado e mais valioso. Mas o ponto de partida é capturar bem o envio do formulário.

Onde enganchar no WordPress#

O WordPress é orientado a hooks, e os plugins de formulário mais usados expõem, cada um, um gancho que dispara quando um formulário é submetido com sucesso. Seja qual for o plugin, o padrão é o mesmo: existe uma ação disparada após a validação e a gravação do envio, e você registra uma função sua nesse gancho. Quando ele dispara, você recebe os dados do formulário e o contexto do envio, e dali monta a conversão.

Se o site usa formulários próprios do tema ou uma solução simples, o gancho pode ser o momento do processamento do POST do formulário no servidor. O princípio não muda: encontre o ponto onde o envio já foi validado e é definitivo, e enganche ali. Enganchar antes da validação conta lixo — formulários abandonados, tentativas de bot, envios com erro. Enganchar depois da gravação garante que só conversões reais viram evento.

Filtre spam e bot antes de contar#

Formulários são ímãs de spam, e um bot que preenche cem formulários por dia infla a sua conversão com lixo. Antes de contar o envio como conversão, respeite os filtros que o próprio plugin já aplica — o campo honeypot, o desafio anti-bot, a validação de campos. Só enganche depois desses filtros, para que a conversão que chega à plataforma de anúncios corresponda a leads humanos e reais. Contar spam como conversão não só suja o relatório: ensina o algoritmo de campanha a buscar mais gente parecida com os bots.

Montando o payload de um lead#

A conversão de lead tem uma estrutura diferente da compra. Não há valor monetário obrigatório nem itens de carrinho, embora você possa atribuir um valor estimado ao lead se o seu negócio tem uma noção de quanto vale um lead médio — o que ajuda a plataforma a otimizar por valor e não só por volume. O nome do evento costuma ser Lead na Meta e um evento correspondente de geração de lead no GA4.

O que não muda é o bloco de dados de correspondência, e aqui o formulário é uma fonte rica, porque o visitante acabou de digitar os próprios dados. E-mail, telefone e nome vêm direto dos campos preenchidos. Todos precisam ser normalizados — minúsculas, sem espaços, telefone só com dígitos e código do país — e hasheados com SHA-256 antes de sair do servidor. E-mail e telefone continuam sendo os campos de maior peso na correspondência, e num formulário eles vêm limpos e voluntários, o que costuma dar uma qualidade de correspondência excelente.

O parâmetro de clique e o contexto da visita#

Como no e-commerce, é preciso levar o fbclid e o gclid da entrada do visitante até a conversão calculada no servidor. No WordPress, capture o parâmetro de clique no navegador assim que o visitante chega vindo de um anúncio e grave-o num cookie de primeira parte ou num campo oculto do próprio formulário. Um campo oculto é uma solução elegante aqui: um script preenche o campo com o parâmetro de clique no carregamento da página, e quando o formulário é enviado, esse valor chega ao servidor junto com os demais dados, disponível no gancho sem nenhuma amarração extra. O user agent do visitante e o IP também entram no payload — e no WordPress, como o gancho roda no servidor que atendeu o formulário, você tem acesso ao IP real do visitante, o que é uma vantagem sobre plataformas onde o webhook vem de fora.

Deduplicação com o pixel do navegador#

Muitos sites WordPress mantêm o pixel disparando o evento de lead no navegador ao mesmo tempo em que enviam server-side. Para não contar o mesmo lead duas vezes, os dois lados precisam mandar o mesmo identificador de evento. Diferente de uma loja, o formulário nem sempre tem um número de pedido natural para servir de identificador. A solução é gerar um identificador único do envio no momento do carregamento do formulário — um valor aleatório com boa entropia, gravado num campo oculto — e usar esse mesmo valor tanto no pixel do navegador quanto no envio server-side. Assim os dois lados compartilham o event_id, e a plataforma deduplica corretamente. Gerar o identificador com um gerador criptograficamente seguro, e não com um aleatório fraco, evita colisões que quebrariam a deduplicação.

Entrega confiável sem travar o formulário#

Se você chamar a API da Meta ou do Google de forma síncrona dentro do gancho do formulário, o visitante espera a resposta da rede antes de ver a confirmação de envio. Uma API lenta atrasa a experiência; uma API fora do ar pode fazer o envio parecer que falhou. A solução é desacoplar: no gancho, grave o evento de conversão numa fila — o sistema de agendamento do WordPress serve, ou uma tabela própria — e responda ao visitante imediatamente. Um processo em segundo plano consome a fila, chama a API e retenta em caso de falha. Assim o formulário responde na hora e nenhuma conversão se perde por um soluço de rede.

Idempotência#

O gancho de envio pode, em certos cenários, disparar mais de uma vez para o mesmo envio, e o processo de fila pode reprocessar uma mensagem. Guarde quais envios já viraram conversão enviada — pelo identificador único do envio que você gerou — e ignore repetições. Sem essa trava, um reenvio ou reprocessamento vira lead dobrado, e num site de baixo volume isso distorce bastante os números.

Do lead ao cliente: fechando o funil#

O envio do formulário é só o começo. O lead segue para um CRM, é qualificado, e uma fração vira cliente — muitas vezes semanas depois, fora do site. Essa conversão posterior é mais valiosa que o lead inicial, e alimentar a plataforma de anúncios com ela transforma a otimização: em vez de otimizar por volume de formulários, a campanha passa a otimizar por leads que fecham. Isso se faz com envio de conversões offline, casando o lead que virou cliente no CRM com o clique original pelo e-mail hasheado ou pelo parâmetro de clique que você capturou lá no formulário. Planejar essa ponte desde a captura do lead — guardando o parâmetro de clique e o e-mail — é o que permite fechar o funil depois.

Consentimento em sites de captura#

Sites de geração de lead lidam com dados pessoais por definição — o formulário existe justamente para coletar e-mail e telefone. Isso torna o consentimento parte incontornável do desenho. Antes de enviar os dados de correspondência à plataforma de anúncios, o processamento precisa refletir a base legal e a escolha do visitante quanto a marketing. No WordPress, isso costuma envolver um banner de consentimento e o registro da escolha, que deve chegar até o gancho de conversão para decidir se os dados podem ou não ser incluídos no envio. O server-side não é um atalho para contornar a recusa do visitante: como o processamento acontece longe da vista dele, é responsabilidade sua garantir que o servidor honra o que foi escolhido na tela. Há uma nuance útil aqui: o próprio envio do formulário, com os dados que o visitante digitou voluntariamente para ser contatado, tem uma base legal diferente da de rastreamento comportamental, e vale distinguir o que é necessário para o contato do que é uso de marketing. Tratar essa distinção com clareza mantém a captação de leads em conformidade sem abrir mão da mensuração para quem consentiu.

Valor do lead e otimização por qualidade#

Nem todo lead vale o mesmo, e refletir isso na mensuração muda o comportamento da campanha. Se o seu negócio consegue estimar quanto vale um lead médio, atribuir esse valor ao evento permite que a plataforma otimize por valor esperado, não só por contagem. Mais poderoso ainda é diferenciar leads por qualidade já na captura: um formulário de orçamento detalhado vale mais que uma inscrição em newsletter, e reportá-los com valores distintos ensina o algoritmo a priorizar o tráfego que traz os leads certos. Combinado com o envio posterior da conversão offline — o lead que efetivamente virou cliente —, isso fecha um ciclo em que a campanha aprende a buscar não quem preenche formulário, mas quem compra. Essa progressão, do lead bruto ao lead qualificado ao cliente fechado, é o que separa uma mensuração de lead que gera volume vazio de uma que gera receita, e ela começa na disciplina de capturar bem o envio no servidor.

Validando o fluxo#

Antes de confiar nos números, teste de ponta a ponta. Envie o formulário de teste, confirme que o gancho disparou após a validação, que o filtro de spam não deixou passar lixo, e que o evento chegou à plataforma com os dados de correspondência corretos — verificado na aba de eventos de teste da Meta e no modo de depuração do GA4. Force um envio de bot simulado para confirmar que ele não vira conversão. Só então ligue em produção.

Conversão sem carrinho#

Um WordPress que gera leads tem tanto direito a rastreamento server-side quanto uma loja. Enganche o envio validado do formulário, filtre spam antes de contar, monte um payload de lead com os dados de correspondência hasheados que o visitante acabou de digitar, capture o parâmetro de clique num campo oculto, unifique o event_id com um identificador único do envio para deduplicar, desacople o envio numa fila para não travar o formulário, trave a idempotência, e planeje desde já a ponte para a conversão offline do lead que vira cliente. Com isso, o site que não vende nada online mede com precisão a única coisa que importa para ele: os leads reais que as campanhas geraram.

Leituras relacionadas

Nenhum comentário ainda

Seja o primeiro a comentar.

Deixe seu comentário

Entre com sua conta Canverly para comentar. Você pode usar a mesma conta em qualquer site da rede.

Entrar com Canverly