Three frosted-glass message cards on a dark background, one of them cracked, standing for rejected WhatsApp templates
How-to

WhatsApp Template Rejected in India (2026): 15 Reasons and a Fixed Version of Each

Resolve common WhatsApp template problems with 15 practical example revisions, including Hindi and Hinglish. Prepare a stronger submission and understand category changes; final approval belongs to Meta.

11 min readAmomic-AI

The short answer

  • 24 hoursmaximum review time Meta commits to; usually minutes
  • 15rejection reasons covered, each with a before and after
  • 7.5×what a marketing message costs over a utility message in India
  • 10edits allowed on an approved template per 30 days

A WhatsApp template is rejected for one of three kinds of reason: the variables are malformed, the content breaks a policy, or the category you picked does not match the text. Meta tells you which, in WhatsApp Manager and by email, and the fix is almost always a rewrite of one line. You can then edit and resubmit, or appeal with sample values attached.

The expensive mistake is not the rejection. It is the template that is approved as marketing when you meant utility, because you appended an offer to an order update. Meta charges ₹0.8631 per marketing message to an Indian number against ₹0.1150 for utility, and you accept the charge for whatever category applies at the time you send.

How Meta reviews templates, and where to read the reason

Every template is reviewed automatically when you create it and again when you edit it. Meta’s documentation commits to a decision within 24 hours; most come back in minutes. While it waits, the status is PENDING, and only APPROVED templates can be sent. Rejected, paused and disabled templates are refused by the API.

The decision arrives three ways: a notification in WhatsApp Manager, an email to your Meta Business Suite admins, and a message_template_status_update webhook. The webhook carries a reason field with one of a short list of values, and that list is the backbone of this page.

Webhook reasonWhat it meansWhere it is covered below
INVALID_FORMATVariables, braces, buttons or media are malformed. Since 2026 the webhook adds a rejection_info block with a plain-language reason and a recommendation.Variable errors; Names, buttons, media
TAG_CONTENT_MISMATCH / INCORRECT_CATEGORYThe text does not match the category you chose at creation.Category errors and cost
ABUSIVE_CONTENTContent violates Meta's policies: threats, shaming, sensitive data.Content errors
SCAMContent reads as fraudulent or deceptive.Content errors
PROMOTIONALPromotional content where it is not allowed.Category errors; Content errors
NONENot a rejection: the template was paused for quality.Edits, appeals, pausing
Rejection reasons as Meta sends them on the message_template_status_update webhook. Meta webhook reference checked October 10, 2026.

The full reason text lives in Business Support Home under your WhatsApp Business Account, in Rejected message templates. Inside Amomic, open the template in Template Studio and the same reason is shown on its detail dialog.

Variable errors: braces, numbering gaps, edge variables, too many placeholders

Variables are the positional placeholders {{1}}, {{2}} and so on. Meta’s review page lists five ways to get them wrong, and all five return INVALID_FORMAT. Each needs a sample value at submission, and the sample is what the reviewer reads.

1. The message starts or ends with a variable

Meta calls these dangling parameters and rejects them. The fix is words on both sides. This is the single most common rejection on a Hindi template, because a name at the start of a sentence is natural Hindi word order.

2. Numbering has a gap or is out of order

Placeholders must run 1, 2, 3 with nothing missing. A body that uses {{1}} and {{3}} because you deleted {{2}} in a draft is rejected. Renumber from 1.

3. Two variables touch, or there are too many for the text

{{1}}{{2}} with nothing between them is the example in Meta’s own webhook payload. Too many placeholders relative to the length of the message is rejected on the same ground: a reviewer cannot tell what the message says. Add fixed text, or cut placeholders.

4. Special characters, mismatched braces or missing samples

A placeholder cannot contain #, $ or %. A stray single brace is a mismatch. A sample of xxx or 123 is technically present, but a reviewer reading “Hi xxx, your order 123 has shipped” is being shown something that looks like spam. Use a real-looking name and reference.

ReasonProblem exampleSuggested revision
1. Dangling variable{{1}}, आपका ऑर्डर {{2}} भेज दिया गया है।नमस्ते {{1}}, आपका ऑर्डर {{2}} भेज दिया गया है। डिलीवरी {{3}} तक होगी।
2. Numbering gapHi {{1}}, your order {{3}} ships today.Hi {{1}}, your order {{2}} ships today.
3. Adjacent / too many{{1}}{{2}} {{3}} {{4}}Hi {{1}}, your {{2}} appointment is on {{3}} at {{4}}. Reply YES to confirm.
4. Bad sample valuesHi {{1}}, your order {{2}} has shipped. Samples: xxx, 123Hi {{1}}, your order {{2}} has shipped. Samples: Priya, AM-10428
Variable rejections and their fixed versions. Rules from Meta's template review documentation, checked October 10, 2026.

Content errors: sensitive data, prohibited goods, threats, unrelated surveys

These come back as ABUSIVE_CONTENT or SCAM, and the fix is sometimes a rewrite and sometimes a different message altogether.

5. Asking for sensitive identifiers

A template may not request full payment card numbers, financial account numbers, national ID numbers, or documents likely to contain them. Meta’s review page allows partial identifiers, and gives the last four digits as the example. An Aadhaar or PAN request in full is rejected; the last four digits of an account number pass.

6. Goods and services the Commerce Policy prohibits

Descriptions, prices and fees for goods are treated as transactions and must comply with the WhatsApp Commerce Policy. Its prohibited list, last updated September 23, 2026, includes alcohol and tobacco, drugs of any kind, medical and healthcare products, real-money gambling, adult products, dating services, multi-level marketing, payday loans and debt collection. A pharmacy can confirm a delivery; it cannot template a price list of medicines.

7. Threats and public shaming

Content Meta considers abusive or threatening is rejected, and its two named examples are threatening legal action and threatening to publicly shame the recipient. A payment reminder that states the amount, the date and a way to pay is a utility message. One that promises consequences is not.

8. A survey unrelated to a transaction

A feedback request is utility only when it is tied to a specific order or interaction. Meta’s categorization guide says a general or generic survey will not be approved as utility, so submit it as marketing or anchor it to the order number.

9. A duplicate of an existing template

If the body and footer wording match a template you already have, in any status, the new one is rejected and the notice names the existing template and language. Delete the old one or change the wording. Note that deleting by name removes every language version, and the name is blocked for 30 days.

10. Content a reviewer cannot read as a message

A body that is only a placeholder, or only “Congratulations!”, is classed as unclear. Meta defaults unclear content to marketing, and scam-like or spam-like text is rejected outright. Say what the message is about in fixed words.

ReasonProblem exampleSuggested revision
5. Sensitive dataकृपया KYC के लिए अपना पूरा आधार नंबर और बैंक खाता नंबर भेजें।नमस्ते {{1}}, KYC पूरा करने के लिए खाते के आख़िरी 4 अंक ({{2}}) की पुष्टि करें। नीचे टैप करें।
6. Prohibited goodsWeekend special: whisky and beer at 30% off, order on WhatsApp.Your order {{1}} from {{2}} has been delivered. Reply if anything was missing.
7. ThreatAapka payment overdue hai. 24 ghante mein pay nahi kiya to legal action liya jayega.Namaste {{1}}, aapka ₹{{2}} ka payment {{3}} tak due hai. Pay karne ke liye neeche tap karein.
8. Unrelated surveyHow was your week? Rate our brand from 1 to 5.We delivered your order {{1}} today. Was everything as expected? Reply 1 to 5.
9. DuplicateSame body and footer as order_shipped, submitted as order_shipped_v2Change the wording, or delete order_shipped first (all languages go with it).
10. Unclear{{1}}Hi {{1}}, your appointment at {{2}} is confirmed for {{3}}.
Content rejections and their fixed versions. Rules from Meta's template review and categorization documentation and the WhatsApp Commerce Policy, checked October 10, 2026.

A guide written by a vendor that sends templates should also say when the answer is no template. The whisky promotion above has no approved form on WhatsApp in India. The legal-threat reminder would be approved once softened, but if the customer has already asked you to stop, sending it is a block and a quality hit, not a collection. Some messages are rejected because they should not be sent, and the right fix is to not send them.

Category errors: utility submitted as marketing, and what it costs you

Meta assigns the category, not you. A utility template must be non-promotional and either specific to the customer’s order, account or transaction, or essential to them. Anything mixed, an order update with a promo in Meta’s own example, is marketing. Anything unclear is marketing.

11. A transactional message with an offer attached

This is the one that costs money. If you submit a template as utility and Meta decides it is marketing, it is not rejected: it is approved as marketing, and you pay the marketing rate from the first send. If an approved utility template is later found to be marketing, Meta gives one day’s notice, keeps it approved, and changes the category. After a misuse warning, the notice is dropped and the change is instant. You have 60 days to request a review in Business Support Home.

ReasonAt risk of rejection or reclassificationSuggested utility revision
11a. Order update + offer (Hinglish)Aapka order {{1}} ship ho gaya hai. Next order par 20% off: code SAVE20!Namaste {{1}}, aapka order {{2}} ship ho gaya hai aur {{3}} tak pahunch jayega. Track karne ke liye neeche tap karein.
11b. Renewal with upsellYour plan ends on {{1}}. Upgrade now and get 2 months free.Your {{1}} plan ends on {{2}}. Renew any time before then from the link below.
11c. Delivery + review nudgeOrder {{1}} delivered! Rate us 5 stars and get ₹100 off.Your order {{1}} was delivered today. Reply if anything was missing or damaged.
Category rejections and reclassifications with their fixed versions. Meta categorization guide checked October 10, 2026.
Monthly sendsBilled as utility (₹0.1150)Billed as marketing (₹0.8631)Extra you pay
1,000₹115₹863.10₹748.10
10,000₹1,150₹8,631₹7,481
50,000₹5,750₹43,155₹37,405
What the reclassification costs on Meta's India rate card, INR per delivered message to an Indian (+91) number, effective July 1, 2026 and unchanged on the October 1, 2026 card. Excludes GST and platform subscriptions. Meta rates checked October 10, 2026.

Hindi and Hinglish templates: what passes, what fails

Meta does not translate template text or sample values. It reviews what you wrote, in the language you declared, with the samples you supplied. That gives Indian-language templates three failure modes that English ones rarely hit.

12. The script and the language code disagree

A template is identified by its name and language code together. Submit Devanagari under hi and write every part in Devanagari, including the samples and button labels. Romanised Hinglish has no language code of its own, so submit it as en and keep the samples in the same Latin script. A Devanagari body with English samples, or a Hinglish body filed as hi, reads as a mismatch to the reviewer.

Natural Hindi puts the variable first

“{{1}} जी, आपका ऑर्डर…” is good Hindi and a guaranteed rejection, because it dangles. Start with नमस्ते, प्रिय or a fixed noun. The same applies to the end of the message: do not finish on a date or an amount placeholder; finish on a verb or a fixed closing line.

Offers hide in polite Hindi

“साथ ही, अगले ऑर्डर पर 10% छूट” at the end of a delivery message turns it into marketing exactly as the English would. Meta reviews the meaning. Put promotions in a separate marketing template that the customer has opted into.

ReasonProblem exampleSuggested revision
12. Script vs codeLanguage hi; body: Namaste {{1}}, aapka appointment {{2}} ko confirm hai. Sample: RahulLanguage en; body: Namaste {{1}}, aapka appointment {{2}} ko confirm hai. Samples: Rahul, 12 Oct 4 PM
1. Dangling, Hindi{{1}} जी, आपकी बुकिंग {{2}} को है।नमस्ते {{1}} जी, आपकी बुकिंग {{2}} को {{3}} बजे है। बदलने के लिए नीचे टैप करें। Samples: प्रिया, 12 अक्टूबर, 4
11. Hidden offer, Hindiआपका ऑर्डर {{1}} डिलीवर हो गया है। अगले ऑर्डर पर 10% छूट पाएँ!नमस्ते {{1}}, आपका ऑर्डर {{2}} आज डिलीवर हो गया है। कोई समस्या हो तो जवाब दें।
Utility, Hinglish, passes—Namaste {{1}}, aapka ₹{{2}} ka payment mil gaya hai. Receipt neeche hai. Samples: Asha, 1,499
Illustrative Hindi and Hinglish template revisions with sample values; approval is subject to Meta review. Rules from Meta's template review and categorization documentation, checked October 10, 2026.

One template name can hold several languages. Approve the English version, duplicate it with the same name and language hi, and your code sends whichever the customer’s language calls for. Meta matches on the name and language pair, not on an id.

Naming, length, buttons and media headers

13. The name breaks the pattern

Names are lowercase letters, numbers and underscores only, up to 512 characters at Meta and 128 in Amomic. No spaces, no capitals, no hyphens. Name the template after the event that sends it, order_shipped rather than template_final_v3; customers never see the name.

14. Buttons that break the layout rules

Up to 10 buttons, but WhatsApp shows three and hides the rest behind “See all options”. Button text is 25 characters, with at most 2 URL buttons and 1 phone button. Quick replies must be grouped together: quick reply, URL, quick reply is rejected. A URL button may end in one variable and needs a sample of the full link.

15. A media header without a sample, or a body over the limit

An image, video or document header must be uploaded through Meta’s Resumable Upload API and the sample asset is reviewed with the template. Text headers are 60 characters, one variable, no Markdown characters. The body is 1,024 characters, the footer 60 with no variables. In Amomic the Template Studio uploads the cropped image you confirm as the review sample and attaches it again on every send.

ReasonProblem exampleSuggested revision
13. NameOrder-Shipped Finalorder_shipped
14. ButtonsQuick reply “Yes”, URL “Track order”, quick reply “No” (mixed order); label “Track your shipment status now” (31 chars)Quick replies “Yes” and “No” together, then URL “Track order” (11 chars) ending in {{1}} with sample https://example.in/t/AM-4821
15. Media / limitsImage header with no sample uploaded; footer “Reply STOP to opt out of {{1}}”Image header with the sample JPEG uploaded; footer “Reply STOP to opt out”
Structural rejections and their fixed versions. Limits from Meta's template components documentation, checked October 10, 2026.

Resubmission limits, appeals and the paused state

Editing an approved template

Only templates in APPROVED, REJECTED or PAUSED status can be edited. An approved template may be edited up to 10 times in a 30-day window, and no more than once in 24 hours. Rejected and paused templates can be edited without limit. You cannot change the category of an approved template. An edited template goes back through review and is re-approved unless it fails.

Appealing a rejection

In WhatsApp Manager, open the template, edit it if needed, click Add Sample, supply values for every variable and any media, then Submit. Meta decides appeals within 24 hours. A template rejected for category cannot be appealed through the category-update flow; fix the text instead. Templates that were reclassified from utility to marketing while approved can be reviewed within 60 days.

Paused is not rejected

If a template’s quality rating falls to Low, Meta pauses it to protect your phone number’s rating. The first pause is 3 hours, the second 6 hours, and the third disables it. Sends during a pause are refused by the API, not charged, and do not count against your messaging limit. The template unpauses on its own and the rating is recalculated from recent feedback. The webhook reports reason: NONE with a title of FIRST_PAUSE or SECOND_PAUSE.

A low rating means customers are blocking or reporting the message. Editing the text does not fix who you sent it to. Before the second pause, narrow the audience to people who opted in or bought recently, and read the sending rules for the caps Amomic applies on top.

Troubleshooting inside Amomic: template_not_approved and variable errors

Templates are created and submitted from Adya’s Template Studio and used in campaigns. The composer refuses the variable mistakes above before submission, and the campaign review step names any remaining block with a code. The ones that relate to templates:

CodeWhat happenedWhat to do
template_not_approvedThe template is still pending or was rejected. Meta usually takes minutes, occasionally a day.Wait for approval, read the rejection reason on the template's detail dialog, or pick an approved template.
template_not_foundNo approved template with that name. Pending and rejected both return this 404 over the API.Check the name (lowercase, underscores) and the status in Channels → WhatsApp → Templates.
template_variablesThe number or shape of values does not fit the placeholders.Count the placeholders; send one value per {{n}} in order.
missing_variableA recipient had no value for a personalised field, so that row was skipped rather than sent blank.Fill the column in your audience, or use a fixed value in the template.
unknown_variableA script or template references a column the uploaded list does not have, usually after swapping files.Remove the red chip, or upload a list with that column.
template_media_missingThe template needs an image header and none is available.Re-attach the saved image, or pick a text-header template.
Template-related campaign codes in Amomic, from docs.amomic.in, checked October 10, 2026.

Meta bills template messages separately to your connected WhatsApp account at its rate card, with no Adya template markup. Adya charges by conversation, including business-initiated sends. WhatsApp is available on paid plans; Growth includes outbound campaigns. The full code table is in campaign troubleshooting, and the rules that decide who is messaged are in sending rules. Adya is built for the world, built in India, and these are the rejections our Indian customers actually hit.

Frequently asked questions

Sources

  1. 1.Meta for Developers — Template review (variable rules, sensitive data, abusive content, duplicates, appeals, 24-hour decision)
  2. 2.Meta for Developers — Template categorization (utility vs marketing rules, mixed and unclear content, recategorization notice and 60-day review)
  3. 3.Meta for Developers — Template components (header, body, footer, button and media limits)
  4. 4.Meta for Developers — Template management (editing limits, deletion, 30-day name block)
  5. 5.Meta for Developers — Template pausing (3-hour, 6-hour and disabled instances)
  6. 6.Meta for Developers — message_template_status_update webhook reference (event and reason values, rejection_info)
  7. 7.Meta for Developers — Message templates overview (names, review up to 24 hours, statuses, template limits)
  8. 8.Meta for Developers — Pricing on the WhatsApp Business Platform (rate cards effective July 1, 2026; category charge at time of use)
  9. 9.WhatsApp Business — Commerce Policy (prohibited goods and services, updated September 23, 2026)
  10. 10.Amomic docs — WhatsApp templates (composer rules, statuses, languages, duplicate-as-new)
  11. 11.Amomic docs — Campaign troubleshooting (template_not_approved, unknown_variable and other launch codes)
  12. 12.Amomic docs — Sending rules (every refusal code, missing_variable, template_variables)