Conecxt
Create account

Resources Insight

Why WhatsApp rejected your template, and how to fix each reason

Meta's rejection notice usually gives you one line and a code. Behind it sit a short list of rules, most of them about curly braces. Once you know the list, most rejections take five minutes to fix.

Conecxt team Updated 8 min read

Share WhatsApp LinkedIn

The short version

  • Most rejections are format problems: unmatched braces, variables out of order, a template that starts or ends with a variable, or too many variables for the length.
  • Every variable needs a sample value when you submit. Write samples that look like real data, because the reviewer judges the message as the customer will see it.
  • A utility template that reads like marketing is usually approved as marketing, not rejected. In India that costs ₹0.8631 per delivered message instead of ₹0.115.
  • Rejected templates can be edited and resubmitted as often as you like. Approved ones can be edited once in 24 hours and 10 times in 30 days, so fix drafts before approval.

Jaspreet Gill handles orders for a home-furnishing brand in Ludhiana. On a Tuesday evening she submitted a shipping update so the warehouse could start sending it the next morning. Twenty minutes later it came back rejected, with a single word as the reason: “Invalid format”. The template looked fine to her. It began with the customer’s name, as every message from her team does.

That was the problem. A WhatsApp template can’t start with a variable. She moved “Hi” in front of it, resubmitted, and had an approval before dinner.

Most rejections are like this. The rules are short and mechanical, and Meta publishes them. The trouble is that the rejection notice rarely tells you which rule you broke.

Where to find the actual reason

In WhatsApp Manager, rejected templates carry a short reason. If your provider receives Meta’s template status webhook, the rejection comes with one of these codes:

CodeWhat Meta’s reference saysSection below
INVALID_FORMATThe template has an invalid formatVariables, samples, length, duplicates
INCORRECT_CATEGORY or TAG_CONTENT_MISMATCHThe content doesn’t match the category chosen when the template was createdCategory
PROMOTIONAL, ABUSIVE_CONTENT or SCAMThe template contains content that violates Meta’s policiesPolicy

For INVALID_FORMAT, the webhook can also carry a rejection_info field with a reason and a recommendation. Ask your provider to show you that text. It’s the most specific hint Meta gives.

Invalid format: five rules about variables

Meta’s template review page lists these as common rejection reasons. Each one is easy to check before you submit.

1. Braces must match

Every variable is two opening braces, a number, two closing braces. A missing brace, a single brace or a space in the wrong place fails.

Wrong:  Your order {{1} has shipped.
Wrong:  Your order { {1} } has shipped.
Right:  Your order {{1}} has shipped.

2. Variables must run in order

Start at 1 and don’t skip. If you deleted a line while editing, check that {{3}} didn’t survive without a {{2}}.

Wrong:  Hi {{1}}, your order {{3}} is packed.
Right:  Hi {{1}}, your order {{2}} is packed.

3. No special characters inside a variable

Meta names #, $ and %. Keep the symbol in the fixed text and put only the value in the variable.

Wrong:  Your order {{#1}} is confirmed.
Right:  Your order #{{1}} is confirmed.

4. Don’t start or end with a variable

This is the one that caught Jaspreet. Put a word before the first variable and a full stop or a word after the last.

Wrong:  {{1}}, your parcel is out for delivery with {{2}}
Right:  Hi {{1}}, your parcel is out for delivery with {{2}} today.

5. Not too many variables for the length

A short body stuffed with variables looks like an empty shell that could carry any message. Meta doesn’t publish a ratio. In practice, if a two-line template has four or five variables, write more fixed text around them or cut some.

Meta also accepts named variables in place of numbers, written in lowercase with underscores, such as {{order_number}}. The same rules apply, and names must be unique within the template.

The sample values matter more than people think

If a template has variables, Meta requires a sample value for each one when you submit. The reviewer reads the template with your samples filled in, as a customer would see it.

Weak samples cause rejections that look random. A sample of “test”, “abc” or “1” tells the reviewer nothing, and a sample that doesn’t fit the sentence (“Your order Kavya has shipped”) makes the template look broken. Use samples that read like real data: an order number in your real format, a plausible date, a product name from your catalogue. Never paste a real customer’s details.

If you appeal a rejection, Meta asks for a sample then too.

Length and parts

Meta’s components page sets these limits:

PartLimit
Header (text)60 characters, one variable at most
Body1,024 characters
Footer60 characters
Button text25 characters
ButtonsUp to 10 in total

The review page adds that the body limit depends on the format and that the number of emojis in the body “may also be limited”. It gives no number. We keep emojis to one or two in a body and none in utility templates, which also helps with the category question below.

Duplicate templates

A template whose body and footer match one you already have is rejected as a duplicate. This usually happens when someone creates “order_shipped_v2” to change a button and leaves the text identical. Edit the existing template instead, or change the wording.

Policy rejections

These are rarer, and harder to argue with.

  • What you sell. WhatsApp’s Commerce Policy restricts categories including alcohol and tobacco, drugs, medical and healthcare products, real-money gaming, adult products, multi-level marketing and debt collection. If your product is on that list, rewording won’t help.
  • Sensitive identifiers. Don’t ask customers to send a full card number, bank account number or national ID such as an Aadhaar number in reply. Ask for the last four digits, or send them to a secure page.
  • Threats and pressure. “Pay today or we will take legal action” is the example Meta gives. A payment reminder can be firm. It can’t threaten.

When the category is the problem

Here the rules changed in 2025, and many guides are out of date.

Since 9 April 2025, if you submit a template as utility and Meta decides it’s marketing, Meta approves it as marketing rather than rejecting it. You won’t see a rejection at all. You’ll see an approved template that costs ₹0.8631 per delivered message in India instead of ₹0.115, before GST, on Meta’s rate card effective 1 July 2026 and unchanged on 1 October.

It can happen after approval too. Meta gives one day’s notice before switching an approved utility template to marketing, and no notice to businesses already warned for misuse. Since a 15 September 2026 clarification, even a template whose category you had confirmed on review can be switched if what it actually sends doesn’t match. A “utility” shipping update whose variable is later filled with a discount code is exactly that case.

Utility has to pass two tests: no promotional intent at all, and either specific to something the customer did or essential to them. A delivery update passes. A delivery update with “Use code FESTIVE10 on your next order” fails, and the whole template becomes marketing. Cart reminders and renewal nudges are marketing even when the customer asked for them. We cover the full list in how Meta decides a message’s category.

The exception is authentication. A template that should be authentication but was submitted as something else is rejected on the 1st of the following month. OTP templates must come from Meta’s template library, with no URLs, media or emojis, and parameters of 15 characters or fewer.

You can ask Meta to review a category decision within 60 days.

What to do after a rejection

Edit and resubmit

A rejected template can be edited any number of times, and review takes up to 24 hours. Most format fixes are approved well inside that.

Appeal only when you’re sure

If you believe the reviewer got it wrong, request a review with a clear sample. Appeals are also decided within about 24 hours. If the rejection was for format or policy, fixing the template is faster than arguing.

Get the draft right before approval

Once a template is approved, you can edit it at most once in 24 hours and 10 times in 30 days, and you can’t change the category of an approved template. If you delete an approved template, its name is locked for 30 days, which matters if your integration sends templates by name.

Leave time before a big send

New templates can be paced: Meta sends the first messages, then holds the rest while it waits for early feedback. Meta’s stated goal is that even paced campaign messages are delivered within an hour for 99% of cases. That’s fine for a Tuesday newsletter and tight for a flash sale that ends at midnight. Create festive templates a week or two ahead and use them on a small group first.

A two-minute check before you submit

  • Does the body start and end with fixed text, not a variable?
  • Do the variables run 1, 2, 3 with no gaps, each with two braces on both sides?
  • Are symbols such as #, ₹ or % outside the braces?
  • Is there enough fixed text that the message makes sense on its own?
  • Does every variable have a realistic sample value?
  • Is the text different from every template you already have?
  • If it’s utility, would it still make sense if you had nothing to sell?
  • Does it avoid asking for full card, bank or ID numbers, and avoid threats?

If a template has been rejected twice for “Invalid format” and you can’t see why, read it aloud with the samples filled in. The broken variable is usually the first or last word.

Common questions

Why was my WhatsApp template rejected?

Most rejections are format problems: unmatched braces, variables out of order, special characters inside a variable, a template that starts or ends with a variable, or too many variables for the length. Others come from weak sample values, text that duplicates an existing template, or content that breaks Meta's policies.

What does INVALID_FORMAT mean for a WhatsApp template?

INVALID_FORMAT is the code Meta's template status webhook sends when a template has an invalid format. It covers problems with variables, sample values, length and duplicates. The webhook can also carry a rejection_info field with a reason and a recommendation, so ask your provider to show you that text.

Why was my utility template approved as marketing?

Since 9 April 2025, if you submit a template as utility and Meta decides it is marketing, Meta approves it as marketing instead of rejecting it. In India that costs ₹0.8631 per delivered message instead of ₹0.115, before GST. You can ask Meta to review a category decision within 60 days.

How many times can I edit a WhatsApp template?

A rejected template can be edited and resubmitted any number of times, and review takes up to 24 hours. An approved template can be edited at most once in 24 hours and 10 times in 30 days, and its category cannot be changed, so get the draft right before approval.

Sources

  1. Template review (Meta for Developers) · Updated 17 Jun 2026
  2. Template categorization (Meta for Developers) · Updated 15 Sep 2026
  3. message_template_status_update webhook reference (Meta for Developers) · Read 1 Oct 2026
  4. Template components (Meta for Developers) · Read 1 Oct 2026
  5. Template management (Meta for Developers) · Read 1 Oct 2026
  6. Template pacing (Meta for Developers) · Read 1 Oct 2026
  7. Pricing on the WhatsApp Business Platform (Meta for Developers) · India rates effective 1 Jul 2026, unchanged on the 1 Oct 2026 card
  8. WhatsApp Business Messaging and Commerce Policy · Last updated 23 Sep 2026
Share WhatsApp LinkedIn

Get the next one

One email when something new is published. Nothing else.

Unsubscribe from any email. See our privacy policy.

Run this on your own number

Create an account, connect your WhatsApp number, and invite your team.