The rejection arrives as a line in an email or a webhook, with no explanation worth reading. So teams do the natural thing: change a word, resubmit, get rejected again, and conclude that Meta is arbitrary.
It is not arbitrary. Template review checks a specific, documented set of things, and once you know what they are the fix is usually obvious.
Why do WhatsApp templates get rejected?
The single most common reason is that Meta disagreed with your category, not with your words. In Meta's own documentation, the REJECTED status "indicates that WhatsApp disagreed with the category you designated in your template creation request", and it carries the reason code INCORRECT_CATEGORY.
That is worth sitting with, because it reframes the whole problem. Your template was not too promotional, or badly written, or against policy. You submitted it as UTILITY and Meta reads it as MARKETING, so instead of quietly charging you the higher rate it refuses the template.
What are the three template statuses?
Every submission lands in one of three states, and Meta tells you which by email, in WhatsApp Manager, and over a webhook if you subscribed to one:
| Status | What it means |
|---|---|
| APPROVED | Meta agrees with your category and the template passed review. It can be sent. |
| PENDING | Still in review. Outcome arrives by email, manager alert, or webhook. |
| REJECTED | Category disagreement, or a policy failure. It cannot be sent. |
The status is per template and per language. A template approved in en_US and not submitted in en will fail at send time with error 132001, which reads like the template does not exist. It does. Just not in the language you asked for.
What are the parameter rules Meta enforces?
There are two parameter styles and they are not interchangeable. Getting this wrong is the second big class of rejection, and it is entirely mechanical.
Named parameters must be "unique, single strings, composed of lowercase characters and underscores, wrapped in double curly brackets". So {{first_name}} is valid. {{firstName}} is not, because of the capital. {{first name}} is not, because of the space. With named parameters the values may appear in any order when you send.
Positional parameters must be "ordered array index numbers, starting from 1, wrapped in double curly brackets": {{1}}, {{2}}, {{3}}. They must start at 1, they must be sequential, and when you send, the values have to appear in the order the placeholders appear in the text. Skip from {{1}} to {{3}} and it fails.
Mixing the two styles in one template is not allowed. Pick one.
At send time, a mismatch between how many parameters the template defines and how many you supply produces error 132000, and a value in the wrong format produces 132012. Neither is a rejection, but both are the same underlying carelessness showing up a step later. See the full error code reference.
What are the rules for authentication templates?
Authentication templates are the strictest category, and the rules are hard limits rather than guidance:
- Parameters are restricted to 15 characters. An OTP longer than that will not pass.
- URLs, media and emojis are not allowed in authentication template content or parameters.
If your OTP template keeps failing and you cannot see why, it is almost always one of those two. A tracking link in the footer is enough.
How do I appeal a rejected template?
You have three routes, and the third one is the one most teams never use.
- Change the category to the one Meta expects and resubmit. Fastest, and correct when Meta is right.
- Rewrite the content so it genuinely belongs to the category you want. If you need UTILITY pricing, the message has to actually follow up something the customer already did.
- Request a review. Meta keeps this open for 60 days from the rejection. Use it when you believe the categorisation is wrong and the content supports your case.
Watch out: Do not resubmit the same template unchanged and hope for a different reviewer. Repeated identical submissions are tracked, and enough of them can restrict your access to template review altogether. If you have nothing to change, appeal instead.
What to do before you submit anything
Most rejections are avoidable in about two minutes of checking:
- Read your own template as a stranger. Does it follow up something the customer did, or does it start something? That single question predicts Meta's category decision better than any rule list.
- Count your parameters. Sequential from 1, or all named and all lowercase. Never both styles.
- Never open or close the body with a parameter, and never place two back to back. A body that is mostly variable with little fixed text reads as a template designed to be filled with anything.
- Use your own domain in links. Not a shortener, not
wa.me. - Submit every language you intend to send, with the exact locale string your code will use.
- Accept the category you will actually be billed at. A first-contact message from an ad is marketing. Budget for it rather than fighting it.
At Kredoo we submit and manage templates for real estate, education and services teams across India, which mostly means writing first messages that earn a reply rather than ones that survive review by accident. If you would rather not learn this by rejection, that is what we do.
Questions people ask
Why was my WhatsApp template rejected?
The most common documented reason is INCORRECT_CATEGORY, meaning Meta disagreed with the category you selected when submitting. Meta's documentation states that REJECTED indicates WhatsApp disagreed with the category you designated in the template creation request. Other frequent causes are invalid parameter formatting, a body that opens or closes with a variable, link shorteners or wa.me URLs, and URLs or emojis inside authentication templates.
How long do I have to appeal a rejected WhatsApp template?
60 days from the rejection. Within that window you can request a review of the decision from WhatsApp Manager. After 60 days the option is gone and you have to create a new template instead.
Can I resubmit the same WhatsApp template after rejection?
You can, but you should not resubmit it unchanged. Repeated identical submissions are tracked and can lead to your template review access being restricted. Either change the category, change the content, or use the 60-day review request.
What is the correct format for WhatsApp template variables?
Either named parameters, which must be unique lowercase strings using only letters and underscores inside double curly brackets such as {{first_name}}, or positional parameters, which must be sequential index numbers starting at 1 inside double curly brackets such as {{1}}. The two styles cannot be mixed in one template.
Why does my WhatsApp template fail with error 132001 after being approved?
Because template approval is per language. Error 132001 means the template does not exist in the language you requested or is not approved in it. Requesting en when the template was approved as en_US produces this error even though the template itself is approved.
What are the rules for WhatsApp authentication templates?
Parameters in authentication templates are restricted to 15 characters, and URLs, media and emojis are not permitted in either the content or the parameters. A tracking link in the footer is enough to cause a rejection.
Stop losing leads to the follow-up gap
Kredoo captures leads from Meta and Google Ads, then follows up on WhatsApp automatically. Live in 5 minutes.
Get Started