Why templates get rejected
Every template is reviewed before approval, and the review is about two things: whether the content is allowed, and whether it is in the right category. The second is where most rejections come from.
Meta returns a reason code with the decision. INCORRECT_CATEGORY is the one operators meet most: a promotional message submitted as utility, which changes both what is permitted and what it costs.
- Miscategorisation — promotional content submitted as utility or authentication.
- Content that falls under a restricted category — the messaging policy lists these.
- Placeholder problems — variables at the very start or end, or a body that is nothing but variables.
- Wording that reads as something the recipient never asked for.
The three ways forward
A rejection is not the end of the template. Meta gives you three routes, and which one is right depends on whether the decision was correct.
- Edit the wording and resubmit — the right move when the content was the problem.
- Change the category and resubmit — the right move for INCORRECT_CATEGORY, and the honest one when the message really is marketing.
- Request a review — for when you believe the template was compliant as submitted. Decisions typically come back within 24 to 48 hours.
Categories are a cost decision as well as a policy one
Since 1 July 2025 WhatsApp is priced per message, and the category decides the price. Marketing and authentication are charged on every delivery. Utility is free inside an open customer service window and charged outside it. Service messages are free until 1 October 2026.
That is why miscategorisation is enforced rather than tolerated: submitting marketing as utility is submitting it at the wrong price. Getting the category right the first time is both the faster route through review and the cheaper one.
What you see in Messago
Templates are written and submitted from the app, and Meta’s decision comes back into the template list — including the rejection reason, rather than a bare "rejected". You edit and resubmit from the same screen.
Each template also carries its own quality rating once it has been sent enough to have one, so a template that was approved and is now doing badly is visible before it is paused.
