
Conversões do WhatsApp com n8n: webhook, ctwa_clid e API da Meta
Aprenda a captar a referência de anúncios que abrem o WhatsApp, guardar o ctwa_clid na sua base e enviar eventos de conversão à Meta com n8n. Veja o payload, os testes e os limites da atribuição.
Uma campanha que abre conversa no WhatsApp não passa pelo seu site. Por isso, o pixel do site não enxerga sozinho o que acontece depois da mensagem. Com a API oficial do WhatsApp e o n8n, você pode registrar a origem da conversa na sua base e informar à Meta quando ocorrer um resultado real, como um lead qualificado ou uma compra confirmada. Este guia mostra o fluxo, o payload e os testes necessários.
No vídeo acima, mostro a lógica de captar a conversa e informar o resultado à Meta. Aqui organizo os passos e atualizo um detalhe decisivo: o identificador ctwa_clid vem no objeto referral do webhook quando a conversa nasce de um anúncio Clique para WhatsApp. Ele não deve ser copiado para o campo fbc.
Por que usar o N8N para rastrear conversões do WhatsApp?
O n8n recebe o webhook, valida os campos, registra a conversa e aciona o envio de eventos quando seu sistema comprova uma etapa do funil. Rastreamento é coletar e guardar esses dados na sua própria base; trackeamento é informar o resultado à plataforma de anúncios. Os dois dependem da qualidade da origem e do evento registrado.
- Origem na sua base: guarde ctwa_clid e source_id quando vierem no referral do webhook e associe-os à conversa.
- Controle do fluxo: o n8n permite validar payloads, registrar o histórico e tratar falhas e duplicações.
- Custo sob controle: compare hospedagem, volume de execuções e manutenção antes de escolher uma arquitetura.
- Sinal para a Meta: informe resultados reais e confira o recebimento; isso não garante atribuição ou melhora automática.
“Referência técnica: documentação da Meta para a API de Conversões em mensagens comerciais — developers.facebook.com/docs/marketing-api/conversions-api/business-messaging. Confira a versão vigente antes de implementar.
Pré-requisitos antes de começar
Antes de mergulhar na configuração, certifique-se de ter os seguintes elementos em mãos. Essa preparação é crucial para o sucesso da automação.
Contas e Acessos Necessários
- **Conta no N8N:** Você pode usar a versão cloud (n8n.io) ou instalar a versão self-hosted. A cloud é mais simples para começar.
- Acesso à Meta: tenha permissões para o WhatsApp Business, para a fonte de dados de mensagens e para testar eventos no Gerenciador de Eventos.
- **Número de WhatsApp Business:** Um número ativo vinculado à API Oficial do WhatsApp (via Meta). Este tutorial foca em campanhas que usam o 'Clique para WhatsApp' dos anúncios, que geram os parâmetros necessários.
- Token da integração: use um token com as permissões exigidas pelo endpoint configurado e armazene-o nas credenciais do n8n.
Conhecimento dos Parâmetros de Rastreamento
Para relacionar uma conversa a um anúncio Clique para WhatsApp, confira os campos que a API oficial entrega no objeto referral do webhook de mensagem inicial:
- ctwa_clid: identificador disponibilizado no referral do webhook para conversas iniciadas por anúncios Clique para WhatsApp. Envie-o como user_data.ctwa_clid no evento de mensagem.
- source_id: referência da origem do anúncio no referral, útil para análise própria. Não é uma árvore completa de campanha e não define, sozinho, a fonte de dados de destino.
Esses identificadores chegam nos metadados do webhook quando disponíveis; não presuma que estejam anexados à URL do WhatsApp. Salve o payload de teste, confira o objeto referral e associe o ctwa_clid ao contato e à conversa. Uma mensagem orgânica pode não trazer essa referência.
Passo a Passo: Configurando a Automação para Receber Mensagens
A primeira automação tem como objetivo capturar toda mensagem recebida no seu número do WhatsApp Business, extrair os parâmetros importantes e armazenar essas informações para processamento.
1. Criando o Webhook do WhatsApp no N8N
No N8N, crie um novo workflow. O primeiro nó será um Webhook (Webhook Node). Esse nó vai gerar uma URL única que você configurará na API do WhatsApp para receber notificações de novas mensagens.
- Adicione o nó 'Webhook' e configure-o como 'POST'.
- Copie a URL gerada (ex: https://seu_workflow.n8n.cloud/webhook/xyz).
- Na configuração da API oficial do WhatsApp, registre a URL de callback e faça a verificação exigida pela Meta. Os nomes das telas podem mudar.
- Selecione os eventos a serem notificados, principalmente 'messages'.
- Teste o webhook para garantir que a conexão está ativa.
2. Extraindo os Parâmetros da Mensagem
Quando uma mensagem chegar, inspecione o payload real do webhook antes de programar o nó Code. No primeiro contato iniciado por um anúncio, procure o objeto referral da mensagem e extraia ctwa_clid e source_id quando presentes. Valide campos ausentes e evite quebrar o fluxo de conversas orgânicas.
Na estrutura usual do webhook da API do WhatsApp, a mensagem fica em body.entry[0].changes[0].value.messages[0]. Confira messages[0].referral no payload recebido; não confunda referral com context, que tem outra finalidade. A estrutura pode variar conforme a integração, então use uma amostra real do seu ambiente.
“Sem um ctwa_clid válido, não invente um identificador. Guarde a conversa na sua base e registre que a atribuição ao clique não foi comprovada.
3. Armazenando os Dados do Lead
Armazene a origem e o estado da conversa em uma base sob seu controle, como PostgreSQL. Uma planilha serve para um teste pequeno, mas exige cuidado com acesso, retenção e volume. Para cada conversa, guarde somente o necessário:
- Número do telefone do remetente.
- CTWA Clid.
- Source ID.
- Timestamp da mensagem.
- Conteúdo da mensagem (opcional).
Esse registro é o começo de um histórico próprio. Relacione a referência do anúncio à conversa e a um resultado confirmado no CRM; receber uma mensagem, por si só, não comprova compra ou lead qualificado.
Passo a Passo: Automatizando o Envio de Conversões para o Facebook
A segunda etapa informa à Meta um resultado que ocorreu na conversa. Dispare o evento quando a etapa correspondente estiver comprovada no seu CRM ou sistema de pagamento. Escolha a fonte de dados de mensagens configurada para a campanha e teste o destino no Gerenciador de Eventos.
4. Preparando a Requisição para a Meta
No n8n, use um nó HTTP Request para enviar um POST à API de Conversões da Meta. Guarde o token nas credenciais do n8n, fora do texto do workflow.
Use o formato de endpoint documentado pela Meta: https://graph.facebook.com/v<VERSAO_ATUAL>/<DATASET_ID>/events. Substitua a versão e o ID pelos valores da sua integração; confirme a versão suportada na documentação antes de configurar.
O source_id ajuda a identificar o anúncio que iniciou a conversa, mas não determina automaticamente a fonte de dados correta para o evento. Mapeie cada número ou integração de WhatsApp à fonte de dados configurada, confira as permissões e teste a rota antes de ativar o fluxo.
5. Estruturando o Corpo do Evento (Payload)
No exemplo da Meta para mensuração de anúncios Clique para WhatsApp, os campos centrais são:
- event_name: use o nome da etapa realmente comprovada, como Lead ou Purchase.
- event_time: horário Unix do resultado, não simplesmente da primeira mensagem.
- action_source: business_messaging.
- messaging_channel: whatsapp; em user_data, inclua ctwa_clid quando a referência estiver disponível. O exemplo oficial também traz page_id.
- custom_data: para Purchase, inclua value e currency coerentes com a compra confirmada.
- Fonte de dados: envie ao dataset de mensagens configurado para essa integração. Não invente event_source_url para uma conversa.
- event_id: identificador estável do resultado para reconhecer retries e evitar envio duplicado.
No objeto user_data, informe ctwa_clid no campo próprio. Não o converta em fbc: são identificadores diferentes. O exemplo da Meta também inclui page_id. Use dados adicionais apenas quando a documentação da modalidade e sua base legal permitirem.
“Enviar um evento com o formato correto confirma apenas o recebimento técnico. A atribuição e a otimização dependem também da fonte de dados, da referência do clique, da qualidade do evento e das regras da plataforma.
6. Criptografando os Dados e Enviando
Valide o evento no ambiente de teste da Meta e registre a resposta da API. Trate falhas, tentativas repetidas e duplicações com um event_id estável para o mesmo resultado. Não envie um Purchase até o pagamento estar confirmado.
Criando um CRM Básico e Dashboard no N8N
Aproveite a estrutura que já montou para ir além do rastreamento. Com os dados armazenados, você pode criar classificações automáticas para os leads (ex: 'Interessado', 'Cliente Potencial') baseadas no conteúdo da mensagem ou no fluxo da conversa. Use nós como 'IF' ou 'Switch' para rotulá-los.
Além disso, o N8N permite integrar com ferramentas de visualização de dados ou mesmo exportar para o Google Data Studio. Você pode criar um painel simples que mostre:
- Leads recebidos por dia.
- Resultados confirmados por origem, quando o webhook trouxe source_id e o CRM registrou a etapa.
- Custo por lead (integrando com dados de gastos da API do Facebook).
- Etapas do funil (mensagem recebida, resposta enviada, conversão qualificada).
Dicas Finais para Otimizar suas Campanhas
- Teste a origem: clique em um anúncio de teste e confira o referral do webhook e o vínculo com a conversa.
- Teste o evento: use a ferramenta de testes da Meta e confira payload, resposta da API e fonte de dados.
- Monitore qualidade: compare eventos enviados com resultados confirmados no CRM e investigue divergências.
- Proteja tokens e dados pessoais: use credenciais do n8n, controle acesso e defina retenção.
Perguntas Frequentes (FAQ)
1. Preciso ter um servidor próprio para usar o N8N?
Não necessariamente. Você pode começar com a versão cloud hospedada no n8n.io, que é suficiente para a maioria dos casos. Para maior controle e volume muito alto, a instalação self-hosted é uma opção.
2. O Facebook aceita o número de telefone no lugar do e-mail para envio de conversões?
Depende da modalidade de evento. No exemplo oficial de mensuração de anúncios Clique para WhatsApp, o identificador principal é user_data.ctwa_clid, junto dos demais campos exigidos pela integração. Não troque ctwa_clid por telefone nem trate um hash de telefone como garantia de atribuição.
3. E se o usuário apagar a mensagem inicial ou o parâmetro se perder?
Se o primeiro webhook não trouxer referral ou ctwa_clid, registre a ausência. Não preencha o identificador manualmente nem assuma que uma mensagem posterior recuperará a origem; investigue a configuração da API e faça um teste com um anúncio real.
4. Posso usar esse método para rastrear conversões de compra (Purchase) no WhatsApp?
Sim, se a compra foi de fato confirmada no seu sistema. Envie Purchase com event_time do resultado, value e currency coerentes e um event_id estável. Mensagem recebida ou intenção de compra não deve virar Purchase.
5. Quanto tempo leva para a conversão aparecer no Gerenciador de Anúncios?
Use o Gerenciador de Eventos e a resposta da API para conferir o recebimento. O tempo de processamento e a exibição em relatórios podem variar; evento aceito não significa conversão atribuída ao anúncio.
6. É possível fazer isso com ferramentas como Zapier ou Make?
A lógica pode ser implementada em outras ferramentas que recebam webhook, guardem a referência da conversa e façam a requisição à Meta. Compare suporte a payloads, testes, segurança e custos reais antes de escolher.
7. Como lido com vários números de WhatsApp ou várias contas de anúncio?
Mapeie cada número e integração à fonte de dados correta. Para vários números ou contas, uma tabela de configuração no n8n ou na sua base é mais segura do que deduzir o destino pelo source_id do anúncio. Teste cada combinação.
8. Este método viola os termos de serviço do WhatsApp ou do Facebook?
Use a API oficial, respeite as permissões e as políticas vigentes da Meta e trate os dados pessoais conforme a legislação aplicável. A configuração técnica por si só não comprova conformidade; revise a finalidade, o acesso e a retenção dos registros.
O caminho é simples de entender, mas precisa de validação: captar a referência do anúncio no webhook, guardar a origem na sua base, registrar o resultado real e enviar o evento à fonte de dados correta. Teste cada etapa separadamente e compare os eventos recebidos com os resultados do CRM.
Black Friday NOD: inscrições abertas
The Last Dance é a última abertura da Comunidade NOD no formato atual. Entre no NOD Infinity com acesso vitalício aos conteúdos atuais e futuros da comunidade.
Ver oferta e me inscrever














