Como enviar eventos de compra do WhatsApp para o Meta
Guia prático de evento de compra WhatsApp via CAPI: payload do Purchase, parâmetros essenciais, deduplicação e como o algoritmo do Meta usa esses dados.

Existe uma ponte invisível entre uma venda fechada no WhatsApp e a próxima campanha lucrativa no Meta Ads. Essa ponte é o evento de compra enviado de volta para o Meta. Sem ele, o algoritmo nunca aprende quem realmente compra, e a otimização fica presa na superfície (a "conversa iniciada"). Com ele, o sistema de aprendizado de máquina do Meta passa a ter o sinal mais valioso possível: receita confirmada. Este artigo é um guia prático e direto de como configurar o evento de compra WhatsApp via CAPI (Conversions API), com os parâmetros que importam, as armadilhas comuns e o porquê de cada decisão.
Por que esse evento muda tudo
O Meta otimiza pelas conversões que recebe. Se você reporta só "conversa iniciada", ele otimiza para conversas. Se você reporta compras, ele otimiza para compras. Não tem volta dessa equação. A gente desenvolveu essa lógica em como o algoritmo do Meta aprende a encontrar compradores. Aqui vamos no como.
O que é CAPI e por que ela é o canal certo
A CAPI (Conversions API) é a API de conversões do Meta. Ela permite enviar eventos diretamente do seu servidor para a infraestrutura do Meta, sem depender do navegador. Para vendas no WhatsApp isso é essencial porque a transação acontece em um app fechado, fora de qualquer página com pixel. Sem CAPI, simplesmente não existe canal para reportar a compra. O pixel tradicional do navegador, que a gente compara em CAPI vs pixel do navegador, não alcança esse cenário.
As vantagens práticas da CAPI
- Server-side. Não depende de bloqueadores, cookies de terceiros ou iOS 14+.
- Mais confiável. Sem perda por aba fechada, conexão instável ou JS quebrado.
- Aceita dados hasheados. Você manda e-mail, telefone, nome com hash SHA-256 e melhora o match rate.
O evento certo: Purchase
O nome padrão do evento de compra no Meta é Purchase. Use esse nome. Conversões personalizadas podem ser construídas em cima dele depois, mas o evento base precisa ser o padrão para o algoritmo entender o que está acontecendo.
Estrutura mínima do payload
A requisição CAPI é um POST para o endpoint de eventos do dataset/pixel. O corpo precisa conter, no mínimo:
{
"event_name": "Purchase",
"event_time": 1717286400,
"action_source": "business_messaging",
"event_id": "wt-conv-9f3a1c-purchase",
"user_data": {
"em": ["<hash sha256 do email>"],
"ph": ["<hash sha256 do telefone>"],
"client_ip_address": "<ip do usuario>",
"client_user_agent": "<user agent>"
},
"custom_data": {
"currency": "BRL",
"value": 297.00
}
}Vamos destrinchar os campos mais importantes.
action_source
Para vendas que aconteceram via WhatsApp, o valor recomendado é business_messaging. Esse campo informa ao Meta o contexto da conversão, e é usado internamente para refinar o aprendizado. Usar website aqui é um erro comum e prejudica a atribuição.
event_id e deduplicação
O event_id é o identificador único do evento. Ele serve para evitar contagem dupla quando o mesmo evento chega por mais de um canal (por exemplo, pelo pixel do navegador e pela CAPI). Use um ID estável e único por compra, como wt-conv-{id_da_conversa}-purchase. Se o mesmo event_id chegar duas vezes em 48 horas, o Meta deduplica automaticamente.
user_data com hash
Quanto mais dados de usuário você enviar, melhor o match. Os campos mais úteis são:
em: e-mail em SHA-256.ph: telefone em formato E.164 (ex:5511999999999) em SHA-256.fn,ln: nome e sobrenome em SHA-256.client_ip_addresseclient_user_agent: úteis quando você tem o dado do clique original.
Todos os dados pessoais precisam ser hasheados antes de enviar. Isso é exigência do Meta e está alinhado com a LGPD.
custom_data
currency (sempre BRL no Brasil) e value (valor da venda como número decimal). Esses dois campos viabilizam o cálculo de ROAS dentro do Meta. Sem value, o algoritmo otimiza por volume de compras, não por valor. Em operações com ticket variável, é uma perda gigante de informação.
O fluxo completo na operação real
Vamos descrever o caminho de uma venda real, do clique no anúncio até o evento Purchase chegando ao Meta.
Etapa 1: clique no anúncio
O usuário clica no anúncio Click to WhatsApp. O Meta registra automaticamente o MessagingConversationStarted quando a primeira mensagem é enviada. Esse evento já vem com um identificador interno que liga a conversa ao clique.
Etapa 2: atendimento e fechamento
A conversa segue. O vendedor qualifica, manda link de pagamento, recebe confirmação de pagamento. Esse momento, o "pagamento confirmado", é o gatilho para disparar o Purchase.
Etapa 3: disparo do evento
Seu servidor monta o payload acima e envia para a CAPI. O event_id é gerado a partir do identificador da conversa, garantindo unicidade. O value vem do valor real cobrado.
Etapa 4: o Meta processa
Em até 48 horas, o evento aparece no Gerenciador de Eventos do Meta. O match rate (qualidade do match entre os dados enviados e os usuários do Meta) fica visível, e em geral deve ficar acima de 70%. Match rate baixo significa que faltam dados ou que os hashes não estão corretos.
Armadilhas comuns
Enviar evento sem deduplicação
Se você dispara Purchase tanto no navegador (quando há landing page) quanto via CAPI sem event_id consistente, o Meta conta dois e o ROAS reportado fica inflado. Sempre use o mesmo event_id nos dois canais quando ambos existirem.
Esquecer o action_source correto
Mandar action_source: "website" para vendas que vieram do WhatsApp confunde a atribuição. O Meta tem fluxos específicos para business_messaging que melhoram a otimização. Use o valor certo.
Pular o hash
Mandar e-mail ou telefone em texto puro é rejeitado pela API. Hash SHA-256, sempre em lowercase, sem espaços.
Reportar tarde demais
A janela de atribuição padrão do Meta para compras é 7 dias clique e 1 dia visualização. Eventos que chegam fora dessa janela ainda contam para histórico, mas não para atribuição. Idealmente, o Purchase é enviado em minutos, não em dias.
Contingência: múltiplos pixels
Operações com mais de uma BM ou conta de anúncios precisam disparar o mesmo evento para múltiplos pixels. Cada destino tem seu próprio dataset. A contingência garante que se um pixel cair ou for restrito, os outros continuam recebendo o sinal.
Resumindo
O evento Purchase enviado via CAPI é o que separa uma operação de WhatsApp que otimiza no escuro de uma que escala com previsibilidade. O payload é simples: nome do evento, timestamp, action_source correto, event_id estável, user_data hasheado e custom_data com valor e moeda. O trabalho está em garantir que o disparo aconteça em tempo real, com deduplicação, e em todos os pixels relevantes.
A WhaTrack faz exatamente isso de forma automática: detecta o fechamento na conversa do WhatsApp, monta o payload, dispara Purchase para todos os pixels configurados via navegador e CAPI, e cuida da deduplicação. Conheça a WhaTrack e veja o evento de compra chegar no Meta em segundos.
