Every business-initiated WhatsApp message starts as a template that Meta reviews before you can send it — usually approved within minutes to a day. Templates get rejected for a handful of predictable reasons: wrong category (marketing content submitted as utility), policy-violating content, formatting errors in variables, vague or spammy copy, and prohibited industries. Each has a concrete fix, and a rejected template can be edited and resubmitted immediately.
Template rejection is the first wall most teams hit on the WhatsApp API — the campaign is ready, and Meta says no without much explanation. The review is more mechanical than it feels. Here is how it works, why templates fail, and how to write ones that pass on the first submission.
How does template review actually work?
You submit a template — name, language, category, body with {{numbered}} variables, optional header/footer/buttons — and Meta reviews it against content and formatting policy, largely automatically. Most decisions land within minutes to a few hours; a day at the outside.
Three things people misunderstand: the category you pick is checked against the content (and Meta recategorises or rejects mismatches); each language version of a template is reviewed separately; and approval is per-WABA — templates do not transfer between platforms, which matters when migrating.
Marketing, utility, authentication — why category is the whole game.
Category affects both price and review. Marketing promotes; utility relates to a specific agreed transaction or account update; authentication verifies identity. The moment a utility message adds an offer or upsell, its content becomes promotional and may be rejected or recategorised. Use Meta's current recipient-country rate card when comparing category cost rather than embedding an old India figure into long-lived copy.
The rejection reasons you will actually see, with fixes.
Category mismatch — promotional content in a utility submission. Fix: strip promotion from utility templates; resubmit promos as marketing.
Variable formatting — malformed {{1}} placeholders, variables at the very start/end of the body, or adjacent variables with no text between them. Fix: surround variables with real copy; never open or close the message with a bare variable.
Missing example values — Meta reviews variables against the sample content you provide. Fix: supply realistic examples for every variable.
Vague content — 'Hello {{1}}, we have an update for you, click here' reads as phishing bait. Fix: say what the message is actually about; specificity passes, vagueness fails.
Policy content — prohibited or restricted categories (gambling, weapons, certain financial products, alcohol, adult content, and more per Meta's Commerce and Business policies). Fix: none, if your content genuinely falls there; check the policy list before building.
Spam formatting — ALL CAPS, excessive emoji or punctuation!!!, URL shorteners like bit.ly. Fix: write like a business, use full branded URLs.
Duplicate of an existing template — same content, different name. Fix: delete unused near-duplicates instead of accumulating them.
How do you write templates that pass first time?
A pattern that reliably clears review:
Utility: '{{1}}, your order {{2}} has shipped and will arrive by {{3}}. Track it here: [full URL]. Reply to this message for help.' Specific, transactional, variables embedded in copy, no promotion.
Marketing: name the brand in the first line, make the offer concrete, one clear CTA button, and include an opt-out cue ('Reply STOP to unsubscribe') — the opt-out line also measurably reduces spam reports, which protects your quality rating.
And keep a naming convention (order_shipped_v2_en) — six months in, template hygiene is the difference between a manageable library and archaeology.
What if the rejection seems wrong?
It happens — automated review has false positives. Your options, in order: edit and resubmit with the suspected trigger removed (fastest — often a URL shortener or a bare variable was the issue); request a review of the decision from within WhatsApp Manager, where Meta re-examines rejected templates; or rewrite the message structure entirely. Rejections carry no penalty — a rejected template does not hurt your quality rating or messaging limits, so iterate freely.
On Waaru, template submission, status tracking, and rejection handling live in the dashboard, and founding-member onboarding includes getting your first template set approved.
FAQ
Questions worth answering.
Usually minutes to a few hours; up to a day at the outside. Reviews are largely automated. If a template sits in review unusually long, check that sample variable values were provided — missing examples are the common stall.
Sources
1
Template categories (marketing, utility, authentication), review process, rejection reasons, and appeal path are defined in Meta's template guidelines; category is validated against content.