Oxaide
Back to blog
WhatsApp Business

WhatsApp Template Messages: Complete Guide to Pre-Approved Business Notifications 2025

Learn how WhatsApp template messages work, how to get them approved, and best practices for order confirmations, appointment reminders, and marketing notifications that comply with Meta policies.

December 2, 2025
10 min read
Oxaide Team

Quick Answer: WhatsApp template messages are pre-approved message formats required to contact customers outside the 24-hour conversation window. Submit templates through Meta Business Manager, wait 24-48 hours for approval, then use them for notifications like order updates, appointment reminders, and marketing campaigns.

You cannot message WhatsApp customers whenever you want. Meta restricts unsolicited business messages to protect users from spam.

Template messages are the solution. Pre-approved message formats let you send important notifications even when customers have not messaged recently.

This guide covers everything: template categories, approval process, formatting rules, and examples that get approved.

What Are Template Messages?

Template messages (formerly called HSM - Highly Structured Messages) are pre-written message formats that Meta reviews and approves before you can send them.

Why They Exist:

WhatsApp has a 24-hour customer service window. After a customer messages you, you have 24 hours to respond freely. After 24 hours, you can only contact them using approved templates.

This prevents businesses from spamming customers who did not explicitly opt-in to communications.

Template Categories

Meta categorizes templates by purpose. Category affects pricing and approval criteria.

1. Utility Templates

Purpose: Transaction-related information customers expect to receive.

Examples:

  • Order confirmations
  • Shipping updates
  • Delivery notifications
  • Appointment reminders
  • Payment receipts
  • Account alerts

Approval Rate: High (95%+) if content matches category

Cost: Lowest per-conversation rate

2. Authentication Templates

Purpose: One-time passwords and verification codes.

Examples:

  • Login verification codes
  • Two-factor authentication
  • Password reset codes
  • Account verification

Approval Rate: Very high (98%+) with standard format

Cost: Low per-conversation rate

3. Marketing Templates

Purpose: Promotional content and offers.

Examples:

  • Product announcements
  • Sale notifications
  • Promotional offers
  • Newsletter content
  • Re-engagement campaigns

Approval Rate: Lower (70-80%) - stricter review

Cost: Highest per-conversation rate

4. Service Templates

Purpose: Customer service follow-ups.

Examples:

  • Support ticket updates
  • Feedback requests
  • Service completion notifications

Approval Rate: High (90%+)

Cost: Free for first 1,000 conversations/month

Template Structure

Every template has these components:

┌─────────────────────────────────────┐
│ HEADER (optional)                   │
│ Text, Image, Video, or Document     │
├─────────────────────────────────────┤
│ BODY (required)                     │
│ Main message text with variables    │
│ Example: "Hi {{1}}, your order      │
│ {{2}} has shipped!"                 │
├─────────────────────────────────────┤
│ FOOTER (optional)                   │
│ Small text, often disclaimers       │
├─────────────────────────────────────┤
│ BUTTONS (optional)                  │
│ Quick Reply or Call-to-Action       │
└─────────────────────────────────────┘

Variables

Use {{1}}, {{2}}, {{3}} etc. for dynamic content:

Template: "Hi {{1}}, your order {{2}} will arrive on {{3}}."

Sent: "Hi Sarah, your order #12345 will arrive on Dec 5."

Variable Rules:

  • Maximum 1,024 characters per variable
  • Cannot contain only emojis or special characters
  • Must provide sample values during submission

Creating Templates

Step 1: Access Template Manager

  1. Go to Meta Business Manager
  2. Navigate to WhatsApp Manager
  3. Select your WhatsApp Business Account
  4. Click "Message Templates"
  5. Click "Create Template"

Step 2: Choose Category

Select the most accurate category. Miscategorization leads to rejection.

If Your Message Is About... Choose Category
Order/shipping updates Utility
Appointment reminders Utility
Payment confirmations Utility
Login codes Authentication
Promotional offers Marketing
Sale announcements Marketing
Feedback requests Service

Step 3: Write Template Content

Header Options:

  • None
  • Text (60 characters max)
  • Image
  • Video
  • Document

Body Requirements:

  • 1-1024 characters
  • At least one variable recommended
  • Clear, professional language

Footer:

  • Optional
  • 60 characters max
  • Good for "Reply STOP to unsubscribe"

Buttons:

  • Quick Reply (up to 3): Customer taps to send predefined response
  • Call-to-Action (up to 2): Opens URL or phone dialer

Step 4: Provide Samples

Meta requires example content for each variable:

Template: "Your verification code is {{1}}. Valid for {{2}} minutes."

Sample: "Your verification code is 847293. Valid for 10 minutes."

Step 5: Submit for Review

Click "Submit" and wait. Review typically takes:

  • Utility/Authentication: 24 hours or less
  • Marketing: 24-48 hours
  • Complex templates: Up to 72 hours

Approval Best Practices

Do This (Gets Approved)

Clear Purpose:

✅ "Hi {{1}}, your appointment at {{2}} is confirmed for {{3}} at {{4}}. Reply YES to confirm or RESCHEDULE to change."

Professional Tone:

✅ "Order Update: Your order {{1}} has shipped via {{2}}. Track at {{3}}"

Opt-Out Included (Marketing):

✅ "{{1}}, we have a special offer for you! Get 20% off your next purchase. Use code {{2}} at checkout. Reply STOP to unsubscribe."

Avoid This (Gets Rejected)

Vague Content:

❌ "Hi {{1}}, we have something for you. Click here: {{2}}"

Rejection reason: Unclear purpose

Aggressive Marketing:

❌ "BUY NOW!!! {{1}} - MASSIVE SALE - DON'T MISS OUT!!!"

Rejection reason: Spam-like content

Wrong Category:

❌ Submitting "Get 20% off" as Utility template

Rejection reason: Marketing content in wrong category

Missing Context:

❌ "{{1}}"

Rejection reason: No fixed content, cannot review

Template Examples by Use Case

Order Confirmation

Category: Utility

Header: Text - "Order Confirmed ✓"

Body: "Thank you for your order, {{1}}!

Order #{{2}}
Items: {{3}}
Total: {{4}}

Estimated delivery: {{5}}

Track your order anytime by replying TRACK."

Buttons:
- Quick Reply: "Track Order"
- URL: "View Order Details" → {{6}}

Appointment Reminder

Category: Utility

Header: Text - "Appointment Reminder"

Body: "Hi {{1}}, this is a reminder for your appointment:

📅 Date: {{2}}
⏰ Time: {{3}}
📍 Location: {{4}}

Reply CONFIRM to confirm or RESCHEDULE to change your appointment."

Buttons:
- Quick Reply: "Confirm"
- Quick Reply: "Reschedule"

Shipping Update

Category: Utility

Header: Image - [Delivery truck image]

Body: "Great news, {{1}}! Your order is on the way.

🚚 Carrier: {{2}}
📦 Tracking: {{3}}
📅 Expected delivery: {{4}}

Track your package:"

Buttons:
- URL: "Track Package" → {{5}}

Authentication Code

Category: Authentication

Body: "{{1}} is your verification code. This code expires in 10 minutes. Do not share this code with anyone."

Marketing Promotion

Category: Marketing

Header: Image - [Product image]

Body: "Hi {{1}}, 

We thought you would love this: {{2}} is now {{3}} off!

This offer expires {{4}}. Use code {{5}} at checkout.

Reply STOP to unsubscribe from promotions."

Buttons:
- URL: "Shop Now" → {{6}}

Feedback Request

Category: Service

Body: "Hi {{1}}, thank you for your recent purchase!

We would love to hear about your experience. Your feedback helps us improve.

How would you rate your experience?"

Buttons:
- Quick Reply: "Excellent"
- Quick Reply: "Good"
- Quick Reply: "Could be better"

Handling Rejections

Common Rejection Reasons

Rejection Reason Fix
"Content not allowed" Remove promotional language from utility templates
"Unclear purpose" Add context explaining what the message is for
"Spam-like content" Remove excessive punctuation, caps, urgency
"Missing opt-out" Add unsubscribe option for marketing templates
"Incorrect category" Resubmit with correct category
"Sample content issue" Provide realistic sample values

Appeal Process

If you believe rejection was wrong:

  1. Review Meta's template guidelines
  2. Modify template to address stated reason
  3. Resubmit as new template
  4. If still rejected, contact Meta Business Support

Template Management

Naming Convention

Use clear, searchable names:

Good: order_confirmation_v2
Good: appointment_reminder_24hr
Good: marketing_seasonal_sale_dec25

Bad: template1
Bad: new_template
Bad: test

Version Control

When updating templates:

  1. Create new version (e.g., order_confirmation_v3)
  2. Test new version with small audience
  3. Update integrations to use new template
  4. Keep old version active during transition
  5. Delete old version after full migration

Quality Rating

Meta tracks template performance:

  • Green (High Quality): Low block/report rate
  • Yellow (Medium Quality): Some negative signals
  • Red (Low Quality): High block rate, may be paused

Maintain green rating by:

  • Only messaging opted-in customers
  • Keeping content relevant and expected
  • Respecting unsubscribe requests immediately

Implementation with Oxaide

Managing templates across multiple use cases requires organization. Oxaide handles template complexity:

  • Pre-built templates: Common use cases ready to deploy
  • Approval tracking: Monitor template status across accounts
  • Variable management: Dynamic content injection from your data
  • Analytics: Track delivery, read, and response rates per template

Our WhatsApp pilot program includes template setup and approval as part of the done-for-you service.

Key Takeaways

  1. Templates are required for messaging outside 24-hour window
  2. Choose correct category - miscategorization leads to rejection
  3. Include opt-out for marketing templates
  4. Provide clear samples during submission
  5. Monitor quality rating to avoid template pausing
  6. Test before scale - verify templates work before bulk sending

Templates are the foundation of proactive WhatsApp business communication. Get them right, and you can reach customers with order updates, reminders, and promotions that drive engagement without risking account restrictions.

Oxaide

Done-For-You AI Setup

We Build Your WhatsApp AI in 21 Days

60% automation guaranteed or full refund. Limited spots available.

We handle Meta verification & setup
AI trained on your actual business
Only 2-3 hours of your time total
Get Your AI Live in 21 Days

$2,500 setup · Only pay when you are satisfied

GDPR/PDPA Compliant
AES-256 encryption
99.9% uptime SLA
Business-grade security
    WhatsApp Template Messages: Complete Guide to Pre-Approved Business Notifications 2025