WhatsApp is the #1 conversion channel in Francophone Africa. But the WhatsApp Business API requires pre-approved templates for outbound messages (outside the 24h window). Bad submission = rejection. Good submission = legal scalable communication.
TL;DR
- 3 categories: MARKETING (promo), UTILITY (transactional), AUTHENTICATION (OTP).
- Meta approval: 1-24h per category.
- Typical first-pass rejection rate: 30-40%. With best practices: <10%.
The 3 template categories
| Category | Use cases | Cost | Approval |
|---|---|---|---|
| MARKETING | Promo, newsletter, launch | €0.05-0.10 | Strict |
| UTILITY | Order confirmation, tracking, reminder | €0.01-0.03 | Lenient |
| AUTHENTICATION | OTP, verification codes | €0.01 | Very lenient |
Choose UTILITY whenever possible — cheaper + faster approval.
Meta 2026 rules (essentials)
- No ALL CAPS text except a short word ("URGENT", "FREE").
- No "Click here" — use specific CTAs ("View my order").
- Variables {{1}} {{2}} numbered sequentially.
- Suspicious shortened URLs rejected — use your direct domain.
- Emojis OK but sober (1-3 per template).
- Consistent category — a MARKETING message submitted as UTILITY = ban.
- Correct declared language — a "fr" template in poor French = rejection.
12 tested approved templates
Template 1 — Order confirmation (UTILITY)
`
Name: order_confirmation
Category: UTILITY
Hello {{1}},
Your order #{{2}} is confirmed 🎉
Details:
- Amount: {{3}} XOF
- Estimated delivery: {{4}}
Live tracking: {{5}}
A question? Reply to this message.
`
Template 2 — Delivery update (UTILITY)
`
Name: delivery_update
Category: UTILITY
Hello {{1}},
Your order #{{2}} is on its way! 📦
Status: {{3}}
Driver: {{4}} ({{5}})
ETA: {{6}}
Track live: {{7}}
`
Template 3 — Appointment reminder (UTILITY)
`
Name: appointment_reminder
Category: UTILITY
Hello {{1}},
Reminder for your appointment tomorrow:
📅 {{2}}
🕐 {{3}}
📍 {{4}}
To modify or cancel: {{5}}
See you tomorrow!
`
Template 4 — Cart abandoned (MARKETING)
`
Name: cart_abandoned
Category: MARKETING
Hello {{1}},
You forgot something in your {{2}} cart:
🛍 {{3}}
Resume: {{4}}
Have a great day!
`
Template 5 — Limited promo code (MARKETING)
`
Name: promo_code
Category: MARKETING
🎁 Hello {{1}}!
Special 48h-valid code: {{2}}
Save {{3}} on your next {{4}} order.
View products: {{5}}
`
Template 6 — OTP (AUTHENTICATION)
`
Name: otp_verification
Category: AUTHENTICATION
Verification code: {{1}}
Valid 10 minutes. Don't share with anyone.
`
Template 7 — Welcome new user (UTILITY)
`
Name: welcome_new_user
Category: UTILITY
Hello {{1}},
Welcome to {{2}}! 👋
Your account is created. To start:
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
- Complete your profile: {{3}}
- Discover services: {{4}}
A question? Our team is available via this chat.
`
Template 8 — Post-purchase review request (UTILITY)
`
Name: review_request
Category: UTILITY
Hello {{1}},
Was your order #{{2}} well received?
If yes, your feedback helps us improve:
⭐ Give my review: {{3}}
If problem: reply to this message, we'll handle it.
`
Template 9 — Restock alert (MARKETING)
`
Name: product_restock
Category: MARKETING
Hello {{1}},
The product you were waiting for is back!
🛒 {{2}}
Price: {{3}} XOF
Order before stockout: {{4}}
`
Template 10 — Payment confirmation (UTILITY)
`
Name: payment_confirmation
Category: UTILITY
Hello {{1}},
Payment received! ✅
Amount: {{2}} XOF
Reference: {{3}}
Method: {{4}}
Details: {{5}}
Thank you for your trust.
`
Template 11 — Quote sent (UTILITY)
`
Name: quote_sent
Category: UTILITY
Hello {{1}},
Your quote #{{2}} is ready:
💰 Amount: {{3}} XOF
📅 Valid until: {{4}}
View detailed quote: {{5}}
To approve: reply YES or click link.
`
Template 12 — Dormant reactivation (MARKETING)
`
Name: reactivation_offer
Category: MARKETING
Hello {{1}},
It's been {{2}} months without news!
To celebrate your return, here's a -{{3}}% code valid {{4}} days:
🎁 Code: {{5}}
View new arrivals: {{6}}
`
Common rejection traps
| Error | Example | Fix |
|---|---|---|
| Too short/shortened URL | bit.ly/abc | Full domain kolonell.com/x |
| Promo in UTILITY | "10% off" in UTILITY | Re-submit as MARKETING |
| Unused variables | Template with {{1}} but 0 var | Variables/content consistency |
| Excessive emojis | 🎉🎁🎊🎈🎀 | Max 3 per message |
| Wrong language | "fr" for Wolof | Declare "wo" if Wolof |
| Too long | >1024 chars | Reduce or split |
Submission via Brevo / 360dialog
Brevo handles WhatsApp API + template submission. Procedure:
- Brevo > Conversations > WhatsApp > Templates
- Click "New template"
- Fill name, category, language, content, variables
- Submit — Meta responds in 1-24h
- Visible status: Approved / Rejected / Pending
If rejected: Brevo shows Meta's reason. Fix and resubmit.
Opt-in compliance
Before any WhatsApp marketing, you MUST have:
- Explicit consent (checkbox at signup)
- Unsubscribe channel mention
- Privacy policy link in welcome emails
Without valid opt-in = Meta ban + possible GDPR/CDP fine.
FAQ
Q: Typical Meta approval delay?
A: UTILITY: 1-4h. AUTHENTICATION: 1h. MARKETING: 4-24h.
Q: Avg cost for 1000 messages?
A: Typical UTILITY/MARKETING mix: ~€25-40 for 1000 WhatsApp messages via Brevo.
Q: Wolof templates accepted?
A: Yes, Meta supports 60+ languages including Wolof, Swahili, Hausa. Declare correct language at submission.
Conclusion
WhatsApp Business templates = mandatory stack to scale the channel in 2026. 12 well-written templates + 1 day of submission = full African e-commerce coverage. Maintaining MARKETING vs UTILITY consistency = key to minimize fees and rejections.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.
