How are marketing, utility, and authentication conversations opened?
These are business-initiated conversations. They open when a pre-approved template of that category is sent and delivered to the customer and there isn’t already an active window of the same category. Each has its own 24-hour window and billing rules. Sending another template in the same category within 24 hours reuses the current window (no new charge).
Quick navigation
- Opening conditions (checklist)
- Category rules (matrix)
- What starts/extends the 24-hour window
- How to verify in your UI
- API / logs (copy-paste samples)
- Scenarios & timelines
- Edge cases & limitations
- Expected outcomes
- Related FAQs
- Support & escalation
Opening conditions (checklist)
A Marketing/Utility/Authentication conversation opens when all are true:
- You send a template classified as Marketing, Utility, or Authentication.
- The template message is delivered successfully to the customer.
- There is no active conversation of the same category already open for that customer.
Category rules (matrix)
Conversation Type | Initiated By | Message Format | New Charge Triggered When… | Window Length | Billed? |
|---|---|---|---|---|---|
Marketing | Business | Template (promo/upsell) | No other Marketing window is open | 24h from delivery | Yes |
Utility | Business | Template (transactional/update) | No other Utility window is open | 24h from delivery | Yes |
Authentication | Business | Template (OTP/login) | No other Authentication window is open | 24h from delivery | Yes |
What starts/extends the 24-hour window
- Start: The moment of delivery of a qualifying template (by category).
- Reuse (no new charge): Sending another template in the same category within 24h.
- New charge: Sending a template in a different category (or the same category after its window expires).
How to verify in your UI
A) Meta WhatsApp Inbox (example UI)
- Open Inbox → select the conversation.
- Check the header for Marketing/Utility/Auth chips; each shows an expires in hh:mm timer.
- After delivering a template, watch the category chip appear/update and the pricing panel list the line item.
B) Your provider’s dashboard (typical)
- Open ticket details / attributes.
- Locate category attributes (e.g.,
marketing.expires_at,utility.expires_at,authentication.expires_at). - Check Billing/Usage for separate line items per category.
C) Mobile app (iOS/Android) — if supported
- Look for category chips and timers in the conversation header or info panel.
- Some apps display a toast confirming the template delivered and the category window opened.
API / logs (copy-paste samples)
1) Template opens a Marketing conversation (no window open)
{
"event": "template_delivered",
"template": { "name": "promo_launch", "category": "MARKETING" },
"conversation": {
"category": "MARKETING",
"opened": true,
"expires_at": "2025-12-01T14:00:00Z"
},
"pricing": { "billable": true }
}
2) Template reuses same category (within 24h, no new charge)
{
"event": "template_delivered",
"template": { "name": "order_update", "category": "UTILITY" },
"conversation": {
"category": "UTILITY",
"window": "REUSED",
"new_charge": false,
"expires_at": "2025-12-01T12:00:00Z"
}
}
3) Guardrail: delivery failed → no conversation
{
"event": "template_delivery",
"status": "FAILED",
"reason": "USER_UNREACHABLE",
"conversation": { "opened": false },
"pricing": { "billable": false }
}
4) Cloud API — send a template (copy/paste)
{
"messaging_product": "whatsapp",
"to": "+15551234567",
"type": "template",
"template": {
"name": "order_update",
"language": { "code": "en" },
"components": [
{
"type": "body",
"parameters": [
{ "type": "text", "text": "Your order has shipped." }
]
}
]
}
}
Scenarios & timelines
A) Same category within 24h
Time | Action | Result |
|---|---|---|
00:00 | Send Marketing template | Marketing window opens → Charged |
06:00 | Send another Marketing template | Same Marketing window → No new charge |
B) Cross-category in parallel
Time | Action | Open conversations | Billed? |
|---|---|---|---|
00:00 | Send Utility template | Utility | Utility |
10:00 | Send Marketing template | Utility + Marketing | Marketing |
Edge cases & limitations
- Free-Entry (72h) billing: If a Free-Entry window is active (CTWA/Page CTA + your reply ≤24h), billing is free; some UIs suppress other category chips. You may still need a Service window (24h) for non-template.
- Opt-out/Block: Respect user preferences; sends may be blocked regardless of windows.
- Template categorization: Incorrect categories can impact pricing and analytics; validate Marketing vs Utility vs Auth.
- Delivery failure: No window opens if the template is not delivered.
- Provider variance: Timers/labels differ by UI; use attributes like
*.expires_at.
Expected outcomes
- Delivering a template in a category with no active same-category window opens a 24h paid window.
- Delivering a template in the same category within 24h reuses the window (no new charge).
- Delivering a template in a different category opens a separate paid window.
Related FAQs
- What is conversation-based pricing?
- What opens a Service conversation?
- How long does a WhatsApp conversation last?
- Why was I charged multiple times for one customer?
Support & escalation
If behavior differs from this FAQ or billing looks incorrect, open a Support ticket from your admin portal (attach message IDs, timestamps, pricing logs, and screenshots) or contact your Customer Success Manager. Typical response time: 1 business day.
Updated on: 21/09/2025