O que é o ctwa_clid e por que ele importa nas campanhas para WhatsApp
O ctwa_clid é o identificador de clique que não passa por uma URL e só chega uma vez. Veja o que é, como capturar, por que some e como usar.

Resposta curta: o
ctwa_clid(Click to WhatsApp Click ID) é o código que a Meta gera quando alguém clica em um anúncio que abre o WhatsApp. Ao contrário dofbclide dogclid, ele não passa por nenhuma URL: viaja dentro da primeira mensagem, uma única vez. Quem o guarda naquele momento consegue ligar a venda ao anúncio e devolvê-la à Meta. Quem não guarda perde a ligação, e não há como recuperá-la depois.
Todo gestor de tráfego conhece o gclid e o fbclid. Eles aparecem no endereço da página, e qualquer script consegue lê-los e guardá-los. Por isso o rastreamento de site é um problema resolvido.
O ctwa_clid é diferente. O clique no anúncio não leva a página nenhuma: leva direto ao WhatsApp. Não há endereço onde o identificador possa aparecer, e é por isso que quem rastreia só pelo que já conhece não vê nada.
O que é o ctwa_clid
Quando uma pessoa clica em um anúncio da Meta configurado para abrir o WhatsApp (Click to WhatsApp, ou CTWA) e envia a primeira mensagem, a Meta registra aquele clique com um código único. Esse código é o ctwa_clid.
Pense nele como o número de um protocolo. Quem tem o código consegue dizer de qual clique, e portanto de qual anúncio, a conversa nasceu. A pessoa não vê nada disso: o identificador acompanha a mensagem nos bastidores.
Como ele se compara aos outros
ctwa_clid | fbclid | gclid | |
|---|---|---|---|
| Plataforma | Meta | Meta | |
| Anúncio leva para | O WhatsApp | Um site | Um site |
| Onde aparece | Dentro da primeira mensagem | No endereço da página | No endereço da página |
| Quando você o recebe | Uma vez, quando a mensagem chega | Na visita à página | Na visita à página |
| Como capturar | Lendo o webhook do WhatsApp | Script na página | Script na página |
A última linha explica quase todos os problemas deste assunto. O ctwa_clid não é capturado por um script no site. Ele é capturado por quem recebe a mensagem, e depende de como o número está conectado.
Onde ele vive: o objeto referral
Se o número usa a Cloud API oficial do WhatsApp, o ctwa_clid chega no webhook, dentro de um objeto chamado referral, anexado à mensagem. Um exemplo simplificado, com valores fictícios:
{
"messages": [
{
"from": "5511999999999",
"type": "text",
"text": { "body": "Oi, quero saber o preço" },
"referral": {
"source_type": "ad",
"source_id": "120200000000000000",
"source_url": "https://fb.me/...",
"headline": "Título do anúncio",
"ctwa_clid": "ARAk..."
}
}
]
}
Os campos mais úteis do referral:
| Campo | O que traz | Para que serve |
|---|---|---|
ctwa_clid | O identificador do clique | Devolver a venda à Meta, ligada ao anúncio |
source_id | O identificador do anúncio | Saber qual anúncio trouxe a conversa |
source_type | Se veio de um anúncio ou de uma publicação | Separar anúncio de orgânico |
source_url | O endereço do anúncio | Referência e conferência |
headline, body | Título e texto do anúncio | Reconhecer qual criativo foi |
Os nomes e o conjunto exato de campos podem mudar, então confirme na documentação atual da Meta.
Dois deles carregam informações diferentes, e vale não confundir: o source_id diz qual anúncio, o ctwa_clid diz qual clique. Com o primeiro você já enxerga a origem nos seus relatórios. Só o segundo permite à Meta ligar a venda ao clique.
A armadilha: ele só chega uma vez
O referral acompanha a mensagem que começa a conversa a partir do anúncio. Se o seu sistema não processar aquela mensagem, ou a processar sem salvar o campo, o ctwa_clid se perde. Pelos caminhos que conhecemos, não existe uma consulta para buscá-lo depois.
Isso muda a forma de pensar a captura. Não é um dado que você "busca quando precisar". É um dado que você guarda no instante em que ele passa, no lead, para usar dias depois, quando a venda fechar.
Uma conversa de anúncio sem ctwa_clid guardado ainda existe, mas deixa de ser atribuível ao clique.
Como capturar, conforme a conexão
O caminho depende de como o número está conectado:
- Cloud API oficial: o campo
referralvem pronto no webhook, no formato documentado pela Meta. É o caminho mais direto. - Conexão por QR code (ferramentas que leem o WhatsApp como um aplicativo conectado): o identificador vem dentro de um campo de resposta de anúncio da própria mensagem, que o provedor repassa de formas diferentes. É preciso procurá-lo em mais de um lugar do payload, e dependendo do provedor ele pode não chegar.
No RastroLead, a leitura é feita nos três tipos de conexão. Se o provedor entrega o identificador do anúncio (source_id) mas não o ctwa_clid, o lead fica com a origem de anúncio identificada, sem o identificador do clique.
O RastroLead guarda o primeiro clique
Um mesmo contato pode clicar em vários anúncios ao longo do tempo. O RastroLead guarda o primeiro ctwa_clid do lead e não o substitui por um clique posterior. Uma transferência entre vendedores também nunca troca a campanha, o anúncio nem o identificador do clique. Se a sua regra é atribuir ao último clique, vale saber disso antes de interpretar os relatórios.
Por que ele importa
Pense no que acontece depois da mensagem. A conversa vira lead, o lead é qualificado, a venda fecha dias depois. Tudo isso acontece dentro do WhatsApp, onde o Gerenciador de Anúncios não enxerga.
O ctwa_clid é a ponte, e traz dois benefícios diferentes:
- Saber de qual anúncio veio a venda, nos seus relatórios. Basta guardar a origem da conversa e ligar a venda a ela.
- Ensinar a Meta quem compra. Para a Meta usar a venda na otimização, o evento enviado a ela precisa carregar o identificador do clique. Sem ele, ela recebe a venda, mas não sabe de qual anúncio veio, e continua otimizando por quem manda mensagem, e não por quem paga.
Os dois dependem do mesmo dado, capturado no mesmo momento.

É isso que o identificador guardado rende no primeiro benefício: cada lead mostra de qual anúncio, campanha e conjunto veio.
O evento que volta para a Meta
Com o ctwa_clid guardado, a venda volta à Meta pela API de Conversões. No formato de mensagens do WhatsApp, o evento leva o canal, a conta do WhatsApp Business e o identificador do clique. Um exemplo simplificado de uma compra, com valores fictícios:
{
"data": [
{
"event_name": "Purchase",
"event_time": 1790000000,
"event_id": "9f1c2d...",
"action_source": "business_messaging",
"messaging_channel": "whatsapp",
"user_data": {
"whatsapp_business_account_id": "1234567890",
"ctwa_clid": "ARAk...",
"ph": ["<telefone com hash SHA-256>"]
},
"custom_data": {
"value": 497.0,
"currency": "BRL"
}
}
]
}
Uma observação da nossa operação: nesse formato, a Meta aceitou apenas o lead qualificado e a compra. Um evento de "Lead" genérico foi recusado com erro de parâmetro inválido. Isso pode mudar, então teste antes de depender. Para ver tudo o que a Meta precisa receber, veja API de Conversões da Meta no WhatsApp.
Se o ctwa_clid não está chegando: diagnóstico em ordem
Confira nesta sequência, do mais simples ao mais técnico:
- A conversa veio de um anúncio de verdade? Teste clicando em um anúncio real, e não abrindo o link do WhatsApp à mão. Quem chega por indicação, Instagram orgânico ou busca não tem clique de anúncio.
- O número que o anúncio abre é o que está conectado? Se o anúncio abre um número que não está ligado à sua ferramenta, a mensagem nunca chega ao webhook que captura o identificador.
- A mensagem que você processou foi a primeira? O
referralacompanha a mensagem que abre a conversa. Se o webhook falhou naquele momento, o dado se perdeu. - Como o número está conectado? Na Cloud API, confira se o webhook recebe o campo de mensagens. Em conexão por QR code, o provedor pode não repassar o identificador. Só um teste real mostra.
- O lead tem
source_idmas não temctwa_clid? Então o provedor entrega o anúncio, mas não o clique. Você vê a origem, mas não consegue atribuir a venda ao clique na Meta. - O identificador existe, mas a venda não é atribuída? Aí o problema está no envio: o evento foi recusado, saiu fora do prazo ou a conta do WhatsApp Business não está vinculada ao conjunto de dados. Confira o status do envio e o motivo da recusa.
Quer ver o ctwa_clid funcionando nas suas campanhas? Conectar meu WhatsApp
O que conferir
- O número que o anúncio abre é o que está conectado à ferramenta de captura.
- O webhook processa a primeira mensagem, que é a única que traz o
ctwa_clid. - Conversas orgânicas ficam separadas das de anúncio.
- A venda é registrada no lead que tem o identificador.
- Você sabe se a regra é primeiro ou último clique, e como a ferramenta guarda isso.
- O envio à Meta é conferido: evento aceito e evento atribuído não são a mesma coisa.
Para ver o que fazer depois que o identificador está guardado, veja como saber qual anúncio gerou venda no WhatsApp.
Perguntas frequentes
01.O ctwa_clid funciona em anúncios que levam a um site?
Não. Nesse caso, quem chega é o fbclid, no endereço da página, e o caminho para guardá-lo é outro. Veja rastreamento de site para WhatsApp.
02.Dá para recuperar o ctwa_clid de uma conversa antiga?
Pelos caminhos que conhecemos, não. Ele só vem com a primeira mensagem. Por isso o ideal é capturá-lo desde o início, e não depois de perceber que faltou.
03.Preciso da Cloud API oficial?
Não necessariamente. Ela é o caminho mais direto, porque o referral vem pronto. Com conexão por QR code o identificador pode chegar, dependendo do provedor, mas é preciso testar com um clique real.
04.É possível enviar a venda à Meta sem o ctwa_clid?
Sim, com o telefone com hash, mas a correspondência depende de a Meta reconhecer a pessoa, e a venda deixa de ficar ligada ao clique. É um caminho mais fraco.
05.Atribuo ao primeiro ou ao último clique?
Depende da ferramenta. O RastroLead guarda o primeiro ctwa_clid do lead e não o substitui. Confira como a sua ferramenta faz antes de comparar relatórios.
06.O ctwa_clid e o source_id são a mesma coisa?
Não. O source_id identifica o anúncio e permite ver a origem nos relatórios. O ctwa_clid identifica o clique e é o que a Meta usa para ligar a venda ao anúncio.



