⚡Quick answer -
• After 1 July 2025, Meta bills per delivered template message (Marketing, Utility, Authentication).
• User-initiated Service conversations stay free for 24 h; “Free Entry Point” (FEP) chats can stay free for 72 h if you reply within the first 24 h.
• You can have multiple conversation windows open at the same time; each window (Service, Marketing, Utility, Authentication, FEP) is tracked and charged separately.
• The final, billable amount appears only in the message-status webhook → statuses[*].pricing field after delivery.
Use it when you need one place that explains:
• current WhatsApp pricing rules (post-1 Jul 2025)
• how overlapping windows affect what is free vs. billable
• where to fetch or verify the actual charge in webhooks, dashboards or invoices
• what happens if your wallet balance is low or zero
• Template message – Pre-approved outbound message (Marketing, Utility, or Authentication).
• Service conversation – 24-hour window that starts when a user messages you; replies are free.
• Free Entry Point (FEP) – Chat initiated from a Click-to-WhatsApp ad or Page CTA.
• FEP 72-hour window – If you reply within 24 hours, everything stays free for 72 hours from your first reply.
Category | Typical use | Rate (per delivered template) | Free in special window? |
Marketing template | Promo, abandoned cart | ₹0.95 | Never free unless inside FEP window |
Utility template | Order update, reminder | ₹0.13 | Free inside an open 24-h Service window or FEP window |
Authentication template | OTP, login code | ₹0.13 | Never free unless inside FEP window |
Service (free-form) | Agent text reply | ------ | Free inside 24-h Service window; not allowed outside |
Action | Allowed? | Cost |
User sends a message → you reply within 24 h | ✔️ | Free |
Free-form text | ✔️ | Free |
Utility template | ✔️ | Free |
Marketing template | ✔️ | Paid |
Authentication (OTP) template | ✔️ | Paid |
Free-form after 24 hr | ❌ | Not allowed |
Any template after 24 h (opens new window) | ✔️ | Paid |
Message type | Allowed? | Cost |
Free-form | ✔️ | Free |
Utility, Marketing, Authentication templates | ✔️ | Free |
Messages after 72 hr | Depends | Free-form not allowed; templates paid |
Action | Cost |
First marketing template (outside other free windows) | Paid |
Each follow-up marketing template | paid |
Free form | Not allowed |
Other templates | Paid (unless inside FEP) |
Action | Cost |
Utility template | Paid |
Additional Utility templates | Paid (each) |
Free-form (outside service) | Not allowed |
If within Service or FEP window | free |
Action | Cost |
OTP/auth template | Paid |
free-form | Not allowed |
If inside FEP window | Free |
If user replies (opens Service window) | Service replies free |
Resend OTP | Paid (each) |
Active windows | Billing rule |
Service + Marketing | Service messages free; Marketing templates paid |
Service + utility | Both free (inside 24 h) |
FEP + any other | Everything free for 72 h |
Multiple template categories | Each template charged separately (unless FEP free) |
Channel | System action | What you see | Result |
Campaign launch (insufficient balance) | Calculates estimated cost | Approximate amount in red | Campaign blocked until wallet recharge |
Manual chat (low balance) | Real time balance check | "Insufficient balance" | Message not sent |
API send (low balance) | Returns 400-series error | ------ | Message not sent |
Step | Where | What to check |
1 | Dashboard → Reports → Message Logs | Add columns “Template Name”, “Category”, “Charge Type”. |
2 | Billing → Invoices → Line Items | Counts per Category should match “Delivered Template” totals. |
3 | Spot-check | • Utility inside service window = $0 • Marketing inside service window = billed |
4 | Escalate issues | Collect Template ID + Message ID + timestamp → email |
• Marketing templates are always billed—even inside service or FEP windows.
• Utility is free only within the service window; the 25th hour is billable.
• Authentication templates are always billed.
• If you miss the first 24 hours of a FEP chat, the 72-hour free window never starts.
• Regional pricing varies; see your rate card JSON via API: /v1/account/rateCard.
• Quality downgrades can throttle throughput; maintain template relevance.
Scenario | Cost |
User messages → you reply within 24 h | Free |
User clicks CTA/Ad → you reply within 24 h | Everything free for 72 h |
You send any template outside Service/FEP | Paid |
Free-form message outside Service window | Not allowed |
Marketing templates | Always paid unless inside FEP |