O Que É o ctwa_clid: O Click ID dos Anúncios de WhatsApp
O ctwa_clid (Click-to-WhatsApp Click ID) é o identificador único que o Meta gera quando alguém toca em um anúncio de clique para WhatsApp. Ele é a única chave que liga aquela conversa ao clique no anúncio que a originou — e, ao contrário de todos os outros click IDs de mídia paga, ele nunca passa por uma URL.
Essa diferença é a origem de praticamente toda a confusão em volta dele. Quem procura o ctwa_clid do jeito que procuraria um gclid ou um fbclid — na barra de endereço, em um parâmetro de query, em um campo oculto de formulário — não encontra, porque no fluxo de click-to-WhatsApp não existe navegador. O anúncio abre a conversa direto.
Onde Ele Vive
O ctwa_clid chega dentro do objeto referral da primeira mensagem que o usuário envia, no webhook de mensagens recebido pela plataforma que detém a conexão com a WhatsApp Business API. Essa plataforma é quem tem o número conectado à Cloud API — seja um chatbot, um CRM de atendimento ou uma integração própria.
Segundo a referência de webhooks de mensagens do Meta, o objeto referral acompanha a mensagem quando ela se origina de um anúncio de clique para WhatsApp, e traz:
| Campo | Conteúdo |
|---|---|
ctwa_clid | O ID do clique no anúncio |
source_id | O identificador do anúncio |
source_type | Sempre ad |
source_url | A URL do anúncio |
headline | O título do anúncio |
body | O texto principal do anúncio |
media_type | image ou video |
image_url / video_url / thumbnail_url | Conforme o tipo de mídia |
welcome_message | O texto de saudação, em um campo text |
Repare no que isso significa na prática: o referral só vem na primeira mensagem. A partir da segunda, a conversa é uma conversa normal e não carrega mais nenhuma referência ao anúncio. Quem não capturar o valor naquele primeiro payload não tem uma segunda chance — não existe endpoint para consultar “de qual anúncio veio este contato” depois do fato.
Vale também notar que o objeto traz o criativo inteiro (título, texto, mídia). Além da atribuição, dá para usar isso para o atendente saber exatamente qual anúncio a pessoa viu antes de mandar a mensagem.
Para Que Ele Serve
O ctwa_clid existe para um propósito: enviar conversões de volta ao Meta pela Conversions API for business messaging, para que o algoritmo saiba quais cliques viraram negócio e otimize a entrega em cima disso.
Um evento válido desse tipo precisa de quatro coisas, conforme a documentação da Conversions API for business messaging:
action_sourcedefinido comobusiness_messaging— nãowebsite, nãooffline;messaging_channeldefinido comowhatsapp(os outros valores possíveis sãomessengereinstagram);- o
ctwa_clid, dentro do objetouser_data; - o
whatsapp_business_account_id, também dentro douser_data.
O ctwa_clid não é um parâmetro solto no nível do evento — ele fica dentro de user_data, ao lado do ID da conta de WhatsApp Business. Errar isso é uma das formas de o evento ser aceito e não atribuir a nada.
Do lado dos eventos, o Meta aceita nomes padronizados para esse fluxo — entre eles Purchase, LeadSubmitted, QualifiedLead, InitiateCheckout, AddToCart e ViewContent — o que permite mandar mais de um ponto do funil, e não só a venda final. O dataset que recebe esses eventos é criado a partir do ID da conta de WhatsApp Business, não do pixel do site: são superfícies separadas.
As Armadilhas
Ele só existe naquele webhook. Vale repetir porque é o mal-entendido mais caro: o ctwa_clid não está em nenhuma URL, não é legível por JavaScript no navegador e não pode ser recuperado depois. A captura acontece no servidor que recebe o webhook, no momento da primeira mensagem, ou não acontece.
Anúncios no Status do WhatsApp não trazem o ctwa_clid. A documentação do Meta é explícita: para mensagens originadas de um anúncio no Status do WhatsApp, a propriedade ctwa_clid é omitida inteiramente. Se você roda esse posicionamento, uma parte dos contatos vai chegar com referral mas sem click ID — e não há o que fazer no seu lado. Isso é um dado de planejamento: não adianta debugar uma captura que está correta.
Ele é gerado pelo Meta, e só o Meta o valida. O valor é opaco: você o repassa exatamente como recebeu. Não há como construir um ctwa_clid à mão para “preencher a lacuna” de um contato cuja origem se perdeu — um valor inventado ou malformado não vai casar com clique nenhum. Um evento com ctwa_clid ausente ou inválido pode até ser aceito pela API e simplesmente não ser atribuído a nada, que é o pior dos mundos: parece que funcionou.
Nem toda plataforma repassa o campo. Esta é a que mais dói, porque é uma decisão que você toma sem saber. A sua plataforma de chatbot ou de atendimento recebe o referral do Meta, mas o webhook que ela te oferece pode não incluir o ctwa_clid — algumas expõem, outras expõem só parcialmente, outras não expõem. E não é uma limitação do Meta: é da plataforma intermediária.
Antes de contratar ou migrar de plataforma de atendimento, essa é uma pergunta a fazer diretamente ao fornecedor: “o webhook de vocês entrega o ctwa_clid do objeto referral?”. Trocar de plataforma depois, por causa de um campo, é muito mais caro do que perguntar antes.
Como o ctwa_clid Se Compara ao gclid e ao fbclid
gclid | fbclid | ctwa_clid | |
|---|---|---|---|
| Plataforma | Google Ads | Meta (tráfego para site) | Meta (click-to-WhatsApp) |
| Onde aparece | URL da landing page | URL da landing page | Objeto referral do webhook |
| Legível no navegador | Sim | Sim | Não |
| Recuperável depois | Sim (fica na URL/cookie) | Sim | Não |
| Janela de captura | Toda a sessão | Toda a sessão | Só a primeira mensagem |
A leitura dessa tabela: gclid e fbclid perdoam um erro de configuração — se o campo oculto falhar hoje, o parâmetro continua na URL amanhã e você conserta. O ctwa_clid não perdoa. Cada primeira mensagem não capturada é um lead cuja origem foi perdida em definitivo. É a diferença entre um problema de configuração e um problema de arquitetura, e é por isso que ele merece ser verificado antes, não depois.
Onde Isso Entra no Quadro Maior
O ctwa_clid resolve o lado Meta do problema de atribuição do WhatsApp. O lado Google é um problema diferente — lá o identificador existe, mas fica para trás no navegador quando o lead toca no botão de WhatsApp, e o trabalho é transportá-lo até o CRM. Os dois fluxos, lado a lado, estão em como rastrear conversões de anúncios que vão para o WhatsApp; o passo a passo do lado Google está em conversões de WhatsApp no Google Ads via conversão offline.
Um ponto que vale nos dois: mandar de volta só a venda fechada costuma gerar volume mensal baixo demais para o algoritmo usar o sinal. Como os eventos de business messaging incluem estágios intermediários como QualifiedLead, a lógica de valor de conversão por etapa do funil se aplica igual aqui.
Próximo Passo
O True Conversions envia hoje as conversões do CRM para o Google Ads com o valor real de cada negócio, incluindo os leads que chegam por WhatsApp a partir de uma landing page. O suporte a Meta e ao fluxo de click-to-WhatsApp via ctwa_clid está em breve. Veja o que já funciona em conversions.nexopath.com/conversoes-whatsapp. Teste grátis, sem cartão.
Perguntas Frequentes
O que é o ctwa_clid?
O ctwa_clid (Click-to-WhatsApp Click ID) é o identificador único que o Meta gera quando alguém toca em um anúncio de clique para WhatsApp. Ele é o equivalente funcional do fbclid para esse formato de anúncio: a chave que liga uma conversa de WhatsApp ao clique no anúncio que a originou. Sem ele, um evento enviado à Conversions API não é atribuído a nenhum anúncio.
Onde encontro o ctwa_clid?
Ele chega dentro do objeto referral da primeira mensagem que o usuário envia, no webhook de mensagens recebido pela plataforma que detém a conexão com a WhatsApp Business API. O ctwa_clid não aparece em nenhuma URL e não é acessível pelo navegador — só existe naquele payload de webhook.
Para que serve o ctwa_clid?
Serve para enviar conversões de volta ao Meta pela Conversions API for business messaging. O evento precisa de action_source igual a "business_messaging", messaging_channel igual a "whatsapp", e o objeto user_data contendo o ctwa_clid e o whatsapp_business_account_id.
Por que o ctwa_clid não aparece no meu webhook?
Três causas comuns: a mensagem não veio de um anúncio de clique para WhatsApp (o objeto referral só aparece nesse caso); a mensagem veio de um anúncio no Status do WhatsApp, um posicionamento em que o Meta omite o ctwa_clid; ou a sua plataforma de atendimento recebe o campo do Meta mas não o repassa no webhook dela para você.