Get Template Metrics
Returns Meta’s template analytics for up to 10 templates of a single application: an overall summary, a per-template summary, and a daily series.
Gap-filled buckets. Days Meta returns no data for are emitted as zero points, so the series is always continuous across the requested range.
Pending days. Zero buckets that fall after Meta’s dataAvailableUntil watermark are flagged isPending: true, telling you the day is not yet aggregated rather than genuinely empty.
Derived rates. deliveredRate, readRate, clickRate, and costPerDelivered are computed for you — rates to 4 decimals, amountSpent to 6. Rates are always recomputed from the totals, never averaged from the buckets.
Invariants. Σ series[].sent == summary.sent for each template, and the same holds for delivered, read, clicked, and amountSpent. The top-level summary is the sum of every template summary.
Limits. At most 10 templateId values and at most a 90-day range per request; split larger reports into several calls.
This endpoint is per-application and per-template. For organization-wide message volume, use Get Messages instead.
Note that this path is matched before /wa/{app_id}/templates/{source_id}, so metrics is never treated as a template ID.
Authorizations
Secret key in Bearer sk_... format. Server-to-server only — never embed it in a browser or mobile client. The organization is resolved from the key, so organization_id is never passed explicitly.
Path Parameters
Application ID. Must belong to the organization resolved from your secret key, otherwise the request returns 404 with APPLICATION_004.
"app_7poyXj8GXuv76e"
Query Parameters
Repeatable: ?templateId=a&templateId=b. Between 1 and 10 IDs per request. Blank values are discarded and duplicates collapsed before the request reaches Meta; more than 10 distinct IDs returns 422 with META_104.
1 - 10 elementsISO-8601 datetime. Start of the range. Defaults to 30 days before today 00:00:00 UTC.
ISO-8601 datetime. End of the range; must be greater than startDate, and the total span cannot exceed 90 days. Defaults to today 23:59:59 UTC.
Bucket size of the series. DAILY is the only value Meta exposes for template analytics, so this is effectively fixed.
DAILY Repeatable. Omit for the full core set (SENT, DELIVERED, READ, CLICKED, COST). Conversion metrics can be requested explicitly and are surfaced per bucket under additionalMetrics.
SENT, DELIVERED, READ, CLICKED, COST, APP_ACTIVATIONS, APP_ADD_TO_CART, APP_CHECKOUTS_INITIATED, APP_PURCHASES, APP_PURCHASES_CONVERSION_VALUE, WEBSITE_ADD_TO_CART, WEBSITE_CHECKOUTS_INITIATED, WEBSITE_PURCHASES, WEBSITE_PURCHASES_CONVERSION_VALUE Restricts the result to one messaging product. Omit for all products.
CLOUD_API, MARKETING_MESSAGES_LITE_API When true, Meta buckets the days in the WABA's own timezone instead of UTC. The applied choice is echoed back as usesWabaTimezone.