WhatsApp Message Template Best Practices: Get Approved, Get Delivered, Get Results
WhatsApp message templates are the gateway to proactive business messaging. Unlike free-form replies within a customer service window, templates let you reach out to customers first β for order updates, appointment reminders, marketing campaigns, and more.
But there's a catch: every template must be approved by Meta before you can use it. And even approved templates can underperform if they're poorly designed.
This guide covers everything from getting templates approved to maximizing engagement rates.
What Are WhatsApp Message Templates?
Message templates are pre-approved message formats that businesses use to initiate conversations with customers outside the 24-hour service window. They support:
- Text with dynamic variables (e.g., `{{1}}` for customer name)
- Headers (text, image, video, or document)
- Footers (static text)
- Buttons (quick reply, call-to-action, URL)
- Multiple languages (submit one template in several languages)
Template Categories
| Category | Purpose | Example | |---|---|---| | Utility | Transactional updates | "Your order #{{1}} has shipped. Track: {{2}}" | | Authentication | Login/verification | "Your verification code is {{1}}. Expires in 5 min." | | Marketing | Promotions & engagement | "Hi {{1}}! Our weekend sale starts now. Shop: {{2}}" |
Getting Templates Approved
Meta's Review Process
When you submit a template, Meta reviews it for:
1. Policy compliance β no prohibited content (weapons, adult content, etc.) 2. Category accuracy β is it correctly categorized as utility/auth/marketing? 3. Variable usage β are parameters used appropriately? 4. Language quality β is the text clear and professional?
Review typically takes minutes to a few hours, but can take up to 24 hours.
Common Rejection Reasons (and How to Avoid Them)
#### 1. Wrong Category
``` β Rejected: Submitting a promotional offer as "utility" "Hi {{1}}! Get 30% off this weekend β [Shop Now]" Category: Utility
β Approved: Same message with correct category "Hi {{1}}! Get 30% off this weekend β [Shop Now]" Category: Marketing ```
Meta strictly enforces categories. Marketing content in a utility template will be rejected β and miscategorization can affect your quality score.
#### 2. Missing Opt-Out Mechanism
Marketing templates must include a way for recipients to opt out:
``` β "Hi {{1}}! Check out our new arrivals: {{2}}"
β "Hi {{1}}! Check out our new arrivals: {{2}} Reply STOP to unsubscribe." ```
#### 3. Overly Generic or Vague Content
``` β "Hello {{1}}, we have an important update for you." (What update? Too vague.)
β "Hello {{1}}, your appointment with Dr. {{2}} is confirmed for {{3}} at {{4}}. Reply to reschedule." ```
#### 4. Excessive Variables
``` β "{{1}} {{2}} {{3}} {{4}} {{5}} {{6}}" (Mostly variables, no meaningful template structure)
β "Hi {{1}}, your order #{{2}} is out for delivery. Expected arrival: {{3}}. Track here: {{4}}" ```
Tips for Fast Approval
1. Be specific β clearly state the template's purpose 2. Use proper grammar β avoid ALL CAPS, excessive emojis, or slang 3. Add sample values β when submitting, provide realistic example values for each variable 4. Keep it concise β templates under 200 characters have higher approval rates 5. Include your business name β especially for marketing templates
Template Design Best Practices
Use Headers for Visual Impact
Templates with media headers get significantly higher engagement:
| Header Type | Best For | Engagement Lift | |---|---|---| | Image | Product promotions, event invites | +25β40% | | Video | Product demos, tutorials | +30β50% | | Document | Invoices, receipts, reports | Utility-focused | | Text | Simple notifications | Baseline |
Write Compelling CTAs
Button text matters. Compare:
``` β "Click here" β "Track My Order" β "Book Appointment" β "Claim 30% Off" ```
Action-oriented, specific button text drives more clicks.
Personalize with Variables
Templates with personalization see higher read rates:
``` Generic: "Your order is ready for pickup." Personalized: "Hi Sarah, your order #4521 is ready for pickup at our Downtown store. Open until 9 PM." ```
Use variables for: customer name, order ID, dates, amounts, tracking links, and location details.
Localize for Your Audience
Submit templates in your customers' languages. A template in the recipient's native language gets:
- Higher read rates
- Better engagement
- Fewer "spam" reports
You can submit the same template in multiple languages β Meta reviews each language variant independently.
Template Examples by Use Case
E-Commerce: Order Confirmation
``` Category: Utility Language: English
Hi {{1}}, thanks for your order! π
Order #{{2}} Total: {{3}} Estimated delivery: {{4}}
Track your package: {{5}}
Need help? Reply to this message. ```
Appointment Reminder
``` Category: Utility Language: English
Hi {{1}}, this is a reminder for your appointment:
π {{2}} at {{3}} π {{4}} π€ With: {{5}}
[Confirm] [Reschedule] ```
Marketing: Product Launch
``` Category: Marketing Language: English
Hi {{1}}! π
We just launched {{2}} β and as a valued customer, you get early access.
{{3}}
[Shop Now] [Learn More]
Reply STOP to unsubscribe. ```
Authentication: OTP
``` Category: Authentication Language: English
Your verification code is {{1}}.
This code expires in 5 minutes. Do not share this code with anyone. ```
Monitoring Template Performance
After a template is live, track these metrics:
| Metric | Target | Action if Low | |---|---|---| | Delivery rate | > 95% | Check phone number quality, reduce send volume | | Read rate | > 70% | Improve subject/header, test send timing | | Click rate (if CTA) | > 15% | Refine CTA text, improve offer | | Quality score | Green | If yellow/red, pause template, analyze feedback |
Quality Score Management
Meta assigns quality scores based on user feedback:
- Green: High quality β keep going
- Yellow: Medium quality β monitor closely, consider revisions
- Red: Low quality β pause immediately, revise content
Templates with red quality scores can lead to rate limiting for your entire phone number.
Managing Templates at Scale
As your template library grows, organization becomes critical:
Naming Convention
Use a clear naming pattern:
``` [category]_[use-case]_[language]_[version]
Examples: utility_order_confirm_en_v2 marketing_weekly_promo_en_v1 auth_otp_login_en_v1 utility_shipping_update_id_v1 ```
Version Control
Don't edit live templates. Instead:
1. Create a new version (`v2`, `v3`) 2. Test with a small audience 3. Compare performance against the previous version 4. Retire the old version once the new one proves better
Template Audits
Review your template library quarterly:
- Delete unused templates (no sends in 90 days)
- Check quality scores β revise any yellow templates
- Update pricing/product references
- Ensure all marketing templates have opt-out language
How Gigaviz Meta Hub Helps
Gigaviz Meta Hub provides a complete template management workflow:
- Template Forge: Visual template editor with live preview and variable mapping
- Sync with Meta: One-click sync to pull template status and quality scores
- Parameter Mapping: Define how variables are populated from your contact database
- Delivery Analytics: Track sent, delivered, read, and failed rates per template
- Outbox Worker: Reliable delivery queue with automatic retry and rate limiting
- Multi-language: Manage template variants across languages from one interface
---
*Gigaviz is a verified Technology Provider for the WhatsApp Business Platform. Manage your message templates, inbox, and delivery analytics in one workspace with Meta Hub.*