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 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.

circle-info

If you want to deeply understand your conversion rates and the ROI/ROAS of your marketing campaigns, consult 360Pilotarrow-up-right.

Template Analytics in Countries with Restricted Meta Services

In regions where Meta services are restricted (such as Russia or China), Template Analytics often requires a VPN to function correctly. Without a VPN, end-users experience browser loading errors when clicking URL or Quick Reply buttons.

If recipients of your messages are primarily located in such regions, it would be helpful to disable template analytics.

Limitations

  • Button click analytics are only available for templates categorized as MARKETING or UTILITY.

  • 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:

D360-API-KEY*

string

The phone number API Key. How to generate it herearrow-up-right.

Expected outcomes:

Upon success, the API will respond with your WhatsApp Business Account ID. For example:

circle-exclamation

Get Template Analytics via API

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 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:

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]

chevron-rightResponse examplehashtag

circle-info

Interpretation:

  • Sent: Number of times the template was sent on that day in the given date range.

  • Delivered: Number of times the template sent was successfully delivered

  • Read: Number of times the template message was read.

  • Clicked: Array of button‐click metrics (only available for templates in category MARKETING or UTILITY), including total and unique clicks.

  • Cost: Cost metrics, e.g., total amount spent, cost per delivered, cost per URL button click (for campaigns/tracked templates).

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.

chevron-rightExamplehashtag

Disable template analytics

To disable button click tracking for a specific template, set the cta_url_link_tracking_opted_out field to true. Here is the explanation when this might be useful.

Via API using query param

POST https://waba-v2.360dialog.io/v1/configs/templates/external_id?cta_url_link_tracking_opted_out=true

Request example:

Via API using request body

Request example:

Name
Type
Description

D360-API-KEY*

string

The phone number API Key. How to generate it herearrow-up-right.

external_id*

string

External id (can be fetched with the get WABA templates requestarrow-up-right)

Expected outcome:

Upon success, the API will respond with the template category, external_id, and other parameters. Below is an excerpt of the API response:

FAQ

chevron-rightCan I get hourly granularity?hashtag

No — only daily granularity is available.

chevron-rightWhat is the maximum number of template IDs I can query at once?hashtag

Up to 10 template IDs per request.

chevron-rightCan I measure ROI/ROAS of my campaigns?hashtag

Yes, but you will need to use 360pilot to properly attribute costs and revenues per campaign, ad, source, etc.

chevron-rightHow can I improve my delivery rate?hashtag

If you are sending marketing messages, ensure you use MM API to increase the delivery rate. You can combine it with Conversions API to provide conversion feedback to Meta. This will maximize the performance of your sendouts.

Last updated

Was this helpful?