Skip to content

New: AI agents now qualify, answer and route your WhatsApp leads around the clock.See how it works.

Parlo

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

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.

MetricWhat it tells youWatch out for
SentHow many messages left your accountIncludes attempts to numbers that can't receive WhatsApp messages
DeliveredHow many reached a device, and what template charges are based onLow delivery often points to outdated contact data
ReadHow many were openedUndercounts, because some people turn off read receipts
ClickedHow many tapped a link or buttonOnly measurable with tagged links, such as UTM parameters
RepliedHow many started a conversationOpt-out replies count too, so separate them out
ConvertedHow many completed the goal: a purchase, booking or sign-upDepends heavily on your attribution window

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.

  1. Cost: 19,000 × ₹0.80 = ₹15,200 in message charges. Add ₹4,800 of team time, for a total cost of ₹20,000.
  2. 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).
  3. Incremental orders: the campaign lifted conversion by 1.5 percentage points, which is 300 extra orders across 20,000 customers.
  4. Incremental gross profit: 300 orders × ₹1,200 average order value × 40 percent margin = ₹144,000.
  5. 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.

Keep reading

Start your first WhatsApp campaign today

Connect your number, import your contacts and send your first message in an afternoon.

14-day free trial · No credit card required