You're running a click-to-WhatsApp campaign. Someone taps the ad, opens a conversation, asks a few questions, and buys. What does Meta Ads Manager show you? Most likely nothing — or a suspiciously low conversion count.
That purchase happened inside a conversation. Not in a browser. The Pixel couldn't see it. Standard CAPI is equally blind — because it doesn't know who sent that event or which ad brought them there.
Meta's solution to this gap is the Conversions API for Business Messaging.
Classic CAPI sends web conversion events from your server to Meta. Business Messaging CAPI does something different: it connects conversions that happen inside messaging threads — a purchase, a lead form, an abandoned cart — back to the specific ad that started the conversation.
Supported channels:
When someone taps a click-to-WhatsApp ad, the WhatsApp API delivers a referral object in the webhook payload containing ctwa_clid — a unique click ID that ties this conversation to the exact ad. You capture it when the user sends their first message. When a conversion happens later, you include that ctwa_clid in the CAPI event payload. Meta matches it back to the campaign.
Same logic, different identifier: the Page-Scoped ID (PSID). Since Meta knows the PSID of the person who opened the conversation, it can match it to the originating ad. You need page_events permission and a Dataset linked to your Page.
Uses the Instagram-Scoped ID (IGSID) and requires instagram_manage_events permission.
The full standard e-commerce and lead event set is supported:
Purchase, InitiateCheckout, AddToCart, ViewContentLeadSubmitted, QualifiedLeadOrderCreated, OrderShipped, OrderDelivered, OrderCanceled, OrderReturnedCartAbandoned, RatingProvided, ReviewProvidedEvent deduplication is entirely on you. Meta does not help with this. Use event_id to prevent double-counting — it's not required but strongly recommended.
One dataset per page or account. You can't split events across multiple datasets for the same property.
Purchase optimization is limited. Only WhatsApp and Messenger support purchase conversion optimization. Instagram Direct doesn't yet.
In-thread events only. This API is for conversions that happen inside the messaging flow. If someone chats on WhatsApp and then buys on your website, that's standard CAPI's job.
Click-to-WhatsApp campaigns perform exceptionally well in markets like Turkey, the Middle East, and Southeast Asia. But measurement has always been a blind spot — someone messages, becomes a customer, and the reports show nothing.
This creates two expensive problems: either the campaign looks like it isn't converting and gets cut, or the correct channel gets misattributed and another campaign takes the credit.
Business Messaging CAPI solves this server-side. Building this into your measurement stack is a real competitive advantage — most advertisers running WhatsApp campaigns are still flying blind.
I'll cover the full technical integration with WhatsApp Cloud API in a follow-up post.