Conecxt
Create account

Resources Insight

WhatsApp Business analytics: what Meta reports, what it doesn't, and the read-rate maths

Meta's analytics tell you what happened to your messages and what they cost. They don't tell you what happened in your shop. Here is what each report contains, the arithmetic for a read rate that means something, and the numbers to check on Monday.

Conecxt team 11 min read

Share WhatsApp LinkedIn

The short version

  • Meta's analytics endpoints report messages sent and delivered per number and day, cost and volume by pricing category and type, and per-template sent, delivered, read and button clicks.
  • Template analytics must be switched on once per account and cannot be switched off. Read and click counts are kept for 7 days from each send, and the lookback window is 90 days.
  • A read rate is read divided by delivered, not by sent. Failed and undelivered messages are not billed, so cost per read is Meta's charge divided by reads.
  • Conversion metrics, benchmarks and ad-style reporting belong to Meta's Marketing Messages API, which Conecxt does not offer. Replies per campaign, revenue and response times are your provider's job, not Meta's.
  • From 1 October 2026 the pricing analytics count service replies after a number's 1,000 free a month as regular, charged messages, alongside utility templates sent inside the window.

Subhankar Dey runs a tea retailer in Siliguri: eight people, two WhatsApp numbers, one for walk-in customers and one for the hotels and cafés the shop supplies. After the first festive campaign his accountant asked a fair question. The provider’s dashboard said 55% read, Meta’s invoice said one figure, and WhatsApp Manager said something else. Which number is true? Subhankar is invented; the arithmetic below is not.

All three can be true, because they measure different things. This article covers what WhatsApp Business analytics report, through Meta’s API and in WhatsApp Manager, what they leave out, and how to work out a read rate and a cost per read that will survive the accountant. Terms like “customer service window” and “template” are defined in our glossary.

What does WhatsApp Business analytics report?

Messages, money and template performance, as totals. Meta’s analytics page, updated 14 September 2026, describes one endpoint on the WhatsApp Business account with these fields:

FieldWhat it returnsGranularity and lookback
analyticsMessages sent and delivered, per phone number and country, split into templates, non-template messages and incoming messagesHalf-hour, day or month; one year
pricing_analyticsCost and volume of delivered messages by pricing category, pricing type, country, number and volume tierHalf-hour, daily or monthly; one year
template_analyticsPer template: sent, delivered, read, button clicks and costDaily; 90 days; up to 10 templates per request
template_group_analyticsThe same counts for a group of templatesDaily; 90 days
call_analyticsCalls made and received: count, cost and average durationHalf-hour, daily or monthly
group_analyticsMessages sent, delivered and read in WhatsApp groups, with joins and leavesDaily; 90 days; one group per request
conversation_analyticsConversation counts and cost under the pricing model Meta retired on 1 July 2025Kept for historical billing

Three caveats sit on the same page. Since 1 December 2025 the lookback for messaging, conversation and pricing analytics is one year, down from ten. “Analytics data is approximate and may differ from what’s shown on invoices.” And only numbers and templates attached to the account at the time of the request are included, so a number you remove takes its history with it.

WhatsApp Manager shows the same data without the API: View insights on each template under Manage templates, and an Error messages section on the template page with a Summary tab for the most frequent delivery errors and a Trend tab that plots them over time.

Messaging analytics: sent and delivered, by number and by day

The analytics field answers “how much did each number send, and how much arrived?” It takes a start and end time, a granularity of half-hour, day or month, and optional filters for phone numbers and countries. The product_types filter splits the count three ways: 0 for template messages, 2 for non-template messages, and 100 for incoming messages from customers.

That last one matters more than it looks. Meta gives no “replies per campaign” figure anywhere, but incoming messages per number per day is here, and a spike in incoming the day after a campaign is the blunt but honest measure of whether people answered. For Subhankar, a campaign to the hotel list on Tuesday and a doubled incoming count on Wednesday is the number the accountant should see first.

Pricing analytics: what you paid, by category and type

The pricing_analytics field is the one to reconcile against Meta’s invoice. It returns cost and volume for delivered messages, broken down by any of five dimensions: country, phone number, pricing category, pricing type and volume tier.

The definitions changed on 1 October 2026, and the live page now carries both readings. Through 30 September, a pricing type of FREE_CUSTOMER_SERVICE covered non-template messages and utility templates sent inside the customer service window. From 1 October it covers only non-template replies delivered within a number’s monthly free tier of 1,000, and REGULAR now also includes utility templates sent inside the window and replies delivered after the free tier is used. Each of those is charged, at ₹0.115 per delivered message to an Indian number before GST on Meta’s October 2026 card. A monthly query broken down by PRICING_CATEGORY and PRICING_TYPE tells you how much of the bill was marketing, how much was utility, and how many service replies crossed the free line. Our October cost guide has the rate table.

Two limits. If your account is billed through a partner’s credit line, Meta does not return cost at all and tells you to ask the partner. And the tier value only appears for utility and authentication messages, because marketing has no volume tiers; the first utility discount starts at 25 million messages a month, so an Indian SMB will see the bottom tier every month.

Template analytics: sent, delivered, read and clicks per template

This is the report people mean when they say “WhatsApp template analytics”. For each template, by day, it returns sent, delivered, read, button clicks and cost, with a lookback of 90 days and up to ten template IDs per request.

It has to be switched on first. Meta’s page says you confirm template analytics for the account once, in WhatsApp Manager or with one API call, and that “once confirmed, template analytics cannot be disabled”. The confirmation also directs Meta to add link tracking for website clicks and “to collect and anonymize data from your chats with customers” to improve its services. Read that sentence before you tick the box; most businesses do, and it is worth knowing what you agreed to.

What the counts mean:

  • Clicks are counted for URL buttons and quick-reply buttons, and only on templates in the marketing or utility category. Meta reports total URL clicks and unique_url_button, the number of distinct WhatsApp accounts that clicked, which is the figure to use.
  • Cost comes back as amount_spent, cost_per_delivered and, where the template has a URL button, cost_per_url_button_click. Quick-reply taps are not in that last one.
  • Read and click data for a message is only available for 7 days from the day it was sent. After that, Meta says, the counts for those messages “reset to zero and no further updates are recorded”. A template queried three weeks after a campaign can show fewer reads than it had on day five.
  • You can switch off link tracking on one template by setting cta_url_link_tracking_opted_out to true. Click counts for it then stop.

That 7-day rule is the usual reason a provider’s dashboard and WhatsApp Manager disagree. A dashboard built from Meta’s status webhooks keeps every read it was told about; the analytics endpoint forgets reads older than a week. Neither is wrong, but only one of them is yours to keep.

Template comparison: who blocked you, and why

Meta’s template comparison endpoint, updated 24 June 2026, takes two templates from the same account and reports which one has the lower ratio of blocks to sends, how many times each was sent, and each template’s top reason for being blocked. The reasons Meta lists include no longer needed, didn’t sign up, offensive messages, spam, and OTP not requested. Both templates must have been sent at least 1,000 times in the window, which can be 7, 30, 60 or 90 days.

For a shop sending two festive templates to two halves of a list, this is the closest thing Meta offers to a controlled test, and the block reason is the part to read: “didn’t sign up” is a list problem, not a copy problem.

Marketing Messages API: benchmarks, conversions and ad-style reporting

Meta’s second route for marketing templates, the Marketing Messages API for WhatsApp, reports more, and none of it applies to a business sending through the ordinary Cloud API. Conecxt doesn’t offer it; our guide to the Marketing Messages API covers what it is and who it suits.

What it adds, per Meta’s pages: benchmark cards in WhatsApp Manager that compare a template’s read rate and click rate with the 75th percentile of similar businesses in the same country or region, industry and template category over the past 30 days; conversion metrics such as add to cart, purchase and purchase value, reported when the business sends those events from its website or app through Meta’s Pixel or Conversions API; spend, cost per delivered and cost per click through the Insights API and an Ads Manager tab; and a click-event webhook, in limited availability, for clicks in the last 7 days. Direct Send, Meta’s template-free utility route, gets one line: templates it generates have the same template analytics, looked up by template ID.

If a provider’s dashboard shows “benchmark” or “purchase value” for your campaigns, ask which of Meta’s routes the messages went through.

What Meta’s analytics don’t tell you

They don’t tell you who read, what they replied, or what they bought. Specifically:

  • Analytics are totals. The per-person record of sent, delivered, read and failed lives in the status webhooks, which your provider receives, and the failure codes are only there.
  • Replies per campaign aren’t reported. Incoming messages per number per day are, and a quick-reply tap arrives as a message, so the matching has to happen in your inbox.
  • Revenue isn’t reported for Cloud API messages. The order has to be matched to the campaign on your side; our marketing ROI guide shows four ways, including a held-back control group.
  • Response time, chats per person, assignment and resolution are not Meta’s numbers at all; they are the provider’s.
  • Cost is withheld when you are billed through a partner’s credit line.

Our position: the two reports worth paying for are per-campaign delivered, read and failed with the codes, and per-journey counts at each step. Anything beyond that is Meta’s data in a nicer font, or a claim to ask how it was measured.

How to work out a read rate and a cost per read

Read rate is read divided by delivered. Cost per read is Meta’s charge divided by reads. Here is Subhankar’s retail-number campaign, with invented counts and Meta’s real India rate.

FigureValueHow
Sent6,000Meta accepted 6,000 messages
Failed360Codes on the webhook; not billed
Delivered5,6406,000 minus 360
Delivery rate94%5,640 divided by 6,000
Read within 7 days3,100Template analytics or the webhooks
Read rate55%3,100 divided by 5,640. Dividing by sent gives 51.7%, which is wrong
Charge₹4,867.885,640 delivered × ₹0.8631, Meta’s India marketing rate, before GST
Cost per delivered₹0.8631By definition
Cost per read₹1.57₹4,867.88 divided by 3,100
Unique URL clicks410unique_url_button in template analytics
Cost per click₹11.87₹4,867.88 divided by 410

That explains the accountant’s three numbers. The dashboard’s 55% was read over delivered, kept from the webhooks. WhatsApp Manager, opened three weeks later, showed reads only for the last 7 days of sends, so its rate had sunk. And the invoice included the hotel number’s utility messages and the service replies past the free tier, so it was never going to equal one campaign’s ₹4,867.88.

Meta’s cost_per_delivered is amount_spent divided by deliveries, which is just the rate. Cost per read and cost per click change when the copy changes, so those go on the monthly sheet. There is no honest benchmark to quote for a good number; compare this month’s campaign with last month’s, on the same list and the same 7-day read window.

What to check weekly

Five numbers, Monday morning, per number:

  1. Delivery rate per campaign. A drop from your own usual figure means the list has aged: see the status article for the codes behind it.
  2. Read rate per template, read over delivered, on the same 7-day window every time.
  3. Failed messages by code, with the share that were 131049 (the per-user marketing cap) and 131050 (people who stopped your marketing) listed separately.
  4. Service replies delivered this month against the 1,000 free per number, from pricing analytics by pricing type. After 1,000, each one costs ₹0.115.
  5. Block reason, from template comparison, for any template that has passed 1,000 sends.

If the fourth number crosses 1,000 by mid-month on a support number, the question isn’t “how do we reply less”; it’s whether the replies costing money are the ones customers needed.

Common questions

What analytics does the WhatsApp Business API provide?

Meta's analytics endpoints report messages sent and delivered by phone number and day, cost and volume broken down by pricing category and type, and per-template counts of sent, delivered, read and button clicks. There are also call, group and template-group analytics. None of them report replies per campaign, revenue or agent response times.

How do I see template analytics in WhatsApp Manager?

Open WhatsApp Manager, go to Manage templates and choose View insights on a template. Template analytics must be confirmed once for the account before data appears, and Meta says that once confirmed they cannot be switched off. Click counts are shown only for marketing and utility templates.

How do you calculate a WhatsApp message read rate?

Divide messages read by messages delivered, not by messages sent. Sent includes messages that never reached a phone, so dividing by sent understates the rate. Meta reports read only when the message is displayed in an open chat, and keeps read counts for 7 days from the send, so compare campaigns on the same window.

Does WhatsApp Business analytics show revenue or conversions?

Not for Cloud API messages. Meta's conversion metrics, such as purchases and purchase value from a website or app, are available only to businesses onboarded to its Marketing Messages API and reported through its ads tools. For ordinary template campaigns, orders have to be matched to the campaign on your side.

How long does Meta keep WhatsApp analytics data?

Since 1 December 2025, messaging, conversation and pricing analytics look back at most one year. Template and template-group analytics look back 90 days, and read and click data for individual messages is kept for 7 days from the send. Store the webhook statuses yourself if you need a longer history.

Sources

  1. Analytics (Meta for Developers) · Updated 14 Sep 2026
  2. Template comparison (Meta for Developers) · Updated 24 Jun 2026
  3. Marketing Messages API: viewing metrics (Meta for Developers) · Updated 30 Jun 2026
  4. Marketing Messages API: setting up conversion measurement (Meta for Developers) · Updated 21 May 2026
  5. Marketing Messages API: tracking click events (Meta for Developers) · Updated 30 Jun 2026
  6. Direct Send: view insights and analytics (Meta for Developers) · Updated 31 Jul 2026
  7. Conversation-based pricing, deprecated (Meta for Developers) · Common Crawl capture of 8 Sep 2026
  8. Status messages webhook reference (Meta for Developers) · Updated 14 Sep 2026
  9. Pricing on the WhatsApp Business Platform (Meta for Developers) · Updated 10 Sep 2026 (Common Crawl capture of 16 Sep 2026); India rates unchanged on the 1 Oct 2026 card
Share WhatsApp LinkedIn

Get the next one

One email when something new is published. Nothing else.

Unsubscribe from any email. See our privacy policy.

Run this on your own number

Create an account, connect your WhatsApp number, and invite your team.