What’s changing in WhatsApp pricing on 1 July 2025, and how do I keep service conversations free?

What is the pricing structure for the WhatsApp Business API

⚡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.

When should I use this guide?

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


1 — Key definitions

• 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.


2 — Pricing model 

Template categories and base rates:

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


3 — How overlapping windows affect charges?

You can have concurrent windows of different categories for the same user. Billing is decided per message, based on which window is open and what you send.

A. 24-h Service Window (user-initiated)

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

B. 72-h Free Entry Point (FEP) Window

(Starts when a user clicks an Ad or CTA and you reply within 24 h)

Message type
Allowed?
Cost
Free-form
✔️
Free
Utility, Marketing, Authentication templates
✔️
Free
Messages after 72 hr
Depends
Free-form not allowed; templates paid


C. Marketing template window

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)

D. Utility Template window

Action
Cost
Utility template
Paid
Additional Utility templates
Paid (each)
Free-form (outside service)
Not allowed
If within Service or FEP window
free

E. Authentication (otp) template window

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)

F. When multiple windows overlap

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)


4 — Where to find final costs in webhooks

• WhatsApp adds pricing only to the message-status webhook.
• Look inside statuses[*].pricing after the message is delivered; this is the final, billable conversation charge.

5 — Balance checks, errors, and pre-campaign estimates

5.1 System behavior on low balance:

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

5.2 Pre-campaign cost estimate

Before launching a broadcast, the UI shows Approximate Cost so you can top-up if needed.

6 — Post-campaign auditing & verification checklist

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

support@myoperator.com

Account Managers can also review Credit History in the Accounts Panel.
Clients cannot see per-message deductions inside the standard dashboard.

7 — Edge cases & limitations

• 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.

• Direct/API messages do not show the exact deducted amount in the UI, and monthly statements lack per-message detail.

• Regional pricing varies; see your rate card JSON via API: /v1/account/rateCard.

• Quality downgrades can throttle throughput; maintain template relevance.


8 — Action checklist (what to do now)

  1. Audit templates (last 90 days) Dashboard → WhatsApp → Reports → Message Logs → Filter Type = Template → Export.
  2. Tag each template by category (Marketing / Utility / Authentication).
  3. Fix mis-categorised templates to avoid surprise charges.
  4. Prioritise service replies: set SLA alerts to respond within minutes.
  5. Budget for Marketing and Authentication sends; consolidate promos when possible.
  6. Use FEP smartly: ensure the first reply lands < 24 h to activate the 72-h free period.

9 — Summary

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