Reporting WhatsApp conversions back to Meta
Your ad delivers a conversation and then goes blind. Conversion reporting is how Meta learns which conversations were worth it.
A Click-to-WhatsApp ad can see that someone started a conversation, and nothing after that. Whether they bought, whether they were a serious lead, whether they vanished — all of it happens in a chat Meta has no visibility into.
Conversion reporting closes that loop. When a customer who arrived from an ad reaches a meaningful point in your flow, an event is sent back to Meta so it can optimise delivery towards people like them and show you cost per lead and return on ad spend in Ads Manager.
Why it matters more here than on a website
On a website, a pixel reports purchases automatically and the ad platform learns from them. A WhatsApp conversation has no pixel. Without conversion reporting, every conversation looks identical to the ad system — the one that became a wholesale account and the one that said "wrong number" are the same event.
The consequence is not just missing reporting. It is that ad delivery keeps optimising for conversations started, which is the metric you can least afford to maximise if half of them are unqualified.
What gets reported
| Event | Send it when |
|---|---|
| Lead | The conversation qualified — they gave you details, booked a call, asked for a quote |
| Purchase | An order was confirmed, with a value and currency where you have them |
Two events, which is enough. The point is not granular analytics; it is giving the ad system a clear signal about which conversations were worth paying for.
The two ways to fire one
By template. In Settings, under Ad conversions, you nominate which of your approved templates count as a Lead and which count as a Purchase. Sending one of those templates to a customer who came from an ad reports the event automatically, with no change to any flow.
That is the low-effort route, and it fits neatly if you already send an order confirmation template — nominate it as your Purchase and you are done.
By block. The Send Facebook Conversion block reports an event at whatever point in a flow you choose, and accepts a value and currency. This is the one to use when the moment that matters is not marked by a template — a customer tapping Confirm, or a plain message inside an open conversation window.
Since free-form replies inside the 24-hour window are free under Meta's pricing documentation, plenty of confirmations are plain messages rather than templates, and the block is what covers those.
Setting it up
- Open Settings and find Ad conversions.
- Confirm the dataset id, which is usually detected for you from your connected WhatsApp account.
- Nominate which templates count as a Lead and which as a Purchase.
- Add a Send Facebook Conversion block at any point a flow completes an order or qualifies a lead without sending one of those templates.
- Run a real conversation through an ad click, and check the event appears in Ads Manager.
Step five is the one people skip, and it is the only one that proves the chain works end to end.
The condition everyone misses
Conversion reporting only applies to customers who arrived from a Click-to-WhatsApp ad. That origin is recorded when they first message you, and it is what the event is attached to.
A customer who found you through your website, a shop sign or a friend has no ad origin, so the block simply does nothing for them. That is correct behaviour rather than a failure, and it means you can leave the block in a shared flow without worrying about polluting your ad data.
It also means the reporting is only as good as your ad tracking. If you are not running Click-to-WhatsApp ads, this feature has nothing to do.
Value and currency
A Purchase event is far more useful with a value attached, because it lets Meta optimise for revenue rather than for count. The block accepts values the flow already holds, so an order total collected earlier or calculated mid-flow can be passed straight through.
Two cautions. Use your actual selling currency rather than converting, and use the Work Out a Number block for any total the flow computes — an AI step is not a calculator, and a wrong value here quietly teaches the ad system the wrong lesson.
Where it fits with everything else
Conversion reporting is the last step of an ad-driven flow, not a replacement for one. The sequence that works:
- The ad delivers a conversation, and the customer's ad origin is recorded.
- A flow greets them, qualifies them, and answers what they asked.
- A Lead event fires once they are genuinely qualified.
- A Purchase event fires when they confirm an order, with the value.
- Ads Manager starts showing cost per lead and return on ad spend that mean something.
The flow-building half of that is in Click-to-WhatsApp ads automation, and the tagging that makes ad-sourced customers a group you can message later is in tagging and segmenting automatically.
Frequently asked
Does this cost anything?
The reporting itself does not. What you pay for is whatever messages the flow sends, under the same rules as always — templates outside the 24-hour window are billed under Meta's template and messaging documentation.
Will it work for Instagram or Messenger conversations?
This path is for Click-to-WhatsApp ads specifically.
How soon does Ads Manager show it?
Reporting is not instantaneous. Judge it over days rather than minutes, and use a real test conversation rather than waiting for organic volume.
What if I nominate the wrong template?
You will report conversions that did not happen, which is worse than reporting none — the ad system will optimise towards the wrong customers. Nominate only templates that mark a genuine outcome.
What good reporting changes about your ads
Two things, and the second takes longer to arrive:
- Reporting you can act on. Cost per lead and return on ad spend appear against the ad rather than stopping at "conversations started".
- Better delivery. Given real outcomes, the ad system can find more people like the ones who bought instead of more people like the ones who clicked.
The second is the reason to bother. An ad optimising for conversations will happily deliver 500 conversations of which 20 were worth having; one optimising for purchases has a reason to prefer the 20.
Choosing the moment
| Moment | Report it? |
|---|---|
| They sent their first message | No — that is the click, not an outcome |
| They answered your qualifying question | Lead, if the answer means they are a real prospect |
| They asked for a quote | Lead |
| They tapped Confirm on an order | Purchase, with the value |
| They said they might buy next month | No |
Be strict. A Lead event fired on anyone who says hello is not a signal, and it trains the system towards volume you do not want.
Testing it end to end
- Click your own Click-to-WhatsApp ad from a phone that has never messaged you.
- Run the whole flow through to the conversion point.
- Check the event lands in Ads Manager over the following day.
- Repeat from a number with no ad origin and confirm nothing is reported.
The fourth step matters as much as the third: it proves you are not attributing organic conversations to paid ads, which would flatter the numbers and mislead the optimisation. The flows themselves are in Click-to-WhatsApp ads automation, and the confirmation step that usually carries the Purchase event is in cash-on-delivery order confirmation.
Common ways this gets set up wrong
| Mistake | Consequence |
|---|---|
| Nominating a greeting template as a Lead | Every conversation reports a lead; the signal is worthless |
| Purchase with no value | Meta can optimise for count but not for revenue |
| A value produced by an AI step | Plausible wrong numbers teaching the wrong lesson |
| Never testing from a non-ad number | You do not find out whether organic chats are being attributed |
| Reporting both Lead and Purchase for the same order | Double counting in your own reporting |
The first row is by far the most common, and it is tempting precisely because it makes the numbers look immediately good.
If you are not running ads yet
Then skip this and come back. Conversion reporting has nothing to do without ad traffic, and setting it up early adds a configuration nobody remembers making.
What is worth doing now is the part that costs nothing: making sure your flows tag ad-sourced customers, so that when you do start advertising you already have a group to compare against everyone else.
How it relates to your own reporting
Conversion reporting feeds Meta. It is not a substitute for knowing, in your own numbers, how much revenue WhatsApp produced — that lives in your store, and it is a different exercise with a different method.
The two answer different questions. Meta's version tells you which ad to spend more on. Your own tells you whether the channel is worth running at all. Most stores need both, and the store-side method is in measuring WhatsApp revenue in Shopify.
Where they disagree, believe your store. Attribution models differ, and an ad platform crediting itself with a sale is not the same as a sale you can find in your own order list.