Meta reviews every template you submit. Most rejections come down to a small set of recurring issues. This page covers the common ones and what to change before resubmitting. For the format itself (categories, headers, buttons, variables) see Template reference.Documentation Index
Fetch the complete documentation index at: https://knowledge.flowella.io/llms.txt
Use this file to discover all available pages before exploring further.
Where to read the rejection reason
In Flowella, open Templates and find the rejected template. The rejection reason returned by Meta appears on the template page, usually as a short string likeINVALID_FORMAT or a sentence explaining the issue.
Common rejection reasons
Wrong category
You submitted a Marketing-style message under Utility. Common signs:- Promotional copy (“Sale ends Friday”, “Get 20% off”)
- An offer or coupon
- Re-engagement messaging
Promotional language in Authentication
Authentication templates can contain only the verification code and minimal supporting text. Anything that reads like marketing — branding statements, offers, links to your site — will be rejected. Strip back to the code, an expiry note, and “Do not share this code”.Sample variable values don’t match the body
When you add a variable like{{1}}, Meta requires a sample value that matches what you’d really send. Common mistakes:
- A sample link that’s a generic homepage when the body promises an order tracking page.
- A sample name with special characters that imply unsupported formatting.
- Samples that don’t match the template’s tone (e.g.
Johnfor a first name when the body addresses the recipient as “Customer”).
Spammy text in the body
These get rejected fast:- Excessive capitalisation (
FREE!!!) - Multiple exclamation marks
- “Click here” without context
- Over-promising language (“guaranteed”, “100% off”)
- Misleading urgency (“Last chance!” without a real deadline)
Variable indexes out of order
Variables must be sequential starting from{{1}}. {{1}} then {{3}} will be rejected. Renumber so they go {{1}}, {{2}}, {{3}} in order.
Broken or unreachable media header
For IMAGE, VIDEO, and DOCUMENT headers, Meta tries to fetch the URL during review. If it 404s, redirects through a login page, or is blocked by your CDN to non-browser user-agents, the template is rejected. Host on stable infrastructure that allows Meta’s crawler.Buttons that don’t comply
- Quick reply labels longer than 25 characters
- URL buttons whose URL pattern doesn’t make sense (
https://example.com/{{1}}with a sample ofnot-a-path) - Phone buttons in non-E.164 format
Duplicate template name
A WABA cannot have two templates with the samename and language. If you re-submitted with the same name without removing the old one, the new one will be rejected. Either pick a new name, or delete the old version first.
Resubmitting
After fixing the issue:- Open the rejected template in Flowella.
- Click Edit.
- Apply your changes.
- Submit again. The template re-enters the
PENDINGstate and Meta usually responds within 24–48 hours.
Still rejected after fixing?
If the same template is rejected twice and you can’t see why, contact support with:- The template name and language
- The full rejection reason from Meta
- A screenshot of the template body, header, and buttons

