A webhook you built yourself.
In the Whatsable dashboard, open Developer, add an endpoint URL, and enable incoming. The first Click-to-WhatsApp inbound POSTs the referral to that URL. See https://whatsable.app/integrations/webhook
Someone clicks your Click-to-WhatsApp ad in Meta and messages you. Whatsable does not create the ad. The first inbound carries the click and the ad — the referral — so you can save them. This page is the map: where that referral lands, what each field is, and why you persist ctwa_clid and source_id yourself before later messages in the same chat drop them.
No. A Click-to-WhatsApp ad runs in Meta Ads. Whatsable does not create the ad.
Whatsable forwards first-inbound referral — top-level on n8n, Zapier, Make, and a webhook you created. You persist ctwa_clid and source_id yourself because later messages in the same chat usually omit them. Whatsable does not persist them for you.
Status ads can also send a referral; ctwa_clid may be omitted.
Here's the sequence, start to finish:
incoming: true when you create it.referral to that URL.That's the core loop for any destination. The specifics of where you point it differ slightly by tool:
In the Whatsable dashboard, open Developer, add an endpoint URL, and enable incoming. The first Click-to-WhatsApp inbound POSTs the referral to that URL. See https://whatsable.app/integrations/webhook
n8n gets the same first-inbound referral. Map the top-level referral on that inbound, persist ctwa_clid and source_id, and write both to a Sheet or a CRM. Setup docs: https://whatsable.app/integrations/n8n
Zapier gets the same first-inbound referral. Map the top-level referral, persist ctwa_clid and source_id yourself. Docs: https://whatsable.app/integrations/zapier
Make gets the same first-inbound referral. Map the top-level referral, persist ctwa_clid and source_id yourself. Docs: https://whatsable.app/integrations/make
A Whatsable Agent Skill is not a separate event. It sees the same webhook payload, including the referral, only if that Skill sits on a webhook you created. Installing a Skill by itself doesn't deliver the referral. See https://whatsable.app/vibe-code
Yes on the first inbound. Usually gone after that.
| When | Present / absent |
|---|---|
| First inbound after CTWA ad/post tap | Yes typically |
| Later messages, same chat | Usually absent. Persist immediately |
| Ordinary chat | Absent |
| WhatsApp Status ads | Referral may be present; ctwa_clid may be omitted |
Top-level referral on the Whatsable payload (or Cloud API messages[].referral if that's the envelope you get).
| Field | Plain meaning | Present / absent |
|---|---|---|
referral | Container for CTWA/post attribution. | First CTWA/post inbound; omit ordinary chat and most follow-ups |
referral.source_type | ad or post. | With referral |
referral.source_id | Meta ad or post ID. | With referral. Persist |
referral.source_url | Ad or post URL. | With referral |
referral.headline | Ad or post headline. | With referral |
referral.body | Ad or post body copy. | With referral |
referral.media_type | image or video. | With referral |
referral.image_url | Image creative URL. | When media_type is image (URLs can expire) |
referral.video_url | Video creative URL. | When media_type is video |
referral.thumbnail_url | Video thumbnail URL. | Video creatives |
referral.ctwa_clid | Click ID for Meta CAPI. | Usually with ad referral; Status may omit. Persist |
referral.welcome_message | Optional object. Welcome message when Meta includes it. | Optional. Included only when Meta sends it with the ad click. |
ctwa_clid and source_id?You do. Whatsable forwards first-inbound referral. You persist ctwa_clid and source_id yourself because later messages in the same chat usually omit them. Whatsable does not persist them for the customer.
Status ads can also send a referral; ctwa_clid may be omitted. That is still a referral.
Write those fields to a Sheet or CRM, then report which creative and which platform produced the WhatsApp lead.
The first inbound hits n8n, Zapier, Make, or a webhook you created. You persist source_id on the contact yourself, so the next person who opens the chat can see which Meta ad started it.
The same first inbound appends ctwa_clid and source_id. You persist those two yourself, then group the week by ad.
Ads Manager saw the click. WhatsApp saw the chat. The first-inbound referral is the join — only if you persisted it.