Why your WhatsApp template was rejected, and how to get it approved
The handful of reasons Meta actually rejects message templates, what the rejections mean in plain English, and how to rewrite a template so it passes first time.
Template rejection is the most common early frustration on the WhatsApp Business API, and almost all of it comes down to five causes.
1. The variable is in the wrong place
Meta will not approve a template where a variable sits at the very beginning or the very end of the body, or where two variables sit side by side with nothing between them. The reasoning is that such a template could be filled with arbitrary content.
Fix: wrap variables in real words. A body that opens with the variable fails. Hello {{1}}, your order is ready passes.
2. It is promotional but submitted as utility
Utility templates are cheaper and reviewed more gently, so there is a temptation to file everything as utility. Meta reads the content, not the label.
One promotional sentence is enough. Your order has shipped is utility. Your order has shipped, check out our new arrivals is marketing.
Fix: keep them separate. Send the shipping update as utility and the new arrivals as a marketing template to a segment that opted in.
3. The content breaks WhatsApp commerce or business policy
Some categories are restricted outright, and templates mentioning them will not pass however they are worded. Meta publishes the current list, and it is worth reading before writing templates for a regulated business.
4. It reads like a pretext
Templates that exist only to reopen a conversation get rejected. The classic is Hi, are you there? or We tried to reach you. These carry no information, and Meta reads them as an attempt to get around the 24-hour window.
Fix: give the message an actual purpose. A follow-up with the quote attached is a real message. A nudge is not.
5. The name or the samples are wrong
Template names must be lowercase with underscores, no spaces or capitals. And the sample values you provide must be realistic, which is why submitting placeholder text is a common reason for a rejection that looks mysterious.
Writing one that passes first time
- One clear purpose per template.
- Variables surrounded by text, never leading or trailing.
- Category chosen honestly.
- Sample values that look like real data.
- Buttons that do what they say. A Track order button should carry a tracking link, not your homepage.
Do not test on your production number
Repeated rejections feed into your account quality rating, and a low rating lowers your messaging limits. Get the wording right before submitting rather than iterating live.
In TicAte you write, submit and track templates without opening Business Manager, and approval status syncs back against each one, so you know which are live before a campaign rather than during it.