What is WhatsApp template approval?
The WhatsApp Business API doesn't let you send free-form messages to your customers whenever you want. Any message you initiate — order confirmation, shipping update, marketing offer, OTP — has to use a pre-approved template. You submit the template text, Meta reviews it, and only after it's approved can you send that template to customers.
The exception is the 24-hour customer service window: if a customer messages you first, you can reply with free-form text for the next 24 hours without using a template. Outside that window, templates are mandatory.
This sounds restrictive but it's the trade-off that keeps WhatsApp from becoming SMS spam. The upside: customers actually read your messages (98%+ open rates) because the channel stays clean.
Templates can contain variables — placeholders like {{1}}, {{2}} that you fill in at send time with the customer's name, order number, tracking link, etc. Meta needs sample values for each variable when you submit, so it knows what the template actually looks like in production.
The three template categories
This is the single most important decision you'll make. Get the category right and most other things fall into place. Get it wrong and either your template is rejected or you pay 5-10× more per message than you should.
| Category | What it's for | Examples | Relative cost |
|---|---|---|---|
| Utility | Transactional updates tied to a specific user action | Order confirmation, shipping update, appointment reminder, payment receipt, password change | Low–Medium |
| Marketing | Promotions, offers, abandoned-cart, re-engagement, product announcements | Sale alert, new product launch, discount code, win-back, loyalty offer | Highest |
| Authentication | One-time passwords and verification codes only | Login OTP, two-factor code, password reset code | Lowest |
Why the cost differs: Meta charges based on the conversation type (a conversation = a 24-hour window opened by a category of template). Marketing conversations cost the most because they're commercial outreach. Utility is cheaper because it's expected by the customer. Authentication has a separate flat rate because OTPs are simple, high-volume, and Meta wants high deliverability for them. For the per-region rates that go with these categories, see our Meta WhatsApp pricing guide.
One critical rule: the message content has to match the category. You cannot put marketing language in a Utility template. "Your order has shipped" is Utility. "Your order has shipped — and here's 10% off your next purchase" is Marketing. Meta's automated review catches this; mis-categorisation is the single biggest rejection cause.
The 6 reasons templates get rejected (and how to fix each)
From thousands of submissions across our 1,500+ customer base, these six issues account for roughly 80% of all rejections. Each one is fixable.
1 Wrong category
Most common · ~40% of all rejectionsYou submitted "We're running a sale this weekend — 20% off!" under the Utility category. Meta auto-rejects because the content is promotional.
2 Missing variable examples
~15% of rejectionsYou submitted "Hi {{1}}, your order {{2}} ships {{3}}" without telling Meta what those placeholders look like in production.
{{1}}=Priya, {{2}}=#4821, {{3}}=Tuesday. Meta uses these samples to verify the final message reads naturally. If your samples look like spam or are missing entirely, the template is rejected.3 URL shorteners
~10% of rejectionsYour template uses bit.ly, tinyurl, t.co, or any other URL shortener. Meta blocks these because they hide the actual destination and have historically been used for phishing.
track.go4whatsup.com) that 301-redirects — but use that subdomain in the template, not a third-party shortener.4 Marketing language stuffed into a Utility template
~10% of rejectionsTrying to sneak a promotional CTA into an order-confirmation template: "Your order is confirmed — and check out our new collection 50% off!"
5 Spelling and grammar errors
~5% of rejectionsTemplates with obvious typos, broken English, or inconsistent capitalisation get flagged for manual review and often rejected — Meta wants templates to look professional because they represent the WhatsApp ecosystem.
6 Missing opt-in or unsubscribe language in Marketing templates
~5% of rejectionsMarketing templates in certain regions (especially the EU and GCC) need clear opt-out language: "Reply STOP to unsubscribe." Without it, Marketing templates can be rejected — or approved but then dinged on quality once customers start blocking.
How to write a template that clears approval on the first try
Once you know the failure modes, writing a clean template is mostly mechanical. Follow this sequence:
- Decide the trigger. What customer action or business event triggers this message? Order placed? Appointment booked? Cart abandoned? The trigger tells you the category.
- Write the message as plain text. Use sentences, not marketing jargon. Imagine you're texting a real customer.
- Identify the dynamic parts. Customer name, order number, dates, amounts — these become variables.
- Replace dynamic parts with placeholders.
{{1}}for name,{{2}}for order number, etc. Keep them in order. - Provide samples for each variable. If
{{1}}is the customer name, write "Priya" as a sample. - Pick the category. If transactional → Utility. If promotional → Marketing. If just an OTP → Authentication.
- Add a header or footer if useful. Optional, but a header (e.g. "Order update") helps customers scan their inbox. A footer with "Reply STOP to unsubscribe" is mandatory for Marketing in most regions.
- Add buttons if it's a Utility or Marketing template. Up to 3 buttons (call, URL, or quick reply). Buttons dramatically increase response rates.
- Submit and wait 5-30 minutes. Most templates clear within this window. Some take 24 hours.
Approval time — what to expect
| Template type | Typical approval time | Why it varies |
|---|---|---|
| Utility (transactional) | 5-30 minutes | Mostly automated review — Meta has seen millions of order/shipping templates |
| Authentication (OTP) | 5-10 minutes | Strict format = fast automated check; OTP templates are almost identical across the ecosystem |
| Marketing | 15 minutes – 24 hours | Goes through additional manual review because marketing content varies more |
| First template on a new number | Up to 48 hours | Initial verification of the WABA quality is more thorough |
| Regulated industries (finance, healthcare, gambling) | 24-72 hours | Manual review by a human Meta reviewer; sometimes additional documentation is requested |
If a template is still pending after 48 hours, it's usually safe to assume it's stuck in manual review. You can resubmit a slightly modified version — sometimes that nudges the queue. Don't submit the identical template twice; Meta's system can flag this as spam.
Category as a cost decision
This is where most teams accidentally inflate their bill. Consider a real example: a customer just placed an order. You can send them:
- Option A: "Your order is confirmed" (Utility — cheap)
- Option B: "Your order is confirmed — and here's 10% off your next purchase" (Marketing — expensive)
Both messages reach the customer. The Utility version costs roughly 1/10th of the Marketing version. Over 10,000 orders/month, the difference can be ₹25,000-50,000 just from category choice.
The single biggest cost optimisation in WhatsApp Business API is splitting hybrid messages into two: a Utility template for the confirmation, and a separate Marketing template sent later for the offer. Cost drops by 80% with no loss in customer experience.
For the full pricing breakdown by region and category, see our WhatsApp Business API bill explained post — it walks through the line items and the markups BSPs add on top.
How Go4whatsup makes approval faster
If you're submitting templates manually through Meta Business Manager, you're seeing the raw approval experience. Through a BSP, the process can be streamlined significantly:
- AI-drafted templates that clear category rules. Our WhatsApp Template Generator drafts templates in the correct format with the right category pre-selected. You describe what you want; the tool produces a compliant template ready to submit.
- Direct API submission. Go4whatsup is a verified Meta Business Partner. Templates submit directly to Meta's API, not through Meta's web UI, which means you can submit in bulk, track status programmatically, and get rejection reasons in clean JSON instead of vague UI strings.
- Rejection coaching. When a template is rejected, our team reads Meta's reason, identifies the actual fix, and re-submits in under 30 minutes — included in any paid plan, no extra fee.
- Template library to start from. Our 32-template library contains pre-approved patterns for 90% of common use cases. Start from these, change the copy, submit — almost always approved first time.
For new customers onboarding to the WhatsApp Business API, this matters because every day a template is pending is a day your operational messages aren't going out. A typical Go4whatsup onboarding completes in 24 hours — first template approved, first message sent — versus 3-7 days for teams submitting manually through Meta Business Manager.
Pre-submission checklist
Before you click Submit on any template
- The category matches the content (Utility / Marketing / Authentication)
- Every
{{variable}}has a sample value provided - No URL shorteners — only your own domain or full URLs
- No marketing language in a Utility template
- Spell-check has passed (run through Grammarly or AI)
- Marketing templates have an opt-out line
- Header (if used) is under 60 characters
- Footer (if used) is under 60 characters
- Buttons (max 3): each is either Call, URL, or Quick Reply
- Template name is descriptive enough that you'll recognise it 6 months from now
Related reading
- WhatsApp Message Templates — 32-template library by industry
- WhatsApp Template Generator (free tool)
- WhatsApp Business API pricing guide
- Meta's per-country conversation rates
- How to get WhatsApp Business API (24-hour setup)
- Meta's official template documentation (external)
Skip the rejection cycle
Draft a compliant template in 30 seconds with our free generator. Or book a 20-min audit — we'll review your existing templates and show you which to re-categorise to cut your bill.
Free template generator → Book a 20-min audit →