Why WhatsApp Templates Get Rejected
And How to Fix It
Every rejection has a specific, fixable reason. This guide covers the category rules, variable syntax, formatting mistakes, and content policies that trip people up — with rejected-vs-approved examples so you can see exactly what to change.
How template approval works
Every message template you create must be reviewed by Meta before it can be used to message customers. The process works like this:
- You submit the template — through your BSP dashboard, Meta Business Manager, or (in LigiComms) the Templates page.
- Meta's automated system checks it — format, variables, category alignment, policy compliance. This takes seconds.
- If flagged, a human reviewer looks at it — this is where subjective calls happen (is the tone promotional? is the purpose clear?).
- You get a decision — Approved, Rejected, or (rarely) Action Required.
| Outcome | What it means | What to do |
|---|---|---|
| Approved | Template is live and can be sent to customers | Start sending |
| Rejected | Template failed review — cannot be used or edited | Create a new template with a different name, fix the issue, resubmit |
| Paused | Meta disabled an approved template due to poor user feedback | Check quality rating, revise content, submit a replacement |
Timeline: Most templates clear automated review within 15 to 30 minutes. If a template needs manual review, expect a few hours up to 24 hours. Submitting over a weekend or during high-volume periods (Diwali, Black Friday) can add delay.
Template structure and limits
A WhatsApp template has up to four parts. Only the body is required — the rest are optional.
| Part | What it contains | Limit |
|---|---|---|
| Header | Text, image, video or document — provides visual context | 60 characters (text header) or one media file |
| Body | The main message text with variables | 1,024 characters |
| Footer | Secondary text in gray — disclaimers, opt-out instructions | 60 characters |
| Buttons | Up to 3 quick-reply buttons or up to 2 call-to-action buttons (URL or phone) | Button text: 25 characters each |
Template name: lowercase letters, numbers and underscores only. No spaces, no uppercase. Example: order_confirmation_v2, not Order Confirmation V2.
Language: select the locale that matches your template text (e.g. en for English, hi for Hindi). Writing in one language while selecting another triggers rejection.
Category rules — the #1 rejection reason
Getting the category wrong is the single most common reason templates are rejected. Meta checks category intent before content quality — a perfectly written template in the wrong category is rejected instantly.
| Category | Use for | The test | Cost (India) |
|---|---|---|---|
| Marketing | Offers, product launches, re-engagement, newsletters, event invitations | Does it persuade, promote, remind about an offer, or try to bring someone back? | ₹0.8631 |
| Utility | Order confirmations, shipping updates, appointment reminders, account alerts | Is it factual, specific, tied to a user action, and contains no persuasion? | ₹0.1150 |
| Authentication | OTPs, two-factor codes, password resets — nothing else | Does it contain a one-time code and an expiry? Is that all it contains? | ₹0.1150 |
The grey zone: "Your order is confirmed. Here's 10% off your next purchase!" — this is Marketing, not Utility, because it contains a promotional offer. The order confirmation part is utility, but the discount makes the whole message marketing. When in doubt, choose Marketing — it costs more but it won't get rejected.
Auto-reclassification: Since April 2025, Meta automatically reclassifies templates from Utility to Marketing if the wording appears warm, open-ended or promotional rather than alert-like — even after initial approval. This changes your billing retroactively. Keep utility templates factual and dry.
Variable syntax rules
Variables are the dynamic parts of your template — customer name, order number, appointment time. They follow strict formatting rules.
- Format:
{{1}},{{2}},{{3}}— double curly brackets, sequential numbers starting from 1. - Sequential: No gaps.
{{1}}, {{2}}, {{4}}is rejected —{{3}}is missing. - No variable at the start:
{{1}}, your order is readyis rejected. Start with fixed text:Hi {{1}}, your order is ready. - No variable at the end: ending with a bare variable without punctuation can trigger rejection on some reviewers.
- No back-to-back variables:
{{1}}{{2}}is rejected. Put fixed text between them:{{1}} — order {{2}}. - No special characters inside variables:
{{#1}}or{{$name}}— rejected. Only{{1}}. - Every variable needs a sample value: When you submit, Meta asks for a sample value for each variable (e.g.
{{1}}= "Rahul",{{2}}= "ORD-4829"). Without realistic samples, the template is rejected because Meta cannot verify its purpose.
Variable density rule of thumb: your template should have at least three words of fixed text for every one variable. A template that is mostly variables looks like it could be used for any purpose — and Meta rejects ambiguous templates.
All rejection reasons, grouped
Category mismatch
- Promotional content filed as Utility (most common single rejection reason)
- Using Authentication for non-OTP messages
- Vague template whose purpose is unclear to the reviewer
- Missing a call-to-action that makes the message actionable
Formatting errors
- Wrong variable syntax —
{1}or[name]instead of{{1}} - Non-sequential variables — skipping a number
- Variable at start or end of message
- Back-to-back variables without fixed text between
- Missing sample values for variables
- Exceeding 1,024 characters in the body
- ALL CAPS or excessive punctuation (!!!)
Content policy violations
- Requesting sensitive information — full card numbers, passwords, national IDs
- Threatening or aggressive language
- Misleading claims — "guaranteed results", "100% free"
- Promoting restricted products — alcohol, tobacco, weapons, adult content
- Naming competitors explicitly in your template
Link and URL issues
- Shortened URLs — bit.ly, tinyurl.com, t.co
- wa.me links inside templates
- URLs that don't match your registered business domain
- Button URL mismatching the declared domain
Button errors
- Button text exceeding 25 characters
- More than 3 quick-reply buttons or more than 2 call-to-action buttons
- Buttons without a specified type (URL, phone, quick reply)
Content quality
- Spelling and grammar errors
- Language doesn't match the selected locale
- Duplicate template — identical content under a different name
- Low-resolution header image (below 500×500 pixels)
- Media unrelated to the message content
Rejected vs approved — side by side
Order confirmation (Utility)
Rejected because: starts with a variable, contains promotional offer (10% off = Marketing), and uses an urgency-coded discount code.
Approved because: starts with fixed text, purely informational, no promotional content, clear purpose.
Appointment reminder (Utility)
Rejected because: too vague — Meta cannot determine the purpose. One variable holding the entire message could be used for anything.
Approved because: specific purpose, multiple variables with clear roles, includes an actionable response option.
Authentication (OTP)
Rejected because: mixes authentication with marketing. An OTP template must contain only the code, its expiry, and a "do not share" warning.
Approved because: purely functional, no promotional content, includes expiry and security warning.
Marketing (re-engagement)
Rejected because: all caps, excessive punctuation, urgency manipulation, variable at the end.
Approved because: conversational tone, personalised, specific context (items they browsed), clear opt-out, no all-caps or exclamation abuse.
Quality rating — what happens after approval
Getting approved is the first gate. The second is keeping your template healthy once it's live.
Meta assigns a quality rating to your WhatsApp phone number based on how recipients react to your messages — blocks, reports, read rates, reply rates. The rating works on a traffic-light system:
| Rating | What it means | Effect |
|---|---|---|
| Green | Recipients are engaging well, low block rate | Your messaging limit can increase (250 → 1K → 10K → 100K → unlimited) |
| Yellow | Some recipients are blocking or reporting your messages | Limit stays where it is. Warning signal. |
| Red | High block or report rate | Messaging limit decreases. Sustained Red can get your number restricted. |
Quality rating affects your number, not individual templates. But a single aggressive template that gets blocked by many recipients can drag the entire number's rating down.
Template pausing — when Meta disables an approved template
An approved template can be paused by Meta at any time if recipients consistently block or report messages sent with it. This is different from rejection:
- Rejection happens during review — the template never goes live.
- Pausing happens after the template has been live and sending. Meta detects poor user signals and pulls it.
A paused template cannot be resumed. You need to create a replacement with revised content — usually softer language, better targeting (send only to opted-in audiences), or a different category. If the same content pattern keeps getting paused, the underlying problem is usually audience quality, not template quality.
Pre-submit checklist
Run through this before hitting Submit. Every item on this list has caused real rejections.
- Variables are
{{1}},{{2}}, etc. — sequential, no gaps, no special characters inside. - Template does not start or end with a variable.
- No two variables sit next to each other without at least a word between them.
- Every variable has a realistic sample value — "Rahul", "ORD-4829", "10:30 AM", not "test" or "xxx".
- Category matches the content. If it persuades, it's Marketing. If it informs about a user action, it's Utility. If it's an OTP, it's Authentication.
- Selected language matches the actual text.
- No shortened URLs — full branded domain only.
- No all-caps words (except acronyms like OTP or GST).
- No more than one exclamation mark in the entire template.
- Body is under 1,024 characters.
- Button text is under 25 characters each.
- No more than 3 quick-reply or 2 CTA buttons.
- Template name is lowercase with underscores —
order_shipped_v2, notOrder Shipped V2. - Not a duplicate of an existing or previously rejected template.
- Marketing templates include an opt-out instruction — "Reply STOP to unsubscribe" in the body or footer.
Ready-to-use templates (approved patterns)
These follow every rule above. Copy, adjust the details, and submit.
Order shipped (Utility)
Appointment reminder (Utility)
Payment received (Utility)
OTP verification (Authentication)
Back in stock (Marketing)
Festive offer (Marketing)
Frequently asked questions
Can I edit a rejected template?
No. Once rejected, a template cannot be edited or resubmitted. You must create a new template with a different name, fix the issue that caused the rejection, and submit the new version.
How long does approval take?
Most templates pass automated review in 15 to 30 minutes. If flagged for human review, it can take a few hours up to 24 hours. Weekend and holiday submissions may take longer.
Can I appeal a rejection?
Yes. You can request a review through Meta Business Suite — provide reasoning for why the template should be approved. However, it is usually faster to create a corrected version and resubmit than to wait for an appeal decision.
Why was my Utility template reclassified to Marketing?
Since April 2025, Meta automatically reclassifies Utility templates to Marketing if the wording appears warm, promotional or open-ended. Keep utility templates factual and alert-like — "Your order has shipped" not "Great news! Your order is on its way!" The reclassification changes your billing from ₹0.115 to ₹0.8631 per message.
How many templates can I create?
There is no hard limit on the number of templates per WABA. You can create as many as your business needs — different languages, different use cases, seasonal campaigns. Each template is reviewed independently.
What happens if too many people block my messages?
Your phone number's quality rating drops from Green to Yellow to Red. A Red rating reduces your daily messaging limit. If the problem persists, Meta can restrict your number entirely. The fix is better audience targeting (send only to opted-in contacts) and softer, more relevant content.
Create and manage templates inside LigiComms
Submit templates, track approval, preview on a phone mockup, and send — all from one dashboard.