Platform
Chatbot Builder Bulk Messaging Team Inbox Mini CRM API & Webhooks AI Integration WhatsApp Flows
Industries
E-commerce & D2C Real Estate Education Healthcare Finance & BFSI Logistics Hospitality Retail
Integrations 📚 Learn 🗂 Codex Compare Pricing About Contact Start Free Trial →
HomeTemplate Library › Rejection Guide
WhatsApp Business API · Meta Template Review

WhatsApp Template Rejected? Here's Exactly Why — and How to Fix It

Meta rejects thousands of WhatsApp templates daily. The rejection reasons are cryptic, the appeal process is non-existent, and most guides online are outdated. This is the complete, current guide — every rejection code explained, with before/after rewrites, a forbidden-word reference, and a pre-submission checklist.

Browse Approved Templates → Submit Via WA.Expert
8
Rejection reasons covered
16+
Before/after rewrites
40+
Flagged words/phrases
Most common rejection reasons

The 8 reasons Meta rejects WhatsApp templates

Meta provides a rejection code with every rejected template in your Business Manager. Here are all eight codes — with explanations and rewrites based on actual submission patterns from Indian businesses.

TAG_CONTENT_MISMATCH Wrong template category ⚠️ Most common in India

This is the #1 rejection for Indian businesses. You submitted the template under Utility but the content is promotional — it promotes products, services, or offers rather than completing a transaction the customer initiated. Example: submitting an abandoned cart recovery message (which is marketing) as a utility template to save on conversation costs.

❌ Rejected
Category: Utility Hi {{name}}! Your cart is waiting. Get 10% off if you complete your order now!
✅ Approved
Category: Marketing Hi {{name}}, your cart still has {{product_name}}. Tap below to complete your order.

💡 If your message mentions discounts, offers, new products, or anything promotional, it is Marketing — even if it's triggered by a customer action. The category is determined by the primary purpose, not the trigger.

INVALID_FORMAT Invalid template format / structure ⚠️ Common for first-time submissions

The template doesn't follow Meta's required format. Common causes: variables not in double curly braces ({{1}} not {1} or [1]), header/footer content longer than allowed limits, button text exceeding character limits, or duplicate template names.

❌ Rejected
Hi {name}, your order {order_id} is confirmed. Pay by {date}.
✅ Approved
Hi {{name}}, your order {{order_id}} is confirmed. Pay by {{date}}.

💡 Always use double curly braces: {{variable_name}} or {{1}}. Single braces, square brackets, or asterisks are invalid. Button text limit: 25 characters. Footer limit: 60 characters. Header text: 60 characters.

PROMOTIONAL_CONTENT Promotional content in utility template ⚠️ Very common

The template is in the Utility category but contains promotional language — discount codes, percentage offers, sale announcements, product recommendations, or upsell language. Meta's reviewers flag any sales language in utility templates.

❌ Rejected
Category: Utility Your order #{{order_id}} is shipped! 🎉 Use NEXT10 for 10% off your next order.
✅ Approved
Category: Utility Your order #{{order_id}} has been shipped. Track here: {{tracking_link}}

💡 Remove all upsell and cross-sell language from utility templates. A pure order shipped notification (tracking only) approves immediately. An order shipped + discount offer = Marketing template.

VARIABLE_MISMATCH Variable count mismatch or invalid variables ⚠️ Developer error

The number of variables in your template body doesn't match the variable examples you provided during submission. Or variables are numbered incorrectly ({{3}} appears before {{1}} and {{2}}). Meta requires sequential numbering starting at 1.

❌ Rejected
Body: Hi {{1}}, order {{3}} to {{2}} is confirmed. Examples: {{1}}=Priya {{2}}=April 9 {{3}}=#4521
✅ Approved
Body: Hi {{1}}, order {{2}} by {{3}} is confirmed. Examples: {{1}}=Priya {{2}}=#4521 {{3}}=April 9

💡 Variables must be numbered sequentially: {{1}}, {{2}}, {{3}}. The examples you provide must match the variable count exactly. Named variables ({{customer_name}}) are also accepted and recommended for readability.

SCAM_LIKELY Content resembles scam or phishing ⚠️ Rare but serious

The template contains language commonly used in scam messages — requests for bank details, passwords, PINs, or language that impersonates official government/bank communications. Also triggered by fake urgency combined with financial requests.

❌ Rejected
URGENT: Your account is compromised. Share your OTP immediately to secure your account: {{otp}}
✅ Approved
{{otp}} is your {{brand}} verification code. This code expires in 10 minutes. Never share with anyone.

💡 Never ask customers to 'share their OTP' — OTP templates should only say the code and that it shouldn't be shared. Never combine urgency language with requests for financial information.

TEMPLATE_NAME_DUPLICATE Template name already exists ⚠️ Easy to fix

You already have an approved (or pending) template with the same name. Meta does not allow two templates with identical names in the same WABA, even if the content is different.

❌ Rejected
Template name: order_confirm (You already have an approved template called order_confirm)
✅ Approved
Template name: order_confirm_v2 or order_confirm_shipped or order_confirm_2026

💡 Use versioning in template names: order_confirm_v1, order_confirm_v2. Or use descriptive suffixes: order_confirm_cod, order_confirm_prepaid. Template names are lowercase_with_underscores, no spaces.

ABUSIVE_CONTENT Content violates WhatsApp policies ⚠️ Rare

The template contains content that violates WhatsApp's Business Policy — alcohol advertising, tobacco, gambling, drugs, adult content, weapons, or politically sensitive content that Meta considers harmful.

❌ Rejected
🍺 Celebrate Diwali with {{brand}} beer! Order now and get a free pint →
✅ Approved
(Alcohol advertising is not permitted on WhatsApp regardless of wording — this category cannot be resubmitted)

💡 WhatsApp prohibits advertising alcohol, tobacco, gambling, prescription drugs, and adult content regardless of legality in your country. These categories cannot be submitted at all via Meta's standard BSP programme.

MISSING_VARIABLE_EXAMPLES Variable examples not provided or too generic ⚠️ Common for new accounts

Meta requires sample values for every variable in your template. If you leave examples blank, or use placeholder examples like 'test', 'abc', or '123', Meta cannot evaluate the template and rejects it.

❌ Rejected
Body: Hi {{1}}, your {{2}} is ready. Examples: {{1}}=test {{2}}=item
✅ Approved
Body: Hi {{1}}, your {{2}} is ready. Examples: {{1}}=Priya Sharma {{2}}=lab report (CBC)

💡 Use real-looking example values that show Meta exactly what the final message will look like. Full names, real order numbers, realistic dates, actual product names. Never use 'test' or 'abc' as examples.

Flagged language

Words and phrases that consistently trigger rejection

Meta does not publish an official banned-words list. However, based on real submission data from Indian businesses, these categories of language reliably trigger either rejection or slower review.

⚠️ Urgency language (triggers promotional content filter)

Last chanceHurryAct nowLimited timeExpires todayDon't miss outOnly X hours leftToday onlyEnding soonFlash sale

⚠️ Absolute claims (triggers review escalation)

Guaranteed100% guaranteedBest price#1 in IndiaProven resultsZero riskNo questions asked100% free

⚠️ Vague promotional language (in utility templates)

Amazing dealUnbelievable offerExclusive for youSpecial offerBest dealIncredible savings

⚠️ These words don't automatically reject utility templates — they flag it for human review, which slows approval from 1–4 hours to 24–72 hours. For urgent template submissions, avoid all the above in utility templates.

✅ Language that speeds up approval

Utility templates with factual, transactional language approve in 1–4 hours consistently:

Your order is confirmed Track your order Your appointment is scheduled Payment received Your report is ready EMI due reminder Verification code Account update
Category selection guide

Utility vs Marketing — the decision that saves or costs you ₹0.58/conversation

Correct category selection is the single biggest variable in both approval speed and cost. Utility conversations cost ₹0.10–0.14. Marketing conversations cost ₹0.58–0.72 — 5× more. The difference matters at scale.

✅ Utility (₹0.10–0.14)

  • Order confirmation / dispatch / delivery
  • Appointment confirmation and reminder
  • Payment receipt / invoice
  • EMI / loan due reminder
  • Account alerts / security notifications
  • Lab report / prescription ready
  • Document request / KYC
  • Ticket raised confirmation
  • Subscription renewal confirmation
  • Booking confirmation (restaurant, hotel)

⚠️ Marketing (₹0.58–0.72)

  • Sale announcements / discount offers
  • Abandoned cart recovery
  • New product / collection launch
  • Re-engagement / win-back
  • Birthday / anniversary offers
  • Referral programme invites
  • Loyalty points balance
  • SIP / investment reminders
  • Webinar / event promotion
  • Upsell / cross-sell messages

🔐 Authentication (₹0.12–0.18)

  • Login OTP
  • Signup verification code
  • Transaction confirmation OTP
  • Password reset code
  • Two-factor authentication
Authentication templates are auto-approved instantly — no manual review.

⚠️ The grey area: COD confirmation + prepaid upsell in the same message is Utility. Abandoned cart + discount code is Marketing. Order shipped + "here's 10% off your next order" is Marketing, not Utility. When in doubt, choose Marketing — it's better than a rejection that delays your automation going live.

Pre-submission checklist

Check these 12 things before every template submission

Run this checklist before submitting any template to avoid the most common rejection reasons.

FAQ

Template rejection questions answered

How long does it take Meta to review a rejected template after resubmission?
After resubmission, Meta typically reviews within the same timeframe — 1–4 hours for utility, 4–48 hours for marketing. If you've addressed the rejection reason correctly, approval is usually faster on resubmission. If rejected again with the same code, the issue wasn't fully fixed. If rejected with a different code, you've resolved the first issue but introduced a new one.
Can I appeal a WhatsApp template rejection?
There is no formal appeal process — you resubmit with changes. If you believe a template was incorrectly rejected, edit it to be more clearly compliant and resubmit. WA.Expert's support team can advise on rewrite strategies for stubborn rejections — contact us via the dashboard.
My utility template got rejected as promotional — what do I do?
Remove all language that sounds like selling. The message should describe the transaction, not promote your business. Wrong: 'Your order is confirmed! Use NEXT10 for 10% off your next order.' Right: 'Your order is confirmed. Track delivery here.' If you want to include an offer, submit a separate Marketing template.
How many times can I resubmit a rejected template?
No official limit. However, submitting the same rejected content repeatedly without genuine changes can flag your WABA for closer scrutiny. Each resubmission should address the specific rejection code with a meaningful edit. If rejected three or more times, reconsider the fundamental approach — sometimes a completely different message structure is needed.
Does WA.Expert help with template rejection fixes?
Yes — WA.Expert's support team reviews rejected templates and advises on rewrites. Submit a support ticket from your WA.Expert dashboard with the rejected template content and rejection code. We typically respond with a rewrite recommendation within 4 business hours. Template approval is included in all WA.Expert plans.

Template Library

200+ templates already written to pass Meta review — copy and submit.

Browse all templates →

WhatsApp API Guide

Submit and manage templates programmatically via WA.Expert REST API.

API reference →

Template Message Guide

Complete guide to template structure, buttons, headers, and best practices.

Read guide →

Submit templates that get approved the first time

WA.Expert reviews your template before submission and flags potential rejection reasons. Most templates submitted via WA.Expert approve on first attempt.

Start Free Trial — Submit Templates → Talk to Our Team