📋 WhatsApp Rules & Costs

Why your WhatsApp template was rejected, and how to fix it

A rejected template blocks your whole automation. These are the causes we see most, each with the fix.

A WhatsApp message template is a pre-written message that Meta reviews before you may send it to customers who are outside the 24-hour service window. Until it is approved, any automation that depends on it cannot run — which is why a rejection is not a paperwork problem, it is an outage.

The good news is that rejections cluster. In practice a handful of causes account for most of them, and each has a specific, mechanical fix.

Cause 1: the content does not match the category

This is the most common rejection, and it is usually reported as an incorrect category error. The pattern is a message with promotional content submitted as utility, or — less obviously — a message containing a credential or code submitted as anything other than authentication.

We hit the second version ourselves. A template that told a customer their account name, with a "Sign in" button, was auto-rejected: a credential plus a login button reads as an authentication template, and that category only accepts Meta's fixed wording, which cannot carry a custom value. The fix was to reframe the message as an account-details lookup rather than a credential delivery, which kept it in utility.

The fix: decide the category from the content, not from what you want to pay. Our guide to utility versus marketing templates has the working test.

Cause 2: variables with no example values

Every placeholder in your template needs a sample value at submission so the reviewer can see what the finished message looks like. A template reading "Hi {{1}}, your order {{2}} is on its way" with no examples gives the reviewer nothing to assess, and is commonly rejected.

The fix: fill in a realistic example for every variable — "Sarah", "#1042" — not placeholder text like "name" or "xxx".

Cause 3: the message starts or ends with a variable

A template whose entire content is variables, or that opens or closes with one, is treated as unreviewable — the reviewer cannot tell what will actually be sent.

The fix: anchor every variable in fixed text. "{{1}}, {{2}}" becomes "Hi {{1}}, your order {{2}} has shipped."

Cause 4: it breaks the Commerce Policy

Some goods cannot be sold or promoted over WhatsApp at all, and a template referencing them will be rejected regardless of how it is written. Meta's Commerce Policy covers weapons and ammunition, tobacco and vaping products, alcohol, drugs, adult goods, real money gambling, counterfeit goods, multi-level marketing schemes, and body parts or fluids. The policy applies to your catalog, your message threads, your business profile and your templates alike.

The fix: if you sell in a restricted category, this is not a wording problem. See what you cannot sell on WhatsApp before you invest further.

Cause 5: formatting and length

ProblemFix
Body over 1,024 charactersCut it. Long templates also read badly on a phone.
Button labels that promise something the message does not deliverMatch the label to the destination.
Repeated punctuation or shouting ("BUY NOW!!!")Write it as you would to one customer.
A URL that does not resolveCheck every link before submitting.
Spelling and grammar errorsProofread — reviewers do reject on this.

How long approval takes

Meta does not publish a guaranteed turnaround, and in practice it varies from minutes to a day or more. Two things follow from that. First, do not submit a template on the morning of a campaign. Second, if a template has been pending far longer than your others, a small edit and resubmission is usually faster than waiting.

Plan around the queue, not against it. If you are building a seasonal campaign, get templates approved a week early. A rejected template discovered on the day is the difference between a campaign and a missed one.

How many templates you are allowed

Rejections sometimes come after a limit rather than because of content. Meta's template documentation sets these ceilings per WhatsApp Business Account:

LimitValue
Templates, unverified business portfolio250
Templates, verified portfolio with an approved display name6,000
Templates created per hour100

If you create one template per product or per campaign, 250 arrives faster than you expect. See how many WhatsApp templates you can have.

A checklist before you submit

  1. Read the message aloud. Does it sound like a person, or like a mailshot?
  2. Could this message exist if the customer had never bought anything? If yes, it is marketing — submit it as marketing.
  3. Does every variable have a realistic example value?
  4. Does the body start and end with fixed text?
  5. Is the body under 1,024 characters?
  6. Do all links open?
  7. Do the button labels match what happens when they are tapped?
  8. Does anything in it touch a restricted category?

What to do while you wait

An automation whose template is not yet approved should stay unpublished — our builder blocks publishing a flow with an unconfigured template step for exactly this reason. In the meantime you can build and test everything else in the flow; testing an automation safely covers how to exercise a flow without messaging real customers.

And if the template is approved but messages still are not arriving, the problem is downstream — start with the error code guide.

Rejected, pending and recategorised are three different problems

StateWhat it meansWhat to do
RejectedRefused at reviewFix the cause below and resubmit
PendingStill in the queueWait — unless it is far longer than your others
Approved, then recategorisedLive, but now billed as marketingRewrite the promotional line out of it
Approved, then disabledMeta withdrew itTreat as a warning, not housekeeping

The third row is the one that costs money quietly: the template still sends, so nothing looks broken, but it is now charged on every order and undeliverable to US numbers. A bill that rises without your volume changing is the usual first symptom. See utility versus marketing.

Rewrites that get approved

Most rejections come down to a reviewer being unable to tell what will actually be sent, or to content that does not match the category claimed. Both are fixable in a sentence.

RejectedApprovedWhat changed
"{{1}}, {{2}}""Hi {{1}}, your order {{2}} has shipped."Variables anchored in fixed text
"Hi {{1}}" with example "name"Same, with example "Sarah"Realistic example values
"BUY NOW!!! LAST CHANCE!!!""Our winter sale ends Friday."Written as if to one person
"Order confirmed. 10% off with THANKS10.""Order {{1}} confirmed, total {{2}}."Promotional line removed, stays utility
"Your username is {{1}}" + Sign in button"Here are the account details you requested."Reframed so it is not read as authentication

Resubmitting without making it worse

  1. Change something real. Resubmitting an identical template wastes a slot and your time.
  2. Change one thing at a time where you can, so you learn what the objection was.
  3. Do not create a near-duplicate while the original is pending — you end up maintaining two, and Meta caps templates at 250 per account for an unverified business portfolio.
  4. Watch the hourly ceiling. A maximum of 100 templates can be created per account per hour, which a bulk migration can trip.
  5. Check whether you need a template at all. If the message is a reply to a customer who wrote to you, the 24-hour window is open and free text works — no approval, no charge.

That last point removes more work than any of the others. Merchants routinely build templates for messages their flow only ever sends inside an open conversation. If the flow is triggered by a customer message, it does not need a template — and every template you do not create is one you never have to get approved, version, or count against your quota.

Getting ahead of the queue

Meta publishes no guaranteed turnaround, and in practice it ranges from minutes to more than a day. That variance is the argument for treating template creation as a planning task rather than a launch-day one.

A workable habit: submit seasonal templates a week before you need them, keep a small set of evergreen variabled templates rather than a new one per campaign, and verify your business portfolio — which raises the template ceiling from 250 to 6,000 and, separately, is the fastest route from a 250-recipient messaging tier to 2,000.

And keep a flow unpublished while its template is pending. Publishing a flow whose send step has no approved template selected is blocked with an explanation rather than going live and failing silently on real customers — which is the right behaviour, but it does mean a campaign cannot be switched on until the queue clears. Build and test everything else meanwhile: testing an automation safely covers exercising a flow without messaging anyone.

Finally, keep a short record of what each template is for and which flow sends it. Rejections are easier to diagnose when you can see that three templates are doing one job, and it makes the quarterly clear-out safe — a deleted template does not warn you, it just starts failing at send time.

Frequently asked questions

How long does WhatsApp template approval take?

Meta publishes no guaranteed turnaround. In practice it ranges from minutes to more than a day, so submit templates well before a campaign rather than on the day.

Why was my template rejected for incorrect category?

The content did not match the category submitted — most often promotional content sent as utility, or a credential plus a login button, which reads as an authentication template and only accepts Meta's fixed wording.

How long can a WhatsApp template be?

The template body is limited to 1,024 characters.

How many templates can I create?

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

Need help? Message us