WhatsApp broadcast economics: what campaigns really cost
What a 5,000-number WhatsApp offer blast actually costs after Meta's 2026 rate hike, GST and BSP markup, and why utility templates cost far less.
Paris · 19:05Someone on your team wants to blast the Manali season-opener offer to every number in your enquiry sheet, or in whatever WhatsApp CRM has replaced it. Five thousand contacts, one message, done by lunch. Then the WhatsApp Business API bill turns up, and it's nowhere near free. Nobody on the team can tell you whether that number came from Meta or from the BSP reselling you the connection.
That confusion is the point of this post. WhatsApp Business API pricing in India changed twice in twelve months: Meta moved every business to per-message billing on 1 July 2025, then raised India's marketing rate again on 1 January 2026. Most agents still think in "conversations" and "plans." That's the old mental model, and it leaves them shocked by invoices priced on a model that no longer exists.
This post walks through what a real offer blast costs today, why the same message can cost 85% less if it's built as a utility template instead of a marketing one, and why a blast that looks "sent" can still quietly fail to reach half your list.
What WhatsApp Business API pricing actually means now
Until mid-2025, Meta billed WhatsApp Business API usage by the conversation: a 24-hour window that could hold unlimited messages for one flat fee. From 1 July 2025, that model was retired. Every business worldwide moved to per-message pricing: Meta bills per delivered message, not per open conversation.
This matters for a tour operator's arithmetic in a specific way: a blast to 5,000 numbers is no longer "5,000 conversations." It's 5,000 individual line items, each priced by what category of message it is. You only pay for the ones Meta actually delivers, not the ones you hit "send" on.
Three categories carry a per-message rate, plus one that's free:
| Category | What it covers | Who pays |
|---|---|---|
| Marketing | Offers, promotions, re-engagement blasts | You, per delivered message |
| Utility | Booking confirmations, payment reminders, trip updates | You, per delivered message (much cheaper) |
| Authentication | OTPs, login codes | You, per delivered message |
| Service | Your reply to a customer who messaged you first | Free |
That last row is worth underlining. If a client messages you asking "flight kab hai?" and you reply within the 24-hour window, that reply costs nothing. The moment you initiate the message (offer, reminder, update), you're in a paid category.
The January 2026 rate hike, in rupees
As of July 2026, India's per-message marketing rate is ₹0.8631, up from ₹0.7846 before 1 January 2026, a rise of roughly 10%. Utility and authentication messages sit far lower, in the ₹0.115–₹0.145 band per delivered message.
On top of whatever Meta charges, add 18% GST on the messaging fee, and your BSP's own markup: the software layer (like Wati or AiSensy) that gives you the dashboard, templates and API access sitting between you and Meta. GST rules on service fees shift occasionally; confirm the current rate and your input tax credit position with your CA before you close the books on a campaign.
Careful: Meta's rate is only one line of the bill. Your BSP's markup is negotiated separately and rarely disclosed upfront in the headline "per message" price they quote you. Ask for the all-in rate (Meta fee, GST, and BSP margin) before you commit to a monthly plan, not after the first invoice.
Utility, marketing, authentication: same app, three different bills
The category a message is billed under isn't something you pick freely. Meta assigns it based on the template's content and purpose when you submit it for approval. This is the single biggest lever in this whole post.
A "your flight is confirmed for 14 July" message is transactional: it exists because of an action the customer already took (they booked). That's a utility template, billed at the lower rate. A "Ladakh seats open, book by Friday" message exists to prompt a new purchase decision. That's marketing, billed at the higher rate, and correctly so: it's doing a different job.
The saving is not small. At July 2026 rates, a marketing message costs roughly ₹0.86 delivered; a utility message costs roughly ₹0.13. That's close to an 85% difference per message. The arithmetic: (0.8631 − 0.13) ÷ 0.8631 ≈ 0.849, so about 85% cheaper.
The mistake agents make in both directions: dressing up a promotional blast as a "trip update" to dodge the marketing rate (Meta's review catches this and rejects or recategorises the template), or routing genuinely transactional messages (itinerary attachments, payment receipts, departure reminders) through an expensive marketing template because nobody built the utility template properly. Structure trip updates, confirmations and reminders as utility from day one. Reserve the marketing rate for messages that are actually asking someone to buy.
Worked example: costing a 5,000-recipient offer blast
Say you're pushing the Manali season-opener to 5,000 numbers on your enquiry list, structured correctly as a marketing template.
Example: 5,000 recipients × ₹0.8631 (marketing rate, delivered messages only) = ₹4,315.50 in Meta fees. Add 18% GST: ₹4,315.50 × 1.18 = ₹5,092.29. That's before your BSP's own markup, which is a separate negotiated line. Get it in writing rather than assuming it's baked into the "per message" number they quote.
Now say the same operational content, "your booking is confirmed, here's your itinerary," went out as a utility template instead, to the same 5,000 people, because it was transactional rather than promotional: 5,000 × ₹0.13 = ₹650, plus GST = ₹767. Same volume, roughly 85% less, because the message did a different job.
Two things distort this number in practice, both worth building into your planning rather than discovering after the invoice:
- You're billed on delivered messages, not sent ones. If 700 of your 5,000 numbers have changed phones, blocked business messages, or simply never received it, you don't pay for those 700, but you also don't reach them, so your response-rate maths (opens, replies, conversions) should be built on delivered count, not list size.
- BSP markup is a real cost most agents forget to model. Before comparing quotes across providers (the "which BSP is cheaper" question every agency eventually asks), get each one's exact per-message markup and GST treatment in writing, not just their headline Meta pass-through rate.
WhatsApp Business app vs API: when free is actually cheaper
None of this per-message billing applies if you're using the free WhatsApp Business app vs API, the standard app most one- and two-person agencies already have on their phone. Status updates and manual broadcast lists cost nothing, because there's no Meta billing relationship behind the free app; you're simply sending messages from a phone number, one contact at a time or via a saved broadcast list.
The trade-off is scale and control, not cost. Broadcast lists in the free app only reach contacts who've saved your number, cap out well short of what a growing list needs, and give you no delivery data, no template approval process, and no way to separate "offer" traffic from "booking update" traffic. WhatsApp Status works well as a daily, low-effort storefront for an agency under a few hundred active contacts. Past that, the API's per-message cost usually works out cheaper than the hours lost to manually re-typing broadcast lists and chasing who actually saw what.
The honest decision rule: if your list is small enough that you personally know most of the names on it, the free app is not costing you anything you're not already paying in time. Once you're running a genuine marketing calendar, the kind covered in a proper WhatsApp follow-up sequence, the API's tracking and template discipline start paying for themselves.
Frequency caps: how a blast quietly loses its reach
Here's the part BSP sales pitches rarely mention: marketing messages carry Meta-imposed per-user frequency caps, and unlike utility and authentication templates, there's no volume-discount path for high-volume marketing senders. Send too many promotional messages to the same person too often, and Meta simply won't deliver the excess ones. No error, no bounce message, just silence.
For a tour operator running back-to-back seasonal offers, this shows up as a campaign that looks fully sent in your dashboard but underperforms against a comparable one from three months ago. Nobody unsubscribed; nobody complained. A slice of the list simply stopped receiving marketing sends because they'd already hit whatever ceiling Meta applies to that category, for that user, in that window.
Two practical guards: don't run the same contact through overlapping marketing blasts from different team members or different campaigns in the same week, and treat "delivered" numbers in your BSP dashboard as the real reach figure, not the count of contacts you uploaded.
The short version
- Meta bills WhatsApp per delivered message since 1 July 2025, not per 24-hour conversation. The old "one flat fee per conversation" mental model no longer applies.
- India's marketing rate rose to ₹0.8631 per delivered message on 1 January 2026, roughly 10% higher than before. Utility and authentication sit around ₹0.115–₹0.145.
- Add 18% GST and your BSP's own markup on top of Meta's fee. Confirm both in writing, and check GST treatment with your CA.
- Structure genuinely transactional messages (confirmations, itineraries, reminders) as utility templates. They cost roughly 85% less than marketing templates for the same volume.
- A 5,000-recipient marketing blast runs to roughly ₹5,092 in Meta fees plus GST before BSP markup; the same volume as a utility template runs closer to ₹767.
- Marketing messages face per-user frequency caps with no volume discount. A blast can look fully sent while a real slice of the list silently never receives it.
- The free WhatsApp Business app costs nothing but doesn't scale past a few hundred contacts without losing delivery visibility; past that point, the API's per-message cost usually beats the manual hours it saves.