# WhatsApp Business template approval: get yours through Meta on the first try

_URL: https://calliyo.com/whatsapp-crm/template-approval · Built for: Marketing ops, growth, and product teams submitting WhatsApp templates_

> Get your WhatsApp Business templates approved by Meta. Categories, examples, the rejection reasons that actually matter, and 10 templates that pass review.

## TL;DR

WhatsApp templates fail review for three reasons 90% of the time: wrong category, missing or fake variables, or copy that reads like spam. Pick the right category (Utility for transactional, Marketing for promotional, Authentication for OTPs). Use {{1}} {{2}} variables for any dynamic piece. Avoid all-caps, excessive emoji, urgency theatre, and click-bait promises. The 10 templates below have all passed review.

## What goes wrong today

### Templates rejected with no clear reason
Meta's dashboard says 'POLICY_VIOLATION'. You stare at perfectly innocent copy. The reviewer is auto. The reason is buried in the policy doc.

### Wrong category, wrong pricing
Submit a transactional message as Marketing and you pay 3x more per conversation. Submit Marketing as Utility and it gets rejected.

### Templates approved but quality drops fast
Template passed review, customers report it, quality drops to yellow, sends are throttled. The copy was technically approved but felt spammy.

### Time wasted on iteration
Each rejection round takes 24 hours. A 3-iteration template costs 3 days. Marketing calendar slips.

## How Calliyo fixes each one

### Categorise before you write
Decide first: is this triggered by a customer event (Utility), is it promotional (Marketing), or is it an OTP/verification code (Authentication)? Different categories have different review bars.

### Use real variables
Every dynamic value must be a {{1}} {{2}} placeholder. 'Hi John' fails — write 'Hi {{1}}'. 'Bangalore office' fails — write 'Hi {{1}}, your {{2}} appointment is confirmed.'

### Strip the spam patterns
No ALL CAPS shouting, no more than 1 emoji per line, no 'CLICK NOW LIMITED OFFER!!!', no fake urgency ('Last chance!' when it's not). Auto-reviewer treats these as spam signals.

### Match category to content
Marketing template selling a course = Marketing category. Receipt for that course = Utility. Login OTP = Authentication. Pricing differs (~₹0.30-0.80 per conversation in India), so use the cheapest applicable category.

## Example templates

**Utility · Order confirmation**

```
Hi {{1}}, your order #{{2}} for {{3}} has been confirmed. Expected delivery: {{4}}. Track: {{5}}
```

_High approval rate; cheapest category_

**Utility · Appointment reminder**

```
Hi {{1}}, this is a reminder for your appointment with {{2}} on {{3}} at {{4}}. Reply RESCHEDULE to change.
```

_Reliable approval; pair with reschedule button_

**Utility · Payment confirmation**

```
Payment of ₹{{1}} received for {{2}}. Invoice: {{3}}. Reach us at {{4}} for any queries.
```

_Always approved; do not add upsell copy_

**Utility · Shipping update**

```
Hi {{1}}, your shipment {{2}} is now {{3}}. Expected at your address on {{4}}.
```

_Variable {{3}} = 'out for delivery' / 'in transit' / etc._

**Utility · Demo / call follow-up**

```
Hi {{1}}, thanks for the call. As discussed, here's the {{2}} brochure: {{3}}. I'll check in tomorrow.
```

_Strongly performs on reply rate_

**Marketing · Limited-time promotion**

```
Hi {{1}}, our {{2}} sale ends {{3}}. Flat {{4}}% off on {{5}}. Shop now: {{6}}
```

_Approved when limits are real; flagged when 'flash sale ends today' is used repeatedly_

**Marketing · New product announcement**

```
Hi {{1}}, we just launched {{2}} — built for {{3}}. Take a look: {{4}}
```

_Keep it short; avoid superlatives like 'best-ever', 'revolutionary'_

**Marketing · Re-engagement**

```
Hi {{1}}, it's been a while. We've added {{2}} since you last visited — explore here: {{3}}
```

_Only to opted-in dormant customers (90+ days)_

**Authentication · Login OTP**

```
Your verification code is {{1}}. It expires in {{2}} minutes. Do not share with anyone.
```

_Cheapest per-conversation; restricted to verification flows only_

**Authentication · Password reset**

```
Your password reset code is {{1}}. Use within {{2}} minutes. If you didn't request this, ignore this message.
```

_Strict policy — no marketing copy can be mixed in_

## Common rejections and how to fix them

**POLICY_VIOLATION (no detail)** — Almost always: wrong category. Try resubmitting as Utility if you submitted as Marketing, or vice versa. If still rejected, strip emoji and exclamation marks.

**INVALID_FORMAT** — Variable placeholders are wrong. Each variable must be {{1}}, {{2}}, etc. in order, no skipped numbers. No spaces inside braces. No text-and-variable mixing like 'Hello {{1}}John'.

**TAG_CONTENT_MISMATCH** — The template category doesn't match the body. A 'discount!' message tagged Utility fails. Resubmit as Marketing.

**Quality drop after approval** — Customers blocked or reported the template. Pause sends for 7 days; the rating recovers. Rewrite the copy to be more direct, less salesy.

**Variable doesn't match example** — Meta wants a sample value for every {{n}}. If you say 'Hi {{1}}' and the sample is 'Hi John', the review picks up 'John' as a real value. Don't put brand names, URLs, or codes there.

**URL not allowed** — Bare URLs in marketing templates are flagged. Use the official 'Visit website' button instead. For utility, full URLs are usually fine if they belong to your verified domain.

## Frequently asked questions

**Why was my template rejected with 'POLICY_VIOLATION'?**

90% of the time, it's the wrong category. Meta auto-reviews based on intent: promotional copy in Utility category fails; transactional copy in Marketing also fails. Resubmit with the correct category and the same copy usually passes.

**What's the difference between Utility and Marketing categories?**

Utility = triggered by a customer event (order placed, demo booked, payment received, ticket update). Marketing = promotional (sales, launches, re-engagement). Authentication = OTPs and codes. Utility is cheapest; Authentication is cheapest for verification flows; Marketing is the most expensive.

**How long does template review take?**

Usually 1-4 hours for clean templates. Up to 24 hours if Meta does manual review. Authentication templates often approve fastest. If it's been 48 hours, the template was rejected silently — check the dashboard.

**Can I edit an approved template?**

Minor edits (typos, variable order) re-trigger review. Major edits (changing intent/category) require resubmitting as a new template. Calliyo lets you draft locally before pushing to Meta to avoid burning approved-template slots.

**What's the limit on number of approved templates?**

Meta allows ~250 templates per WhatsApp Business Account. More than enough for most SMEs. The bigger constraint is quality — too many low-performing templates can drag the account quality rating.

**Can I use templates in any language?**

Yes — Meta supports 100+ languages. Each language version is a separate template that needs separate approval. Hindi, Marathi, Tamil, Telugu, Bengali, Gujarati templates all pass approval at similar rates to English. Calliyo's library includes Hindi versions of all 30 base templates.