Meta bills WhatsApp Business Accounts (WABA) based on conversation categories. There are four categories:
Each conversation type runs on a 24-hour billing window per category per customer.
Category | Who Starts It | Message Type | Billed? | Description |
Marketing | Business | Template (Promos, Offers) | ✅ Paid | Promotions, upsells, re-engagement |
Utility | Business | Template (Updates) | ✅ Paid | Order status, shipping, reminders |
Authentication | Business | Template (OTP, Login) | ✅ Paid | Verifying identity via OTP or login links |
Service | Customer | Free-form (24h) | ❌ Free | Customer-initiated chats (support, queries) |
💡 Example: Sending a shipping update (Utility) and a promo (Marketing) to the same customer will incur two charges if sent in different categories.
{ "conversation": { "id": "conv123", "category": "utility", "origin": "business_initiated", "window": "24h", "charge": "applied" }, "message": { "type": "template", "template_name": "shipping_update" }}{ "conversation_id": "string", "category": "marketing | utility | authentication | service", "origin": "business_initiated | customer_initiated", "window": "24h", "charge": "applied | free"}✅ Final Note:
Think of billing as parallel 24-hour tracks.