Perfect WhatsApp Template Preparation Guide
One of WhatsApp Business API's most critical features is that templates you'll use for automation and broadcast messages must be pre-approved by Meta. The template approval process can be one of the most challenging and frustrating steps for many businesses. This guide offers strategies to maximize your templates' chances of first-time approval.
What is a WhatsApp Template?
A template message is a pre-prepared message format approved by Meta. These templates:
- Allow you to send messages to users outside the 24-hour rule
- Can contain variables and be personalized
- Are divided into different categories (Marketing, Service, Verification)
- Approval process varies between 1 hour and 48 hours
- Can be corrected and resubmitted when rejected
1. Category Selection: The Most Critical Step
Meta divides templates into 3 main categories. Wrong category selection is rejection reason number 1.
π’ Marketing
When to use:
- Product or service promotions
- Discount and campaign announcements
- New product launches
- Seasonal offers (Black Friday, New Year, etc.)
- Cross-sell and up-sell opportunities
- Catalog and collection promotions
Cost: Generally more expensive than other categories (varies by country; e.g., ~β¬0.113 per message in Germany vs ~β¬0.045 for utility/auth).
Examples:
β
Hello {{1}}! Your exclusive 20% discount code this week: {{2}}
Campaign valid until December 31.
β
{{1}}, our new winter collection is out! πΏ
Free shipping on first 100 purchases.
Check it out now: {{2}}
Precautions:
- Don't use overly sales-oriented language.
- Avoid aggressive phrases like "BUY NOW!", "LAST CHANCE!"
- Consider offering an opt-out option.
π One-Time Password (Authentication - OTP)
When to use:
- Login verification codes
- Password reset links
- Two-factor authentication (2FA)
- One-time PIN codes
- Account confirmation messages
Cost: Generally the cheapest category.
Examples:
β
{{1}} Your WhatsApp verification code: {{2}}
Do not share this code with anyone.
Code will expire in 10 minutes.
β
To reset your password, click the link below:
{{1}}
If you didn't make this request, ignore this message.
Precautions:
- Use only for verification purposes.
- Don't add marketing content.
- Include security warnings.
- Specify code validity period.
π οΈ Utility (Service)
When to use:
- Order confirmations
- Shipping tracking notifications
- Appointment reminders
- Invoice and payment notifications
- Account status updates
- Reservation confirmations
- Flight/hotel check-in information
Cost: Medium level pricing.
Examples:
β
Hello {{1}}, your order ({{2}}) has been shipped.
Tracking number: {{3}}
Estimated delivery: {{4}}
Shipping tracking: {{5}}
β
{{1}}, your appointment is coming up! β°
Date: {{2}}
Time: {{3}}
Location: {{4}}
For cancellation or changes: {{5}}
Precautions:
- Focus on transactional information.
- If you add marketing content, it will be rejected.
- Should be sent after a user-triggered action.
β Common Category Mistakes
| Wrong | Correct | Why? |
|---|---|---|
| Discount code in an order confirmation (Utility) | Only order info (Utility) | Marketing not allowed in Utility |
| Welcome message in OTP category | OTP code only | OTP is for verification only |
| Invoice in Marketing category | Invoice is Utility | Transactional info is not marketing |
2. Variable Usage: Detailed Guide
Variables ({{1}}, {{2}}, {{3}} etc.) allow you to personalize your templates. However, incorrect usage is a common reason for rejection.
Variable Rules:
- Must be sequential:
{{1}},{{2}},{{3}}(you cannot skip numbers). - Sample data is required: You must provide realistic sample content for each variable.
- Must be clear: It should be obvious what each variable will contain.
- Don't overuse: Maximum 5β7 variables is ideal.
β Wrong Usage Examples:
β Hello {{1}}, your order is {{2}}.
Example: Hello John, your order is ready.
Problem: "Ready" is too vague. Is it "shipped" or "being prepared"?
β Campaign for {{1}}!
Example: Campaign for Product!
Problem: The word "Product" is too general. Which product?
β {{1}} {{2}} {{3}} {{4}} {{5}} {{6}} {{7}} {{8}}
Problem: Too many variables, unreadable.
β Correct Usage Examples:
β
Hello {{1}}, your order number {{2}} has been sent via {{3}} shipping company.
Estimated delivery date: {{4}}
Sample Data:
{{1}} = John Smith
{{2}} = #12345
{{3}} = FedEx
{{4}} = December 15, 2023
Why correct: Each variable is clear, understandable, and realistic.
β
{{1}}, the {{2}} is now {{3}}% off!
Old price: ${{4}}
New price: ${{5}}
Offer valid until {{6}}.
Sample Data:
{{1}} = Sarah Johnson
{{2}} = iPhone 15 Pro
{{3}} = 15
{{4}} = 999
{{5}} = 849
{{6}} = December 31, 2023
Why correct: All information is specific and valuable to the user.
Variable Types and Best Practices:
| Variable Type | Example | Caution |
|---|---|---|
| Name | John Smith | Just the first name or full name, don't include "Dear" |
| Date | December 15, 2023 | Keep format consistent (e.g., 12/15/2023 or December 15, 2023) |
| Time | 14:30 | 24-hour format is preferred |
| Price | $1,299.99 | Be clear about currency and formatting |
| Order No. | #ORD-12345 | Use a prefix (# or ORD-) for clarity |
| Product Name | iPhone 15 Pro 256GB | Full, clear product name |
| URL | https://site.com/order/12345 | Use the full URL, no shorteners |
3. Grammar, Spelling, and Professionalism
Meta uses AI-powered systems to analyze your templates. Low-quality, error-filled templates are automatically rejected.
Writing Rules:
β Do:
- Use punctuation correctly.
- Use proper spelling (including accent characters if applicable).
- Separate paragraphs with blank lines.
- End sentences with periods.
- Maintain a professional tone.
β Don't:
- Write words together like "howareyou".
- Misspell words (e.g., "recieve" instead of "receive").
- Forget commas where needed (e.g., "Hello how are you are you well").
- Use text-speak abbreviations like "thx", "hi".
- Use unnecessary letter repetition like "Hellooo".
β Rejected Examples (Real Cases):
β hi {{1}} ur order is ready shipped tracking no {{2}}
Problems:
- "hi" is too informal (should be capitalized "Hi" or "Hello").
- "ur" instead of "your".
- No punctuation.
- Hard to read.
β HELLO {{1}}!!! WE HAVE A GREAT CAMPAIGN!!! LOOK NOW!!!
Problems:
- All caps (shouting).
- Excessive exclamation marks.
- Looks like spam.
β Hi {{1}} got smth special 4 u click link: {{2}}
Problems:
- "smth" is an unprofessional abbreviation for "something".
- "4 u" instead of "for you".
- Content is vague.
- Unprofessional tone.
β Approved Examples:
β
Hello {{1}},
Your order number {{2}} has been prepared and handed over to {{3}} shipping company.
Tracking number: {{4}}
Estimated delivery: {{5}}
To track your shipment: {{6}}
Thank you!
β
Dear {{1}},
Reminder for your appointment on {{2}}:
Date: {{3}}
Time: {{4}}
Address: {{5}}
To cancel or postpone your appointment, please call us at least 24 hours in advance: {{6}}
See you soon!
4. Button (CTA - Call to Action) Usage
You can add 3 types of buttons to your templates:
1. URL Buttons (Website)
Static URL:
Button: "View Product"
URL: https://www.sitename.com/product/campaign
Dynamic URL (Recommended):
Button: "Track Order"
URL: https://www.sitename.com/order/{{1}}
Example: https://www.sitename.com/order/12345
2. Phone Buttons
Button: "Call Us"
Phone: +1 212 555 0100
3. Quick Reply Buttons
Button 1: "Yes, I'm interested"
Button 2: "No, thank you"
Button 3: "Remind me later"
Important: You can add up to 3 buttons.
5. Adding Media (Optional)
You can add the following to your templates:
- Image: Product images, banners
- Video: Product demonstrations (max 16 MB)
- Document (PDF): Invoice, catalog, user manual
Caution: When you add media, the sample file you upload will be reviewed by Meta. Inappropriate content will cause rejection.
6. Template Approval Process and Timelines
Approval Times:
- Fast approval: 5β30 minutes (simple templates)
- Normal approval: 1β24 hours (most templates)
- Slow approval: 24β48 hours (complex or risky content)
Approval Statuses:
- Pending: Waiting in review queue
- Approved: Ready to use
- Rejected: Correction needed
Rejection Reasons (Meta's official list):
- Policy violation: Policy violation (prohibited content)
- Low quality: Low quality (spelling or grammar issues)
- Wrong category: Wrong category selection
- Misleading content: Misleading content
- Abusive language: Offensive language
- Unclear variables: Variables are not clear
7. Template Optimization Tips
Keep It Short and Concise:
- Ideal template length: 100β300 characters
- Maximum: 1024 characters
- Every sentence should carry value
Personalization:
- Always use the user's name
- Reference their past interactions or purchases
- Consider regional and cultural differences
A/B Testing:
- Create 2β3 different variations for the same message
- Test which one performs better
- Replicate successful templates
8. Emergency Rescue Plan for Rejected Templates
Was your template rejected? Don't panic:
Step 1: Read the rejection reason (it's often vague, but gives a clue)
Step 2: Review all the checklist points above:
- Is category correct?
- Are there spelling errors?
- Are variable examples clear?
- Does it look like spam?
- Is there prohibited content?
Step 3: Make corrections and wait 24 hours
Step 4: Resubmit
Step 5: If rejected again, try a very different format
Conclusion: Checklist for Approval Guarantee
- Correct category selected (Marketing/Service/OTP)
- All variables sequential and with examples
- No spelling errors, correct spelling
- No aggressive sales language
- No excessive caps, emojis, or exclamation marks
- Link is clear and trustworthy (no shorteners)
- No prohibited content
- Buttons (if any) are clear and understandable
- Media (if any) is appropriate and quality
- Opt-out option (for marketing templates) available
- Professional and friendly tone
Final Advice: Send the template to yourself and read it from a user's perspective. The answer to "How would I feel if I received this message?" should be positive.