Sending templates is half the job. The other half is reading the numbers Meta gives you back, so you know what’s working and what to fix.
The four core metrics
For every template, Meta reports four counts:
| Metric | What it means |
|---|---|
| Sent | Meta accepted your message into its system |
| Delivered | The message reached the customer’s phone |
| Read | The customer opened the message |
| Clicked | The customer tapped a button in the message |
Example: a sale template shows 1000 sent, 970 delivered, 720 read, 110 clicked. Each step is a smaller number than the one before — that’s normal.
Turning counts into rates
Raw counts can mislead you. “1000 sent” sounds great until you learn only 400 were delivered. So turn counts into rates (one number divided by another):
- Delivered rate = delivered ÷ sent. How many actually reached phones. Low here usually means wrong or inactive numbers.
- Read rate = read ÷ delivered. How many people opened it. Low here means a weak opening line or bad timing.
- Click rate = clicks ÷ read. How many took action. Low here means a weak offer or unclear button.
Using the example above: delivered rate 97%, read rate 74%, click rate 15%. Now you can compare templates fairly, even when they were sent to lists of different sizes.
Reading button clicks
If your template has buttons, Meta counts clicks on them. This is your strongest signal because it measures action, not just attention.
Read = "they saw it"
Click = "they did something about it"If a “Shop now” button gets clicked a lot, your offer is landing. If reads are high but clicks are near zero, the message is being seen but the call to action isn’t convincing — change the button label or the offer.
Where analytics are limited
A few things are worth knowing before you rely on these numbers:
- Button click tracking is only available for templates in the Marketing or Utility category.
- Analytics are not supported for WABAs or business numbers based in the EU, UK or Japan.
- Offsite conversion metrics (app activations, checkouts, purchases) are only available with MM Lite.
- Only daily granularity is available — you can’t break the data down hour by hour.
- You can ask for at most 10 template IDs in a single request.
In countries with restricted Meta services
In regions where Meta services are blocked — for example Russia or China — your customers may need a VPN for the analytics features to work. Without one, tapping a URL or Quick Reply button can show a browser loading error on the customer’s end.
Turning analytics on
Template analytics are off by default. Switch them on for your WABA with a single call:
POST https://waba-v2.360dialog.io/marketing/template_analytics?enable=true
Header: D360-API-KEYPulling the numbers
Once enabled, fetch the data with a GET request. You pass a start and end time (as Unix timestamps), the granularity, and the template IDs you care about:
GET https://waba-v2.360dialog.io/marketing/template_analytics
?start=<unix_timestamp>
&end=<unix_timestamp>
&granularity=DAILY
&template_ids=<id>
&product_type=MARKETING_MESSAGES_LITE_APIRequired: start, end, granularity (set to DAILY), template_ids (up to 10), and product_type.
Optional: metric_types to narrow the metrics, and use_waba_timezone to report in your account’s timezone.
Turning tracking off
If you’d rather not track clicks on a template’s URL buttons, you can opt that template out:
POST https://waba-v2.360dialog.io/v1/configs/templates/external_id?cta_url_link_tracking_opted_out=trueHow to improve a template
Use the rates to aim your fixes:
- Low delivered rate → clean your contact list; remove wrong or inactive numbers.
- Low read rate → rewrite the first line, shorten the message, or send at a better hour.
- Low click rate → strengthen the offer, make the button label clearer (“Get 20% off” beats “Click here”).
Example: a store saw a 30% read rate on a 9 PM blast. Moving the send to 11 AM lifted it to 68% with no copy change at all — timing alone made the difference.
Change one thing at a time, then re-check the numbers. That’s how you steadily turn an okay template into a great one.