Quick answer: To measure WhatsApp marketing ROI, match the phone numbers you messaged with bills in your POS within a fixed attribution window (for example 7–14 days), add up that revenue, and divide by what you spent. For the true impact, compare against a random hold-out group that received no message — the difference is your incremental lift.
Key takeaways
- "Delivered" and "read" are activity metrics; bills and revenue are results.
- Attribution tells you who bought after a message; incrementality tells you who bought because of it.
- A 10% random hold-out group is the simplest way to measure real lift.
- RFM segments show where to spend next festival.
What Is the WhatsApp Marketing ROI Formula?
| Metric | Formula | Example |
|---|---|---|
| Attributed revenue | Sum of bills from messaged customers in the window | ₹4,80,000 |
| Campaign cost | Meta message charges + platform fee + offer cost | ₹1,549 (messages only) |
| Revenue per ₹1 (ROAS) | Attributed revenue ÷ cost | ₹310 |
| ROI % | (Gross profit from revenue − cost) ÷ cost × 100 | Depends on your margin |
| Conversion rate | Customers who billed ÷ customers messaged | 258 ÷ 18,291 ≈ 1.41% |
The example uses a Karnataka textile store's campaign recorded in Ownchat. Include discount cost in the total if the offer reduced margin — otherwise ROI looks better than it is.
Figures are historical, anonymised and attributed by message-to-bill matching; they are not a guarantee and do not by themselves prove incremental lift.
How Do You Link WhatsApp Messages to POS Bills?
- Use phone number as the key. Make sure billing captures the mobile number on every bill.
- Standardise formats (e.g. +91XXXXXXXXXX) in both the message list and POS export.
- Fix an attribution window before you send — 7 days for a flash offer, 14 days for a festival campaign.
- Match: a bill counts if the customer received the message and billed within the window.
- Avoid double counting: if a customer got two campaigns, credit the most recent one (last-touch) or split — but decide the rule up front.
- Use codes for extra accuracy: a voucher code in the message lets you tie redemptions directly.
What Is the Difference Between Attribution and Incrementality?
| Attribution | Incrementality | |
|---|---|---|
| Question it answers | Who bought after receiving a message? | Who bought because of the message? |
| Method | Match messages to bills in a window | Compare messaged group vs a hold-out group |
| Risk | Over-credits loyal customers who'd buy anyway | Needs a large enough group |
| Use for | Daily campaign tracking | Deciding budgets and proving real value |
Loyal customers often shop at Diwali regardless, so attribution alone can overstate results. That's why hold-out tests matter.
How Do You Run a Hold-Out Test?
- Pick the segment you want to test, e.g. lapsed 6–18-month customers.
- Randomly split it: 90% get the message, 10% get nothing (the hold-out). Random means no cherry-picking.
- Send the campaign only to the 90%.
- Wait for the attribution window (e.g. 14 days).
- Compare conversion rates: messaged group vs hold-out.
- Calculate lift: (messaged rate − hold-out rate) × number messaged × average bill value = incremental revenue.
Example: messaged group converts at 1.4%, hold-out at 0.5%. Lift = 0.9 percentage points. On 18,000 customers with an ₹1,850 average bill, that's roughly 162 extra bills and about ₹3 lakh in incremental revenue.
How Do You Use RFM Segmentation in Retail?
RFM scores each customer on Recency (how recently they bought), Frequency (how often) and Monetary value (how much). Score each 1–5 and group:
| Segment | R | F | M | What to do |
|---|---|---|---|---|
| Champions | 5 | 5 | 5 | Early access, no discount needed |
| Loyal | 4–5 | 3–5 | 3–5 | Festival preview, service perks |
| At risk | 2–3 | 3–5 | 3–5 | Personal win-back, strong reason to return |
| New | 5 | 1 | any | Second-visit reward |
| Hibernating | 1–2 | 1–2 | 1–2 | Low-cost channel, occasional news |
Win-back tactics for "at risk" customers are in how to bring back old customers to your store.
What Should a Post-Diwali Campaign Review Include?
- Revenue per ₹1 by campaign and segment
- Conversion rate by segment (e.g. 0.3% vs 1.4% — which groups respond?)
- Incremental lift from hold-out tests
- Cost per bill for click-to-WhatsApp ads and Instagram DM flows
- Blocks, opt-outs and quality rating (see bulk messaging without getting blocked)
- New opt-ins collected, and the wedding-season plan
How Ownchat Helps
Ownchat imports POS bills, matches them to WhatsApp campaigns automatically, shows revenue per ₹1 by campaign and segment, and supports hold-out groups and RFM segments. See Ownchat ROI Tracking. Across Ownchat textile customers, recorded conversion rates have ranged from about 0.31% to 1.41% depending on segment and offer.
Historical, anonymised, attributed results; not a guarantee.
Related:
· WhatsApp marketing for textile shops
· Diwali marketing ideas for clothing stores
· Get a free 15-minute audit of your data
Frequently Asked Questions
How do you calculate WhatsApp marketing ROI?
Match messaged customers to POS bills within a set window, total the revenue, subtract the campaign cost (including discounts), and divide by the cost.
What is a good ROI for WhatsApp marketing?
It varies widely by segment, offer and margin. Compare against your other channels and use a hold-out group to confirm real lift.
What attribution window should a retail store use?
Usually 7 days for short offers and 14 days for festival campaigns. Decide before sending and keep it consistent.
What is a hold-out group?
A random slice of your target list (often 10%) that receives no message, so you can see how many would have bought anyway.
What is RFM segmentation?
Scoring customers by Recency, Frequency and Monetary value to group them into segments like Champions, Loyal, At risk and Hibernating.
Can I measure WhatsApp ROI without a POS integration?
Roughly, using voucher codes or asking at billing, but matching phone numbers with POS data is far more accurate.
Sources
Checked 23 September 2026
- Meta for Developers — Pricing on the WhatsApp Business Platform
- Ownchat campaign records (historical, anonymised, attributed by message-to-bill matching), 2024–2026

























