Comparison · 6 min read

How WhatsApp Business API Pricing Is Actually Built

The PostEngage teamEngineering and support ·

Somebody will quote you a rate for this channel this week, and it will be a real number that they read somewhere real. It will also be a number attached to a category, a market and a date. If any of those three does not match your situation, it is not your number.

That is the actual problem with pricing on the WhatsApp Business Platform. Not that it is expensive, and not that it is cheap. That it gets quoted flat when it is not flat.

So this post contains no price. It contains the shape of the model, which changes slowly, and enough of a reading guide that you can open Meta's own pricing documentation and come back with a figure that applies to your business rather than to somebody else's blog post.

The first question is what the unit is

The instinct is to ask "how much per message". That has not been the right question on this platform, and it may not be the right question next year either.

Meta has billed business messaging in units larger than a single message — a conversation, opened by something and lasting for a defined period, inside which further messages are not each charged again. Meta has also revised what that unit is, more than once, not merely what it costs.

A rate is meaningless until you know what it is a rate for. Ask what the unit is before you ask what it costs.

So when a vendor, a consultant or a comparison table gives you a number, the first follow-up is not "is that cheap" — it is "per what?" If the person quoting cannot answer that cleanly, they are repeating something rather than knowing it.

Axis one: category

Messages on this platform are classified. Marketing, utility, authentication and service have all existed as named categories, and they are not treated alike, because they interrupt a person's private inbox to different degrees and with different justification.

Two things worth internalising, because they are structural rather than temporary:

The category is decided by the message, not by your intention. A dispatch notification with a discount code stapled to the bottom is not a dispatch notification any more. Businesses discover this at review time, and the discovery is expensive because it arrives after the template was written and the campaign was planned.

Which categories exist, and how each is priced, is Meta's to change. It has changed. Anything you build that assumes a permanent ordering between categories is building on a moving floor.

Axis two: market

Rates are set per market, and India is its own market with its own figure. This is the single most common way a wrong number gets into an Indian business's spreadsheet: the number was published by somebody writing for a different country and it was correct where they were sitting.

If you are reading a rate and you cannot see which market it belongs to, you are not reading a rate.

Axis three: who sends you the invoice

There are two meters and they are owned by different companies.

Meta's meter

Charges for the conversations themselves, by category and market, on terms Meta sets and revises. Applies identically to every vendor, because it is upstream of all of them.

The vendor's meter

Charges for the software: seats, contacts, automations, support, or a per-message markup. Entirely the vendor's decision, and the only part where products genuinely differ.

Going direct to the Cloud API means one of those bills comes to you from Meta. Going through a solution provider may mean the platform charge is resold, marked up, bundled into a plan, or presented as a wallet you top up. None of those is dishonest by itself. All of them make a per-unit comparison between two vendors meaningless unless you ask which meters are included.

Why you cannot skip this and just ask a vendor

You can ask, and a good vendor will answer honestly. The reason to understand the shape anyway is that it is the only way to check the answer.

A vendor quoting you a single blended number per conversation has folded three axes into one figure using assumptions about your traffic mix. If your mix is different from the one they assumed — heavier on one category, lighter on another — the blended number is wrong in a direction nobody notices until the invoice.

A diagram showing which actions consume a credit and which are free, with templated replies on the free side.
This is our Instagram meter, and the reason we can draw it in one picture is that it has one axis. A conversation charge that varies by category and market cannot be drawn this way, which is itself the point.

Turning the shape into a budget

  1. Count the conversations you would actually start, not the messages you would send. Start from a real month of your own operations — orders shipped, appointments booked, campaigns you genuinely intend to run.
  2. Classify each one honestly by category, using the content you would actually send rather than the label you would prefer.
  3. Look up today's rate for your market, per category, in Meta's documentation.
  4. Add the vendor's meter separately, and ask them to price the same month rather than to quote a per-unit rate.
  5. Rerun the whole thing for a month twice as busy. The shape of the answer at double volume is what tells you whether the model suits you, and it is the calculation nobody does before signing.

The output of that exercise is a number that will still be roughly wrong, because Meta will revise something. What it will be is wrong by a knowable amount, in a direction you can see coming, which is the most any budget on this channel can honestly be.

The credits screen showing the current balance, what was spent, and what remains.
One meter, one unit, one screen. That is a design choice available on a channel where the platform itself does not charge per conversation.

What exists here today

PostEngage answers Instagram comments and DMs. There is no WhatsApp in the product, so nothing above is a description of something you can buy from us. It is written because these pages get found by people trying to budget, and a reader deserves the model rather than a stale figure.

On the channel we do run, the meter is a credit: templated replies are free and unlimited, and a credit is spent only when the model writes something new. The free tier is 100 credits with no card, and packs start at ₹499. That is the whole of our pricing, and it fits in two sentences because there is only one meter.

If you want the levers rather than the model, the cost post covers what you actually control. If you want the two-meters problem in detail, it is here. And if the question underneath is really which layer is free, that one is answered separately.

One email when we publish.

No drip sequence, no “quick question” follow-up. Unsubscribe is one click and we honour it immediately.