← All posts
Tutorial

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: REGULAR and pricing_category: SERVICE.
  • Billable status webhooks expose billable: true, type: regular, and category: service inside the pricing object.
  • 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:

BoundaryHow Meta classifies itWhat to track
Human or third-party AI reply in the open windowService messageDelivered message count by market
Meta Business Agent replyMeta Business Agent messageIts separate category and token-based charge
Message in the 72-hour free entry point windowDelivery remains freeEntry 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:

FieldUse in your baseline
start / endLock the reporting window
phone_numberSeparate each sending number
countryJoin volume to the correct market rate
pricing_type: REGULARExclude a different pricing type
pricing_category: SERVICECount only service messages
volumeMeasure delivered service messages
costReconcile 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:

  1. Delivered status-webhook records where pricing.category is service.
  2. Pricing Analytics volume where pricing_category is SERVICE for 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