Dynamo Developer DocsDynamo Developer Docs
External APICampaignsInsights

Get campaign summary insights

Summary insights for one marketing message campaign — spend, delivered, read rate, link-button clicks + costs, and offsite-conversion actions / values / ROAS. Covers the campaign's **full flight** by default; pass `startDate` + `endDate` (both or neither, `YYYY-MM-DD`) to restrict the totals to an exact day-granular window instead — the response's `date_start` / `date_stop` echo the range actually covered. May return `null` when there are no insights; returns `400` if the org isn't connected to Meta Ads.

get/campaigns/{campaignId}/insights

Beta

The External API is in beta. Endpoints, parameters, and response shapes may change — including breaking changes — in future releases. Pin to documented behavior before relying on it in production.

Authorization

x-api-key x-date x-signature x-api-version
x-api-key<token>

Your API key (the ApiKeys document id).

In: header

x-date<token>

Current timestamp as an IMF-fixdate string (GMT, US locale) "EEE, dd MMM yyyy HH:mm:ss z", e.g. "Sun, 06 Dec 2020 12:59:11 GMT". 30-second TTL.

In: header

x-signature<token>

HMAC-SHA256 of the x-date string keyed by your secret, lowercase hex.

In: header

x-api-version<token>

API version you're coding against — currently 1. Required; a missing or unsupported value returns 400 with Missing or unsupported x-api-version header. Supported versions: 1.

In: header

Path Parameters

campaignId*string

The Meta campaign id.

Query Parameters

startDate?string

Window start — a bare calendar date (YYYY-MM-DD; a datetime is rejected), inclusive. Requires endDate too — a lone date is a validation error. Omit both for the full flight.

endDate?string

Window end — a bare calendar date (YYYY-MM-DD; a datetime is rejected), inclusive. Requires startDate too — a lone date is a validation error. Omit both for the full flight.

Response Body

application/json

application/json

application/json

application/json

application/json

Try it

read-only

Kept in this tab only and signed in your browser — your secret never leaves your device.

Path

Query

Enter your key and secret to send.

curl -X GET "https://example.com/campaigns/120210000000000000/insights?startDate=2026-08-01&endDate=2026-08-04"
{  "campaign_id": "120210000000000000",  "campaign_name": "Spring Sale — message campaign",  "marketing_messages_spend": "0.02",  "marketing_messages_delivered": "2",  "marketing_messages_cost_per_delivered": "0.01",  "marketing_messages_read_rate": "100",  "marketing_messages_link_btn_click": "0",  "marketing_messages_link_btn_click_rate": "0",  "marketing_messages_cost_per_link_btn_click": "0",  "date_start": "2026-05-20",  "date_stop": "2026-06-18"}
{  "message": "string"}
{  "message": "string"}
{  "message": "string"}
{  "error": [    {      "message": "string",      "path": [        "string"      ],      "type": "string",      "context": {}    }  ]}