Key takeaways
- Meta reviews every template with automated systems plus manual review. A decision can take up to 24 hours.
- Most rejections are fixable formatting problems: broken braces, special characters, gaps in numbering, or a variable at the start or end.
- Commerce Policy and Business Policy rejections are about what you say: restricted goods, sensitive data requests, threats or placeholder links.
- You can edit and resubmit, or appeal with sample values. Editing is usually faster when the reason is clear.
- Social Intents shows the reason in plain language, links to WhatsApp Manager and lets you edit and resubmit without leaving the app.
On this page
Why WhatsApp templates get rejected
On the WhatsApp Business Platform you can only start a conversation, or message someone after the 24-hour customer service window closes, with an approved message template. Every template you create goes through review first. Meta checks it with a mix of automated systems and manual review, and rejects anything that looks like spam or a scam or breaks WhatsApp's policies.[1]
A decision can take up to 24 hours. Approved templates show as Active (APPROVED in the API) and can be sent right away. Rejected templates can be edited and resubmitted, or appealed.[1] Category is checked too: Meta compares the category you picked (marketing, utility or authentication) with the content and can reject a template with the reason INCORRECT_CATEGORY.[2]
The good news: the reasons are predictable. Meta publishes its most common rejection reasons, and nearly every rejected template we see falls into one of the twelve below.
Where to find your rejection reason
Before you change anything, read the actual reason. Meta delivers it in four places:
- WhatsApp Manager shows a notification and the template's status under Message templates.
- Email goes to your Meta Business Suite admins with the decision.
- Business Support Home lists rejections under your account's Rejected message templates, including the name of the original when a duplicate is rejected.
- The message_template_status_update webhook reports the status and a reason code for tools that integrate with the API.
If you use Social Intents, the reason appears next to the template in plain language, so you don't need to decode Meta's labels.
12 WhatsApp template rejection reasons, with fixes
The first six are formatting and setup problems you can fix in a minute. The rest are about content and category. Variables are highlighted {{like this}}.
Mismatched or broken curly braces
Invalid formatBefore
Hi {{1}, your order {2}} is ready for pickup.
After
Hi {{1}}, your order {{2}} is ready for pickup at our Main Street store.
Fix: Every variable needs two opening and two closing braces: {{1}} for positional or {{first_name}} in lowercase for named parameters.
Special characters inside variables
Invalid formatBefore
Your total is {{$total}}. Use code {{#promo}} at checkout.
After
Your total is {{1}}. Use code {{2}} at checkout before Sunday.
Fix: Variables can't contain characters such as #, $ or %. Put the currency symbol in the sample value or the surrounding text, not in the variable name.
Variables out of sequence
Invalid formatBefore
Hi {{1}}, your {{2}} with {{5}} is on {{4}}.
After
Hi {{1}}, your {{2}} with {{3}} is booked for {{4}}.
Fix: Positional variables must count up in order with no gaps. Renumber them before you submit.
Too many variables for the text
Invalid formatBefore
{{1}} {{2}}, {{3}} {{4}} on {{5}}.
After
Hi {{1}}, your delivery from Brightside Coffee arrives on {{2}}. Reply here if you need to change the address.
Fix: Meta rejects templates that are mostly placeholders. Add real context around the variables or reduce how many you use.
Starts or ends with a variable
Invalid formatBefore
{{1}}, your appointment is confirmed for {{2}}
After
Hi {{1}}, your appointment is confirmed for {{2}}. See you then!
Fix: Dangling parameters aren't allowed. Put at least a word before the first variable and finish the message with text.
Missing or unhelpful sample values
Missing samplesBefore
Samples: {{1}} = test, {{2}} = abc
After
Samples: {{1}} = Maria, {{2}} = Thursday, May 14 at 3:00 PM
Fix: Meta requires samples for every variable and an appeal must include them. Realistic samples show reviewers exactly what customers will see.
Placeholder or sample links like example.com
Commerce PolicyBefore
Track your order here: https://example.com/track/{{1}}
After
Track your order here: https://[your live domain]/track/{{1}}
Fix: Use a real, working domain you own. We have seen templates with placeholder links rejected under the Commerce Policy label. Social Intents blocks example.com-style links before you submit.
Promoting restricted goods
Commerce PolicyBefore
Weekend deal: 20% off vape kits and e-liquids. Shop now!
After
Weekend deal: 20% off all brewing gear and coffee subscriptions. Shop now!
Fix: Tobacco, firearms, drugs and other restricted categories can't be sold over WhatsApp, apart from limited regulated exceptions in allowed countries. Rewording won't help; remove the restricted items.
Asking for sensitive identifiers
Business PolicyBefore
To confirm your order, reply with your full card number and security code.
After
Your payment for order {{1}} didn't go through. Please update the card ending in {{2}} in your account settings.
Fix: Never ask for full card numbers, bank account numbers or national ID numbers, or documents that contain them. Partial identifiers, like the last four digits, are fine.
Threatening or shaming language
Abusive contentBefore
Pay {{1}} today or we will take legal action and report you.
After
Friendly reminder: invoice {{1}} for {{2}} is due on {{3}}. Pay online or reply here if you need more time.
Fix: Templates that threaten legal action or public shaming are rejected. A clear, polite reminder with a way to get help works better anyway.
Same wording as an existing template
DuplicateBefore
order_update_v3: Your order {{1}} has shipped. (Body and footer identical to order_update_v2)
After
Reuse the approved order_update_v2, or change the wording meaningfully before submitting a new one.
Fix: Meta rejects a template whose body and footer match one you already have. Business Support Home shows the name of the existing template.
Category doesn't match the content
Incorrect categoryBefore
UTILITY: Your order {{1}} has shipped! Use code SAVE10 for 10% off your next order.
After
UTILITY: Your order {{1}} has shipped and should arrive by {{2}}. + a separate MARKETING template for the offer.
Fix: Mixed messages are marketing. Meta now approves mis-labeled utility templates as marketing, and other mismatches can still be rejected as INCORRECT_CATEGORY.
Two more rules are worth knowing. Each component has a length limit; a text header, for example, allows up to 60 characters, and the body has its own limit that can vary by format.[3] And every language is a separate template, so a template approved in English still needs its own review in Spanish.
WhatsApp Commerce Policy template rejected? Read this
"Commerce Policy" is the most confusing rejection label because it can appear on templates that don't look like sales messages. Meta's review documentation explains why: when you offer goods or services for sale, every message and piece of media about them, including descriptions, prices, fees, taxes and legal disclosures, counts as a transaction, and transactions must follow the WhatsApp Commerce Policy.[1]
WhatsApp's policy points to Meta's Commerce Policy and lists restricted categories that include firearms, alcohol and tobacco, drugs, medical and healthcare products, hazardous goods and real, virtual or fake currency. A few categories, such as alcohol, over-the-counter drugs and online gambling, have limited exceptions in listed countries with age gating and licensing.[4]
If you got a Commerce Policy rejection, check these in order
- Does the template or its media mention a restricted product? If so, remove it; rewording won't get it approved.
- Do any links, buttons or sample values use placeholder domains like example.com or test domains? Replace them with your real, live pages. Full links are also easier for reviewers to check than shortened ones.
- Are prices, fees or terms vague or misleading? State them plainly.
- Still sure it's compliant? Appeal with clear sample values, or ask Meta support to review it.
The placeholder link problem is more common than it sounds. Many template libraries pre-fill sample URLs so you can see the layout, and it's easy to submit them unchanged. That's why Social Intents' own library leaves links and phone numbers blank and checks for placeholders before anything is sent to Meta.
How to fix a rejected WhatsApp template and resubmit
You have three options: edit and resubmit, appeal, or create a new template. Here's the edit path in WhatsApp Manager, based on Meta's documentation.[1]
- 1Open WhatsApp Manager, go to Account tools, then Message templates. Pick the right account if you have more than one.
- 2Open the rejected template and fix the specific reason using the examples above.
- 3Click Add Sample and enter realistic sample text and media for every variable.
- 4Click Submit. Meta reviews the change, and an appeal decision also arrives within 24 hours.
When the template is an exact duplicate, don't fight it: reuse the existing approved template. When the category was wrong, either change the category or split the message so the transactional part stays utility and the offer goes in a separate marketing template. For the utility vs marketing line, see our order update templates and account alert templates, which are written to stay utility.
How Social Intents helps you get templates approved
The template manager inside Social Intents is built around the problems above, so fewer templates get rejected and the ones that do get fixed fast.
Plain-language rejection reasons
Meta's reason codes are translated into a sentence that says what went wrong and what to change.
One click to WhatsApp Manager
Need Meta's full notice or an appeal? Each template links straight to the right place in WhatsApp Manager.
Edit & resubmit
Rejected, paused and approved templates can be edited and sent back for review from the same screen.
Placeholder checks before submit
Links like example.com, .test or localhost, and fictional 555-01xx phone numbers, are blocked before they reach Meta.
90 ready-made templates
Start from a library of 90 templates across 34 category pages, written with Meta's guidelines in mind, then add your own details.
Status that updates itself
Pending templates are re-checked automatically, so you see Approved as soon as Meta decides.
Approved templates then flow straight into WhatsApp broadcasts to opted-in contacts, sent through the official Cloud API. Replies come back to your team in Slack, Microsoft Teams, Google Chat or the web inbox, with unlimited agents from the Basic plan.
Pre-submission checklist
Run through this before every submission. Tick the boxes as you go.
Template ready to submit?
0 of 10 checks
Planning templates around consent? Our WhatsApp opt-in guide has confirmation messages written to qualify as utility.
Sources
All sources checked on November 2, 2026. Meta updates review rules regularly.
- Meta for Developers: Template review — common rejection reasons, appeals, 24-hour review
- Meta for Developers: Template categorization — INCORRECT_CATEGORY and the April 9, 2025 change
- Meta for Developers: Template components — component limits such as the 60-character text header
- WhatsApp Business Messaging Policy, including the Commerce section — restricted and regulated categories
- Meta for Developers: Migrate WABAs among solutions — template duplication when switching providers