📋 WhatsApp Rules & Costs

How many WhatsApp templates can you have?

A limit nobody mentions until you hit it — and you hit it faster if you make a template per product.

A WhatsApp Business Account can hold 250 message templates on an unverified business portfolio, or up to 6,000 once the portfolio is verified and the display name approved, with a maximum of 100 templates created per hour. These figures come from Meta's template documentation, and almost no merchant-facing content mentions them.

They matter to exactly one kind of store: the kind that creates a template per product, per campaign or per variant. That store reaches 250 far sooner than it expects.

The limits

LimitValueScope
Templates, unverified business portfolio250Per WhatsApp Business Account
Templates, verified portfolio with approved display name6,000Per WhatsApp Business Account
Templates created per hour100Per WhatsApp Business Account

Note that verification does two jobs at once: it raises your template ceiling 24-fold, and it is also the fastest route from a 250-recipient messaging tier to 2,000. If you have not verified your business, that single task lifts two different ceilings.

Why stores hit 250

Almost always one of three habits:

  1. A template per product. "Back in stock — blue mug", "back in stock — red mug". Fifty products, one restock template each, and you have used a fifth of your quota on one flow.
  2. A template per campaign. A new one for every sale, festival and drop, never deleted.
  3. A template per language. Legitimate and unavoidable — but it multiplies everything else.

Use variables instead of duplicating

The fix for the first two is the same: one template with variables, rather than many templates with fixed text.

Instead ofUseTemplates used
50 "back in stock — {product}" templatesOne template: "{{1}}, the {{2}} you wanted is back in stock."50 → 1
A new sale template each monthOne: "{{1}}, our {{2}} is on — {{3}} off until {{4}}."12/year → 1
Separate order templates per courierOne with the carrier as a variable6 → 1

There is a real constraint here worth stating plainly: only the body of a template can be personalised with variables. Header media and button parameters cannot, so a genuinely different image per product does need a different template — or a flow that sends the image as a separate step once the conversation window is open.

The 100-per-hour ceiling

This one bites during a migration. A store moving from another platform, or bulk-creating a seasonal set, can trip it and see creations start failing for no obvious reason. If you are creating templates in bulk, spread the work across hours.

Housekeeping

  1. Delete last year's festival templates. They will not be reused, and each one is a slot.
  2. Audit before a big launch, not during it.
  3. Verify your business if you are anywhere near 250. It is the only way past it.
  4. Consolidate near-duplicates into one variabled template.
  5. Keep a naming convention so you can tell at a glance which flow owns which template — an automation sending a template you deleted fails at send time.

Before you delete anything, check which automations send it. A deleted template does not warn you; the flow simply starts failing, and because the failure is at send time rather than publish time you will hear about it from a customer.

Rejections that look like limits

If template creation starts failing and you are nowhere near 250, the cause is usually content rather than quota — see why your template was rejected. The body is also capped at 1,024 characters, which is a per-template limit rather than an account one but gets confused with it.

And a template you no longer need is not the same as one Meta withdrew. Meta can recategorise or disable templates, and its policy enforcement documentation lists template misclassification among the triggers for account-level action. Deleting unused templates is housekeeping; having them removed for you is a warning.

How fast you get through 250

The quota feels generous until you see how a normal year consumes it. A store running two languages, a seasonal calendar and a per-category restock message arrives at the ceiling without ever feeling extravagant.

HabitTemplates usedRunning total
Core transactional set (order, paid, shipped, delivered, cancelled, failed payment)66
The same set in a second language612
One campaign template per month, both languages2436
Festival and seasonal packs2056
A restock template per product category (15 categories)1571
Abandoned cart, review request, win-back, both languages677
Three years of the above, nothing ever deleted—~200+

Nothing in that list is unreasonable. The problem is purely that templates accumulate and nobody deletes them, because deleting feels risky and the ceiling is invisible until you hit it.

The three-tier structure that stays small

A structure that scales to a large catalogue on a modest template count:

  1. Transactional core, variabled. One template per order event, with name, order number, total, carrier and tracking as variables. Six templates covers every product you will ever sell.
  2. One reusable campaign shell per type. A single "offer" template — "{{1}}, our {{2}} is on, {{3}} off until {{4}}" — replaces a new template for every sale. One "restock" template with the product as a variable replaces one per category.
  3. Free text for everything else. Anything sent inside an open conversation window needs no template at all. If a customer has replied, you are not spending quota to talk to them.

That third tier is the one merchants forget. Templates are only required to reach a cold chat; a store whose customers regularly message it spends far less of its quota than one that only broadcasts. The mechanic is in the 24-hour window.

What variables can and cannot personalise

There is a real limit on how far one template stretches, and it decides whether consolidation is possible for a given message.

Part of the templateCan it vary per send?
Body textYes — this is what variables are for
Header image, video or documentYes, the file can be swapped per send
Document filenameYes
Button labelsNo — fixed at approval
Button destination for a URL buttonPartially — only the documented dynamic portion
LanguageNo — a separate template per language

So a set of products needing genuinely different buttons does need different templates. A set needing different words does not.

Auditing safely

The reason nobody deletes templates is a real one: a deleted template does not warn you, and any automation still sending it fails at send time rather than at publish time. The customer receives nothing and you hear about it from them.

  1. List every template and when it was last used. Anything from a past festival that will not recur is a candidate.
  2. Search your automations for the template name before deleting anything. This is the step that makes the audit safe.
  3. Check your broadcast history too — a template used only by a recurring campaign will not appear in any flow.
  4. Delete in small batches and watch for send failures for a day before continuing.
  5. Adopt a naming convention so the next audit is quicker: purpose, language, and version, in that order.

Verify your business before you need to. Verification raises the template ceiling from 250 to 6,000 and is also the fastest route from a 250-recipient messaging tier to 2,000. It takes days rather than minutes, so doing it while nothing is urgent is worth more than doing it during a launch.

Language multiplies everything

Templates are approved per language, so a bilingual store needs each one submitted twice. That is unavoidable, but it changes the arithmetic enough to plan around: a transactional set of six becomes twelve, and a campaign calendar of twelve becomes twenty-four.

Two things reduce the damage. First, decide whether you genuinely need both languages for every message — order confirmations usually yes, seasonal campaigns often not. Second, remember that free text inside an open conversation window has no language approval at all, so your team can reply in whichever language the customer used without any template involved. That is covered in handling Roman Urdu, Hinglish and mixed Arabic.

A quarterly template review

  1. Count your templates against the ceiling — 250 unverified, 6,000 verified.
  2. List anything unused in the last 90 days.
  3. Search your automations and broadcast history for each name before deleting.
  4. Merge near-duplicates into one variabled template.
  5. Check nothing has been recategorised from utility to marketing, which changes what it costs and who it reaches.

Fifteen minutes a quarter keeps you clear of a ceiling that is otherwise invisible until it stops you mid-launch.

One last framing worth carrying away. Templates are the cost of reaching a customer who has not spoken to you recently — they are not the cost of using WhatsApp. A store whose customers regularly message it spends a fraction of its quota, because everything inside an open conversation window needs no template at all. If you are running short on templates, the cheapest fix is often not a bigger ceiling but a flow that earns more replies. See the 24-hour window.

Frequently asked questions

How many WhatsApp message templates can I create?

250 per WhatsApp Business Account on an unverified business portfolio, up to 6,000 for a verified portfolio with an approved display name, and a maximum of 100 created per hour.

How do I get past the 250-template limit?

Verify your business portfolio and get your display name approved. The same verification is also the fastest way to raise your messaging tier from 250 to 2,000 recipients.

Can one template cover many products?

Yes for the body text, using variables. Header media and button parameters cannot be personalised, so a different image per product needs either a different template or a separate image step once the conversation window is open.

What happens if I delete a template an automation uses?

The automation starts failing at send time, with no warning at publish time — so check which flows reference a template before deleting it.

Need help? Message us