Analytics
How to measure the ROI of your WhatsApp campaigns
Funnel metrics, attribution windows, holdout groups and a simple ROI formula, with a worked example, to show what your WhatsApp campaigns really earn.
Parlo Editorial · · 5 min read
On this page
WhatsApp campaigns tend to post high read and reply numbers, which makes them easy to celebrate and hard to judge. A broadcast can look excellent on a dashboard and still lose money once you account for message costs, discounts and the customers who would have bought anyway.
This guide covers the metrics worth tracking, how to attribute revenue fairly, and a simple formula you can run in a spreadsheet after every campaign.
The campaign funnel
Each stage of the funnel answers a different question. Track all of them, but don't mistake the early stages for success.
Choose an attribution window up front
An attribution window is how long after a message you'll credit a conversion to it. Pick it before the campaign goes out, and use the same window whenever you compare campaigns.
- 24 hours suits flash sales and time-limited offers.
- 3 to 7 days suits most retail promotions, where people browse before buying.
- Longer windows can suit high-value purchases, but the longer the window, the more you credit purchases that had other causes.
Also decide whether you'll count only customers who clicked, or anyone who received the message. Click-based attribution undercounts, because some people go straight to your store or app. Delivery-based attribution overcounts. A holdout group settles the question.
Use a holdout group
A holdout, or control group, is a random slice of your target audience that doesn't receive the campaign. Because the two groups are otherwise alike, the difference in their conversion rates is the campaign's incremental effect: the sales it caused, as opposed to the sales that happened nearby.
Keep the holdout random rather than hand-picked, and large enough to give stable numbers. For smaller lists, 10 percent is a reasonable start; with larger audiences you can hold back proportionally less. When you build the audience for a broadcast campaign, exclude a random segment and keep a record of who was in it.
Count all the costs
Since 1 July 2025, the WhatsApp Business Platform charges per delivered template message, with rates set by template category and the recipient's country code. Your campaign cost should include:
- Message charges for every delivered template
- Discounts given on every redeemed order, including orders that would have happened anyway
- A fair share of the team time and tooling spent on the campaign
Meta revises rates from time to time, so check current prices on our pricing page before modelling a large send.
A simple ROI formula
Once you have incremental results and full costs, the calculation is short:
Use gross profit, not revenue. A ₹1,000 order at a 40 percent margin earns you ₹400, and that's the amount that has to pay for the campaign.
A worked example
The numbers below are hypothetical and chosen for easy arithmetic. Substitute your own rates, margins and results.
A store targets 22,000 opted-in customers with a festive marketing template. It holds back 2,000 at random and sends to the other 20,000, of which 19,000 are delivered. In this example, the rate is ₹0.80 per delivered marketing message.
- Cost: 19,000 × ₹0.80 = ₹15,200 in message charges. Add ₹4,800 of team time, for a total cost of ₹20,000.
- Conversion rates: 600 of the 20,000 messaged customers bought within seven days (3 percent). In the holdout, 30 of 2,000 bought (1.5 percent).
- Incremental orders: the campaign lifted conversion by 1.5 percentage points, which is 300 extra orders across 20,000 customers.
- Incremental gross profit: 300 orders × ₹1,200 average order value × 40 percent margin = ₹144,000.
- ROI: (₹144,000 − ₹20,000) ÷ ₹20,000 = 6.2, a 620 percent return.
Now compare the naive view, which credits all 600 orders to the campaign. That gives ₹288,000 of gross profit and a return of 1,340 percent, more than double the real figure. The campaign is profitable either way, but the inflated figure would encourage more sends than the results justify.
If the campaign had included a discount, you'd subtract the discount on all 600 redeemed orders, not only the 300 incremental ones. That's often where generous offers quietly turn a good result into a poor one.
Make it a habit
Run the same calculation after every campaign and keep the results in one sheet: audience, template, cost, incremental profit, ROI, and opt-out and block rates. Those last two matter because blocks and reports affect your number's quality rating, and with it how many people you can reach. Over a few months you'll see which segments and offers earn their keep.
Dashboards in analytics can track the funnel stages for you; the holdout design and the margin maths are worth owning yourself.