How to Track WhatsApp Service Message Charges Before October 1, 2026
To track WhatsApp service message charges before October 1, 2026, measure delivered SERVICE messages in Meta’s Pricing Analytics API and retain the pricing object from message status webhooks. Segment the results by phone number and market. You can establish volume now, but you should refresh the forecast after Meta publishes the October service rates by September 1.
Key takeaways
- Meta will charge per delivered service message from October 1, 2026; a customer-service conversation is no longer the billing unit.
- Pricing Analytics identifies these records with
pricing_type: REGULARandpricing_category: SERVICE. - Billable status webhooks expose
billable: true,type: regular, andcategory: serviceinside thepricingobject. - Service rates vary by market, match utility and authentication rates for that market, and have no volume tiers.
- The 72-hour free entry point for Click-to-WhatsApp ads and Facebook call-to-action buttons remains free for message delivery, so model it separately.
What changes on October 1, 2026
Meta’s official pricing update says non-template messages can only be sent while the 24-hour customer service window is open. From October 1, every non-template message sent by a person or third-party AI that is not powered by Meta Business Agent is charged as a service message.
That creates three boundaries your measurement plan must preserve:
| Boundary | How Meta classifies it | What to track |
|---|---|---|
| Human or third-party AI reply in the open window | Service message | Delivered message count by market |
| Meta Business Agent reply | Meta Business Agent message | Its separate category and token-based charge |
| Message in the 72-hour free entry point window | Delivery remains free | Entry point and window state |
Only one category charge applies to a message. Do not add a service charge and a Meta Business Agent charge to the same non-template reply. Also, do not assume the October rate is final today: Meta says it will publish the rates taking effect on October 1 by September 1, 2026, and may update rates as often as quarterly.
The earlier Meta Business Agent pricing comparison explains the architecture decision. The July 2026 rate-card guide explains the market-rate context. This guide starts after that decision: it shows what your team should measure before billing begins.
How to track WhatsApp service message charges
1. Establish a delivered-message baseline
Choose a representative period—normally four complete weeks—and query Pricing Analytics for the service category. Meta’s documented result includes these fields:
| Field | Use in your baseline |
|---|---|
start / end | Lock the reporting window |
phone_number | Separate each sending number |
country | Join volume to the correct market rate |
pricing_type: REGULAR | Exclude a different pricing type |
pricing_category: SERVICE | Count only service messages |
volume | Measure delivered service messages |
cost | Reconcile the charge when billing applies |
Store the result by day, phone number, and country. Do not collapse it into “conversations”: Meta’s October meter is each delivered business message, so a five-reply support exchange creates five measurement units, not one conversation unit.
2. Persist the pricing object from status webhooks
Meta says the category and charge also appear in message status webhooks. A billable service-message record contains this shape:
{
"pricing": {
"billable": true,
"pricing_model": "PMP",
"type": "regular",
"category": "service"
}
}
Persist the pricing object with your own message record before aggregating it. The important test is not whether an agent believed a reply was “support”; it is whether Meta reported the delivered message as category: service and billable.
3. Reconcile webhooks against Pricing Analytics
Run a daily reconciliation with two counts:
- Delivered status-webhook records where
pricing.categoryisservice. - Pricing Analytics
volumewherepricing_categoryisSERVICEfor the same phone number, country, and date window.
Investigate differences instead of silently averaging them. Common boundaries include late-arriving status events, mismatched time zones, a report window that excludes the final day, or messages classified under Meta Business Agent rather than service.
4. Build a forecast without inventing an October rate
Use a formula that keeps volume and rate separate:
forecasted service-message cost
= delivered SERVICE volume by market
× published service rate for that market
For planning before September 1, Meta says service rates are aligned with utility and authentication rates by market. Treat those current rates as a planning input, not a promise. Refresh the model when the official October rates are published, and do not apply utility/authentication volume-tier discounts to service messages because Meta states that service messages have no volume tiers.
If a Business Solution Provider adds platform or service fees, keep that line separate. The BSP bill audit explains why combining Meta usage and provider fees hides the decision you need to make.
5. Test the exceptions before launch day
Create a small acceptance matrix before October 1:
- a normal human reply inside the 24-hour customer service window;
- a reply generated by a third-party AI inside that window;
- a Meta Business Agent reply;
- a reply inside a valid 72-hour free entry point window;
- the same scenario across two recipient markets.
For each case, record the category returned by the status webhook and the matching Pricing Analytics row. This gives finance, support, and engineering one shared definition before the first bill arrives.
Where UnifyPort fits
The measurement above is for traffic sent through the official WhatsApp Business Platform. A team using UnifyPort’s unofficial interface for ordinary-account inbound messaging has a different control plane: Meta’s Pricing Analytics categories are not the source of truth for that path.
UnifyPort delivers a WhatsApp inbound message as the standard message.received envelope used for Telegram, LINE, TikTok, Zalo, and X:
{
"id": "evt_7c41f0b2a9",
"type": "message.received",
"provider": "whatsapp",
"account_id": "acc_8c21d0",
"occurred_at": "2026-07-14T02:15:00Z",
"data": {
"conversation": { "id": "84901234567", "type": "user" },
"sender": { "id": "84901234567", "type": "user", "name": "Minh Tran" },
"message": {
"id": "wamid.HBgM",
"type": "text",
"text": "Can you check my delivery window?",
"direction": "inbound",
"sent_at": "2026-07-14T02:14:58Z"
}
}
}
When signing is enabled, verify X-Device-Signature against the exact raw body using signing_secret and X-Device-Timestamp before processing the event. The webhook delivery reference documents the HMAC-SHA256 input and delivery behavior.
This is not a way to make an official-platform charge disappear while still sending through Meta. It is a separate integration choice for teams that need ordinary-account inbound access or one normalized queue across several messaging channels.
Limitations and trade-offs
The official WhatsApp Business Platform is the better fit when you need approved templates, official campaign tooling, Meta-native analytics, Click-to-WhatsApp attribution, or a Business Solution Provider’s managed support. Keep the official measurement plan if any part of the workflow still uses that platform.
UnifyPort does not replace WhatsApp policy compliance, official marketing capabilities, or Meta’s billing records. Its unofficial interface also does not provide Meta’s Pricing Analytics categories. For a mixed architecture, maintain separate ledgers and label every outbound path explicitly.
FAQ
Are WhatsApp service messages charged per conversation after October 1, 2026?
No. Meta says the charge is per delivered service message. Count each business-sent reply classified as service, not each 24-hour customer service window.
Which Pricing Analytics category tracks service messages?
Use pricing_type: REGULAR and pricing_category: SERVICE. Segment the returned volume and cost by phone number, country, and reporting window.
Can I calculate the final October cost in July 2026?
You can measure volume and build the model, but the final rate input is not yet locked. Meta says it will publish the rates effective October 1 by September 1, 2026.
Do service messages receive WhatsApp volume-tier discounts?
No. Meta’s update says service messages have no volume tiers, even though utility and authentication messages continue to have them.
Does the 72-hour free entry point window remain free?
Yes for message delivery. Meta says messages within the valid 72-hour free entry point window remain free for delivery, while Meta Business Agent token usage can still be charged separately.
Next step
If you are evaluating a normalized inbound path alongside the official billing model, follow the UnifyPort Quickstart and test a signed message.received event before changing production routing.
Sources
- Meta: Upcoming pricing updates for Meta Business Agent, service and utility messages — checked July 14, 2026.
- WhatsApp Business Platform pricing and rate cards — checked July 14, 2026.