Campaign engagement breakdown
Per-day, per-track engagement metrics for a campaign. One row per
(report_date, campaign_id, engagement_context, country_code, engaged_spotify_track_id).
Results are paginated.
Row schema: campaign_engagement_daily v1.0 — the same schema used
in JSONL bulk exports. Rows are idempotent on the primary key; re-ingesting
is safe.
Key difference from /metrics/breakdown: this endpoint covers the
full engagement window — including post-campaign streaming activity —
not just dates when the campaign was actively running.
engagement_context values:
catalog— same-artist spillover (and direct promoted-track plays) on track campaigns.playlist— per-track performance inside the promoted playlist on playlist campaigns.
listeners is deduplicated within each row only. Do not sum
listeners across days to get a campaign total.
Date range: if you omit both dates, defaults to the last 90 days
ending today. Override with startDate / endDate. Responses are
capped at 90 days — a wider range returns 400 invalid_query_parameter.
Mutability window: rows for a given report_date can be revised
for up to 7 days after the date closes due to delayed Spotify
playback events.
Requires the metrics:read scope. Accepts API key or OAuth Bearer.