Template Analytics
What you can learn: how to enable analytics, how to interpret them, and how to query them via API for your business templates on the Meta WhatsApp Business platform.
Why Template Analytics Matter
Template analytics help you understand how your message templates are performing. You can use them to answer questions like:
How many times was a template sent, delivered, or read?
If your template includes URL buttons or Quick Reply buttons, how many times were they clicked?
For businesses using the Marketing Messages Lite API, you can also track off-site conversion metrics (e.g., app activations, checkouts, purchases) tied to templates.
These insights let you evaluate template effectiveness (open-rate, click-rate), compare templates, optimize your content, calls to action, and more accurately tie WhatsApp template usage to business outcomes.
Data is reported with daily granularity in UTC time by default, or in the configured timezone of your WhatsApp Business Account (WABA). The underlying metrics are based only on business-initiated template messages (sent via Cloud API or Marketing Messages Lite).
Limitations
Button click analytics are only available for templates categorized as
MARKETINGorUTILITY.WABAs owned by or shared with Meta Business Accounts in the European Union, United Kingdom, or Japan, or that have a business phone number with a country calling code from any of those countries or regions, are not supported.
Offsite conversion metrics are available exclusively for businesses onboarded to MM Lite.
Enable template analytics
You must confirm template analytics on your WhatsApp Business Account before you can get template analytics. You can confirm template analytics using the WhatsApp Manager or the API.
Via API
POSThttps://waba-v2.360dialog.io/marketing/template_analytics?enable=true
Request example:
curl --location \
--request POST 'https://waba-v2.360dialog.io/marketing/template_analytics?enable=true' \
--header 'D360-API-KEY: <API_KEY_HERE>'Expected outcomes:
Upon success, the API will respond with your WhatsApp Business Account ID. For example:
{
"id": 102290129340398
}{
"error": {
"message": "Template Insights are not available yet for this WhatsApp Business account",
"type": "OAuthException",
"code": 200005,
"error_subcode": 4182002,
"is_transient": false,
"error_user_title": "Template Insights unavailable",
"error_user_msg": "Template Insights are not available yet for this WhatsApp Business account.",
"fbtrace_id": "<fb_trace_id>"
}
}For more error codes, refer to the official documentation from Meta here.
Get Template Analytics via API
Once analytics are enabled, you can retrieve daily metrics for your templates via the API.
Endpoint:
GEThttps://waba-v2.360dialog.io/marketing/template_analytics?start=1759749646&end=1759933601&granularity=DAILY&template_ids=1156697826259690&template_ids=1309207764213383&template_ids=1491614292113607&template_ids=666344773154602
Request example:
curl --location 'https://waba-v2.360dialog.io/marketing/template_analytics?start=1759749646&end=1759933601&granularity=DAILY&template_ids=1156697826259690&template_ids=1309207764213383&template_ids=1491614292113607&template_ids=666344773154602' \
--header 'D360-API-KEY: 'Template Analytics Parameters
Here’s how to use the parameters:
start
The start time for the date range you are retrieving analytics for. Can be represented as either a unix timestamp integer or a date string in the format YYYY-MM-DD. As template analytics are being provided with a daily granularity in the UTC timezone, a start unix timestamp that does not correspond to 0:00 UTC will be adjusted back to the current day’s 00:00 UTC.
1543536000
end
The end time for the date range you are retrieving analytics for. Can be represented as either a unix timestamp integer or a date string in the format YYYY-MM-DD. As template analytics are being provided with a daily granularity in the UTC timezone, an end unix timestamp that does not correspond to 0:00 UTC will be adjusted back to the current day’s 00:00 UTC.
1543708800
granularity
The granularity by which you would like to retrieve the analytics. Value must be DAILY.
DAILY
template_ids
An array of template IDs for which you would like to retrieve analytics for.
Maximum 10.
[1924084211297547,954638012257287,969725530748535]
metric_types
The types of metrics which you want to retrieve. If omitted or an empty array, analytics for all metric types will be returned.
COSTCLICKEDDELIVEREDREADSENTAPP_ACTIVATIONS (MM Lite only)APP_ADD_TO_CART (MM Lite only)APP_CHECKOUTS_INITIATED (MM Lite only)APP_PURCHASES (MM Lite only)APP_PURCHASES_CONVERSION_VALUE (MM Lite only)WEBSITE_ADD_TO_CART (MM Lite only)WEBSITE_CHECKOUTS_INITIATED (MM Lite only)WEBSITE_PURCHASES (MM Lite only)WEBSITE_PURCHASES_CONVERSION_VALUE (MM Lite only)
[SENT, DELIVERED, READ]
product_type
The product type of the metrics you want to retrieve. If omitted, only analytics for Cloud API will be returned.
CLOUD_API: Use this product type to filter for template metrics sent via Cloud APIMARKETING_MESSAGES_LITE_API: Use this product type to filter for template metrics sent via Marketing Messages Lite API
MARKETING_MESSAGES_LITE_API
<USE_WABA_TIMEZONE>
Whether to show metrics in the WABA’s configured timezone. If false or omitted, metrics will be shown in UTC.
If true, params start and end must be in the format YYYY-MM-DD.
-
true
How to use WABA Timezone
Display data in the WABA’s configured timezone by passing in the use_waba_timezone param with a value of true.
FAQ
Last updated
Was this helpful?