Short answer: Meta approves a WhatsApp template when it has the right category, clear wording, correctly placed variables with realistic sample values, and nothing that breaks WhatsApp's policies. Most rejections come from five mistakes: wrong category, badly placed variables, missing samples, vague or misleading text, and asking for sensitive information. Fix those and most templates are approved within minutes to a few hours.
What is a WhatsApp template?
A template is a pre-approved message format. You need one whenever you start the conversation, or when more than 24 hours have passed since the customer last messaged you. Inside the 24-hour customer service window you can reply freely without a template.
Step 1: Choose the right category
| Category | Use it for | Don't use it for |
|---|---|---|
| Marketing | Offers, launches, newsletters, webinar invites, re-engagement | — |
| Utility | Order and payment confirmations, delivery updates, appointment or class reminders the customer asked for, account alerts | Anything with a discount, upsell or "check out our new…" |
| Authentication | One-time passwords for login or verification | Any other text — Meta fixes the wording |
Step 2: Parts of a template and their limits
| Part | Required? | Limit / notes |
|---|---|---|
| Name | Yes | Lowercase letters, numbers and underscores, e.g. order_confirmation |
| Language | Yes | Must match the text. The language code you pick (e.g. en) is the one your software must send |
| Header | No | Text (up to 60 characters) or an image, video or document |
| Body | Yes | Up to 1,024 characters; supports *bold*, _italic_ and emojis |
| Footer | No | Up to 60 characters, no variables, e.g. "Reply STOP to unsubscribe" |
| Buttons | No | Quick replies, a website link or a phone number; button text up to 25 characters |
Step 3: Variables and sample values
Variables are placeholders like {{1}}, {{2}} that your software fills for each customer (name, order number, date). Rules that cause most rejections:
- Don't start or end the body with a variable. "{{1}}, your order is ready" or "…download here {{3}}" with nothing after it are often rejected. Add words around them.
- Don't put two variables next to each other (
{{1}} {{2}}). Put words between them. - Number them in order: {{1}}, {{2}}, {{3}} — no gaps, no repeats in the wrong order.
- Don't make a template that is mostly variables. Meta needs to see what the message actually says.
- Give realistic sample values for every variable (e.g.
Rahul,TD/2026-27/0012). Samples are how the reviewer understands the message. Never use real customer data as samples.
Common rejection reasons (and fixes)
| Reason | Fix |
|---|---|
| Wrong category (promo text in utility) | Remove the offer, or submit it as marketing |
| Variable formatting | Follow the rules above; add text before/after variables |
| Missing or unclear samples | Add realistic samples for every variable and media header |
| Vague or misleading content | Say clearly who you are and why you're messaging |
| Asking for sensitive data | Never ask for card numbers, full bank details, passwords or OTPs in a message |
| Prohibited products or claims | Follow WhatsApp's Commerce Policy; avoid "guaranteed income", miracle-cure style claims |
| Spammy formatting or links | Avoid ALL CAPS, excessive emojis and link shorteners; use your own domain |
| Language mismatch | Choose the language the text is actually written in (Hinglish usually works as English) |
If a template is rejected, edit it and submit again, or create a new one with a different name. Some tools also let you request a review from Meta if you believe the rejection is wrong.
Examples that get approved
Utility: order confirmation
Hi {{1}}, thank you for your order! ✅
Your payment for *{{2}}* is confirmed. Download your product and invoice here:
{{3}}
This link works for 30 days. Need help? Just reply to this message.
Samples: Rahul · Meta Ads Lead Gen Playbook · https://yourdomain.com/order/abc123. No offers, so it stays utility.
Utility: class / webinar reminder
Hi {{1}}, this is a reminder that your session *{{2}}* starts at {{3}} today.
Please join 5 minutes early. Reply to this message if you can't make it.
Marketing: offer with opt-out
Hi {{1}} 👋
Our {{2}} batch starts next week and early-bird seats are open till Sunday.
Tap below to see the details.
Buttons: website link "View details", quick reply "Stop promotions". Footer: "Reply STOP to unsubscribe".
Authentication: OTP
Choose the Authentication category and a "Copy code" button. Meta sets the body ("123456 is your verification code.") and lets you add a security note and expiry time.
After approval: quality rating and paused templates
Approval is not the end. If many people block your number or report a template, Meta lowers its quality rating and can pause or disable it. To keep templates healthy:
- Send only to people who opted in, and honour STOP immediately.
- Segment by interest instead of messaging your whole list every time.
- Watch the read and reply rates in your broadcast reports; a sudden drop is an early warning.
Try Toolsduniya Connect free for 14 days
Broadcasts, team inbox, chatbots and API on your own number. No card needed.
FAQ
How long does WhatsApp template approval take?
Most templates are reviewed within minutes to a few hours. Meta can take up to 24 hours, and occasionally longer for marketing templates.
Why was my utility template changed to marketing?
Meta re-categorises a template when it contains promotional content such as offers, discounts or upsells. Keep utility templates about a transaction or request the customer already made.
Can I use variables in the header or buttons?
Yes, a text header can have one variable and a website button can have a variable at the end of the URL, but each needs a sample value.
Can I edit an approved template?
Meta allows limited edits to approved templates, and an edited template is reviewed again. For bigger changes, create a new template with a new name.
Can I write templates in Hindi or Hinglish?
Yes. Choose Hindi for Devanagari text. Hinglish written in English letters is usually submitted as English.