
If you send anything to a customer on WhatsApp outside a 24-hour conversation window — an appointment reminder, an order update, a promo — it has to go out as a pre-approved message template. Meta reviews every template before you can use it, and rejections are common in the first week of using the API. The good news: almost every rejection comes down to a handful of predictable mistakes.
This guide covers how to get a WhatsApp message template approved on the first submission: how Meta categorises templates, how to format variables so they don't get flagged, the specific reasons templates get rejected, and how to fix each one. If you're still on the free WhatsApp Business app and haven't hit the template system yet, start with the complete guide to the WhatsApp Business API — templates only apply once you're on the API.
Why templates exist (and why review is stricter than you think)
Meta uses templates to stop the API from becoming a spam channel. A template is a pre-written message with fixed text and a few {{1}} placeholders you fill in at send time. Review usually takes a few minutes to a few hours, occasionally up to 24. The reviewer — increasingly an automated system with human spot-checks — is checking three things: which category you chose, whether the content matches that category, and whether the message is clear and non-abusive.
Get the category wrong and you'll either be rejected or silently re-categorised into a more expensive tier. That's the single most common and most costly mistake.
Step 1: Choose the right category
Since 2023, WhatsApp templates fall into three categories, and pricing is billed per category (utility is cheaper than marketing in most markets). Pick the one that genuinely matches your message — don't dress up a promo as a notification.
| Category | What it's for | Example | Notes |
|---|---|---|---|
| Utility | A transaction or account event the customer expects | "Your appointment is confirmed for Thursday 3pm." | Cheaper; must relate to a specific transaction |
| Marketing | Promotions, offers, re-engagement, newsletters | "Get 20% off facials this week." | Most expensive; needs clear opt-in |
| Authentication | One-time passwords and login codes | "Your code is 4821." | OTP only; strict formatting |
The trap: a reminder that also upsells ("Your appointment is confirmed — and book a follow-up for 15% off") is marketing, not utility, because it promotes something. Mixing the two gets templates re-categorised. Keep utility messages purely transactional. If you want to promote, submit a separate marketing template.
Step 2: Format the template correctly
Most rejections here are mechanical, not editorial.
- Name it in lowercase with underscores —
appointment_reminder_en, not "Appointment Reminder". Uppercase or spaces in the template name will be rejected outright. - Number variables sequentially —
{{1}},{{2}},{{3}}in order, with no gaps. Skipping from{{1}}to{{3}}fails validation. - Never start or end the body with a variable.
{{1}}, your order is readygets flagged;Hi {{1}}, your order is readyis fine. A message that's only a variable is auto-rejected. - Don't put two variables back to back —
{{1}} {{2}}with nothing between them reads as a spam pattern. Add real words. - Give sample values. Meta asks for example content for each placeholder. Vague or empty samples slow review or trigger rejection; put realistic values like "Sara" and "Thursday, 3:00 PM".
Keep the body under the character limit (1,024 characters), match brackets and emoji properly, and avoid excessive formatting. A clean, human-sounding message clears review far faster than one stuffed with capitals and symbols.
Step 3: Write content that passes
This is where judgement matters. Meta rejects templates that are unclear, misleading, or that ask the recipient to do something outside WhatsApp in a shady way.
Things that get content rejected:
- Placeholder abuse — using variables to hide the real message (e.g. an entire sentence in
{{1}}). Reviewers can't see intent, so they reject. - Threatening or aggressive tone — "Final warning" or "Your account will be suspended" reads as abusive even if it's legitimate.
- URL shorteners in marketing templates. Use full-domain links; bit.ly-style links are frequently flagged.
- Grammatical mess or gibberish — genuinely garbled text fails. Proofread before submitting.
- Category-language mismatch — a "utility" template that says "Limited-time offer" contradicts its own category.
For appointment and reminder messages specifically, plain and factual wins. If you want copy that's already worded to pass, our roundup of appointment reminder message templates that actually work gives you utility-safe wording you can adapt. Those same reminders are the backbone of any WhatsApp no-show reduction workflow — get the template approved once and it runs on autopilot.
Step 4: Handle opt-in for marketing templates
Marketing templates are held to a higher bar because they require the customer to have opted in to hear from you. You don't submit proof of opt-in with each template, but if your quality rating drops — because recipients block or report your messages — Meta will pause or disable your templates. So opt-in isn't a formality; it's what keeps your marketing templates alive.
Collect consent cleanly before you ever send a promo, and log where and when each customer opted in. Our guide on getting customers to opt in the right way walks through compliant methods. If you send broadcasts, low-quality sending is also the fastest route to a ban — the broadcast-without-getting-banned playbook is worth reading before you scale volume.
What to do when a template is rejected
Don't panic, and don't resubmit the same template five times — repeated identical rejections can hurt your account standing. Instead:
- Read the rejection reason in your provider's dashboard. It usually names the issue: wrong category, formatting, or "abusive content".
- Re-categorise first if it was a utility/marketing mismatch — that fixes the majority of cases.
- Simplify the wording. Remove capitals, exclamation marks, shortened URLs, and any pressure language.
- Fix variable placement — add words around every placeholder.
- Resubmit once, cleanly. If it's rejected again with a different reason, address that specific point.
If a template is approved but you later edit it, it goes back into review — so get it right before you build automations on top of it.
Where templates fit in your setup
Templates are the outbound half of WhatsApp automation; the inbound half is your bot and inbox. Once your reminder and confirmation templates are approved, wiring them to a WhatsApp booking bot means confirmations and reminders fire automatically as customers book — no one copy-pasting messages by hand. In Remarketly, you draft the template, submit it to Meta from the dashboard, and once it's approved it drops straight into your reminder and campaign flows, so approval and sending live in one place instead of scattered across tools.
Get the category right, keep utility messages purely transactional, wrap every variable in real words, and write like a human — do that and most templates clear review on the first try.
Ready to stop wrestling with template rejections? See how Remarketly handles template approval and sending in one place.
