WhatsApp template categories: why one sentence doubles the bill

Meta's own test for marketing, utility and authentication templates, what gets re-categorised, and an exercise: guess the category before you see the price.

"Your order has shipped and arrives Tuesday" costs $0.0014 to an Indian number. Add "and here's 20% off your next order" and the same message costs $0.0118. Same recipient, same API call, same delivery: eight and a half times the price, because of one sentence.

That is the whole of WhatsApp template pricing in a sentence. The category is not a field you set and forget. Meta reads the content and decides, and it can decide differently later about a template that has been running for a year.

I run into this from both sides. At Acefone I work on the inbox where those templates land next to calls and chats, and on my own I run PostEngage, where every template submission is a job with an alert on it. Messaging failures are invisible until they are expensive, and a quiet re-categorisation is the purest example: nothing breaks, nothing errors, the invoice is just bigger next month.

The three categories and what they cost

Meta's definitions are short. Marketing templates "enable businesses to achieve a wide range of goals, from generating awareness to driving sales and retargeting customers". Utility templates "enable businesses to follow up on user actions or requests, since these messages are typically triggered by user actions". Authentication templates verify identity, which in practice means one-time passcodes and nothing else.

Utility and authentication share a rate in every market. Marketing has its own, and the gap varies enormously by country.

MarketMarketingUtilityAuthenticationMarketing ÷ utility
India$0.0118$0.0014$0.00148.4x
Brazil$0.0625$0.0068$0.00689.2x
North America$0.0250$0.0034$0.00347.4x
United Kingdom$0.0635$0.0220$0.02202.9x
Germany$0.1365$0.0550$0.05502.5x
Indonesia$0.0411$0.0250$0.02501.6x

Those are Meta's rates from 1 October 2026, the same card that also starts charging for free-form service replies at the utility rate; the pricing post covers that change. Notice where the pain is. In India and Brazil a category mistake costs you eight or nine times the correct price. In Indonesia it is 1.6x, and hardly worth an argument.

One more thing decides how much this matters: templates are the only message type you can send outside the 24-hour customer service window. Everything proactive your product says is a template, so everything proactive carries a category.

Meta's actual test

The rule is stricter than most teams assume, and it is worth reading in Meta's own words. A utility template must be "non-promotional, not containing any promotional or persuasive intent" and either "specific to or requested by the user" or "essential or critical to the user". Both halves, not either.

A three-step decision diagram. First, is it a one-time passcode in the authentication template format, in which case it is authentication. Second, does it carry any promotional or persuasive intent, which makes it marketing. Third, is it specific to something the user did or essential to them, which makes it utility, while unclear content defaults to marketing.
Two questions decide the price, and the promotional one is fatal. Mixing categories does not split the bill; it re-prices the whole message.

Two rules in that diagram catch almost everyone.

Mixed content is marketing. Meta's own examples are "an order update with a promo or a feedback survey with promotional content". There is no blended rate. The useful half does not protect the promotional half; the promotional half re-prices the useful half.

Unclear content is marketing. Meta gives two examples of templates it cannot read: bodies "where contents are only {{1}}" and the single word "Congratulations!". If a human reviewer cannot tell what the message does, it defaults to the expensive category. This is why a template built entirely out of variables is a bad idea even when it is technically convenient.

Authentication is narrower still. It is for passcodes, sent through the authentication template format with its fixed body text, and Meta rejects marketing or utility content submitted under that category outright rather than re-pricing it.

Ten templates: guess before you see the price

The exercise below is ten real-shaped templates. Pick the category you think Meta assigns, and the tool shows the category, the reason from Meta's rules, and what the difference costs per 10,000 sends at whichever market's rates you choose.

exercise · ten templates, one rate card

Guess the category before Meta does

ANSWERED0 / 10tap a category on each
RIGHT0matching Meta's rules
COST OF THE MISSES$0per 10,000 sends of each one you got wrong

template 1

“Your order #4821 has shipped and will arrive on Tuesday. Track it here.”

Utility. Order and delivery management, triggered by something the user did, with nothing promotional in it.

template 2

“Your order #4821 has shipped. While you wait, take 20% off your next order with code SHIP20.”

Marketing. Meta names this exact shape as mixed content: an order update with a promo. Mixed content is billed as marketing, all of it.

template 3

“742819 is your verification code.”

Authentication. A one-time passcode sent through an authentication template. It is the only category for codes, and the body text is fixed.

template 4

“Congratulations!”

Marketing. Meta lists "Congratulations!" and bodies that are only a variable as unclear content, and unclear content defaults to marketing.

template 5

“Your payment of 1,299 did not go through. Update your card by 5 October to keep your plan active.”

Utility. An account alert that is essential to the user. Warning someone about losing service is not persuasion to buy.

template 6

“How did we do? Rate your delivery from 1 to 5.”

Utility. Feedback surveys are on Meta's list of utility examples, as long as there is nothing promotional attached.

template 7

“How did we do? Rate your delivery from 1 to 5 and get 100 off your next order.”

Marketing. Meta's other named example of mixed content: a feedback survey with promotional content. The discount re-prices the whole template.

template 8

“Thanks for opting in. You will get delivery updates from us here.”

Utility. Opt-in confirmation, one of Meta's utility examples. It confirms something the user just asked for.

template 9

“New winter collection just landed. Shop the drop before it goes.”

Marketing. Awareness and sales, with no user action behind it. This is what marketing templates are for.

template 10

“Your appointment with Dr Shah is confirmed for Friday at 11am. Reply 1 to reschedule.”

Utility. Specific to the user, requested by the user, non-promotional: both halves of Meta's utility test.

Pick a category for each template. The answer and the price difference appear as you go.

Categories follow Meta's template categorisation guidelines, checked 12 September 2026. Meta reviews the template's content, so a category is a judgement about wording, not a setting you control. Prices are the rate card effective 1 October 2026, before volume tiers.

If you score badly on the mixed ones, you are in the majority. "Your order shipped, here's 20% off" reads like a helpful message with a small bonus, and is billed as a marketing campaign.

What gets re-categorised, and when

Categories are not settled at approval time. Meta reviews live templates and moves the ones whose content does not match their category.

  1. automaticMeta re-reviews live templatesutility templates whose content is really marketing are updated to marketing
  2. 1 daythat is all the notice you getbusinesses that repeat the mistake lose even that
  3. within 60 daysyou can request a category reviewonly through Business Support inside WhatsApp Manager
  4. 1st of next monthwrong authentication templates are rejectedmarketing or utility content submitted as authentication is not re-priced, it stops working

One day of notice is not much for a marketing calendar that was planned around a utility rate. Worse, the change is silent as far as your system is concerned: the template still exists, still sends, still delivers. The only signals are the notice and the category field on the template itself.

So treat template state as something you monitor, not something you check when a campaign underperforms. Subscribe to the template status webhooks, store the category alongside every send, and alert when a category changes or a template's quality rating drops. This is the kind of signal that gets lost in a wall of logs that nobody reads: it needs to page someone, because it has a price attached and a 60-day clock.

While you are there, keep the two limits in mind that also apply to your library: review can take up to 24 hours, and an unverified business portfolio is capped at 250 templates per WhatsApp Business Account against 6,000 for a verified one, with a ceiling of 100 new templates an hour.

What it costs when it goes wrong

Take an order-status template sending 50,000 messages a month, re-categorised from utility to marketing.

Bar chart of the extra monthly cost when a utility template is re-categorised as marketing at 50,000 sends a month. Germany plus $4,075, Brazil plus $2,785, United Kingdom plus $2,075, North America plus $1,080, Indonesia plus $805, India plus $520.
The same 50,000 messages, re-priced. In Germany that is $4,075 a month for a sentence somebody added to make the message friendlier.

In Germany the bill goes from $2,750 to $6,825: $4,075 a month, $48,900 a year. In Brazil it is $2,785 a month on a base of $340, which is where the multiple really bites. In India the same mistake costs $520 a month, which is annoying rather than fatal, and is exactly why Indian teams tend to discover this problem late and European teams discover it immediately.

quick check

Your delivery template says "Your order #4821 is out for delivery. Rate us after it arrives and get 10% off your next order." How does Meta categorise it?

Meta names "an order update with a promo" as mixed content, and mixed content is categorised as marketing. The whole message is billed at the marketing rate, not just the promotional sentence.

Writing templates that stay utility

None of this requires clever wording. It requires separating two jobs that feel natural to combine.

  1. Split the promo into its own template. The order update stays utility; the discount goes out as a marketing template to people who opted in to offers. Two messages, priced correctly, instead of one priced wrongly.
  2. Cut the friendly upsell. "While you wait, why not…", "Complete the look", "Customers also bought": each of those turns a utility template into a marketing one. If it exists to make someone buy, it is marketing, however gently it asks.
  3. Never ship a body that is only variables. {{1}} tells the reviewer nothing, so it defaults to marketing. Write the sentence and put variables inside it.
  4. Say what happened, not what to do next. "Your payment failed, update your card by Friday to keep your plan" is essential to the user. "Upgrade to annual and save 20%" in the same message is not.
  5. Keep passcodes in authentication templates. A code inside a normal message is not authentication, and a marketing sentence inside an authentication template gets the template rejected on the first of next month.
  6. Re-read old templates when rates change. The ones written when marketing was cheap in your market are the ones to check first.

Marketing templates have a second ceiling

Even when marketing is the right category and you are happy to pay for it, delivery is not guaranteed. Meta applies a per-user marketing limit: "WhatsApp may limit the number of marketing template messages a WhatsApp user receives from any business in a given period of time", based on "a dynamic view of an individual's recent marketing message read rate and how many messages they currently have in their inbox from friends, family, and businesses".

Three practical consequences:

  • When a user is over their limit, the send fails with error code 131049, and Meta says to "wait at least 24 hours before attempting to resend a marketing template message to a user that has reached their limit". Retrying immediately just burns attempts.
  • These limits are "not currently active for messages sent from a business phone number in the European Economic Area, United Kingdom, Japan, or South Korea, or to a WhatsApp user in these countries".
  • WhatsApp "does not currently deliver marketing template messages to WhatsApp users with United States phone numbers".

And there is an opt-out layer underneath. Users can turn off "Offers and announcements" for a business; when they have, the API "will process the request but not send the message" and returns error code 131050.

Read together with the pricing, that is a strong argument for keeping genuinely useful messages in the utility category: they are cheaper, they are not subject to the marketing per-user limit, and they are not affected by the offers opt-out.

questions people ask

What are the WhatsApp template categories?

Marketing, utility and authentication. Utility and authentication are charged at the same rate in each market; marketing costs considerably more, from 1.6x in Indonesia to more than 9x in Brazil.

Who decides whether a template is marketing or utility?

Meta does, from the template's content. What you select when submitting is a request, and Meta will re-categorise a live template if the content does not match.

Why was my utility template changed to marketing?

Almost always mixed content. Meta re-categorises utility templates that contain promotional or persuasive intent, such as an order update with a discount, and gives one day's advance notice before the change.

Can I appeal a template category?

Yes, within 60 days, through Business Support in WhatsApp Manager. The outcome is either approved, in which case the category changes, or rejected, in which case it does not.

How much does a category mistake cost?

The difference between the two rates times your volume. At 50,000 messages a month it is $520 in India, $2,785 in Brazil and $4,075 in Germany.

Can I send a one-time passcode in a normal template?

You should not. Meta requires authentication templates for verification codes, and marketing or utility content submitted as authentication is rejected on the first of the following month.

The short version

Three categories, two prices, one test. A template is utility only if it is non-promotional and either requested by the user or essential to them. Anything else, including anything mixed and anything unclear, is marketing, at up to nine times the price.

Go through your library once and look for sentences that exist to sell something inside messages that exist to inform. Split those into two templates. Then store the category with every send and alert on category changes, because the one day of notice Meta gives you is not long enough to find out from an invoice.

S

Sanjeev Sharma

Product Engineer at Acefone, building real-time communications at carrier scale: WhatsApp, voice and IVR in one agent inbox. Built and runs PostEngage, a WhatsApp automation SaaS, on his own. Contributor to litellm and the Vercel AI SDK. Takes on a small number of consulting engagements each year.