Campaign engagement breakdown
Per-day, per-track engagement metrics for a campaign. One row per
(report_date, campaign_id, engagement_context, engaged_spotify_track_id).
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. Use this for
catalog spillover analysis and long-tail retention.
engagement_context values:
catalog— same-artist spillover (and direct promoted-track plays) on track campaigns.engaged_track_isrcmay equalcampaign_target_isrc(the promoted track itself) or differ (spillover tracks).playlist— per-track performance inside the promoted playlist on playlist campaigns. One row per track in the playlist per day.
listeners is deduplicated within each row only. Do not sum
listeners across days to get a campaign total — the same listener
can appear on multiple report_date rows.
Row schema: campaign_engagement_daily v1.0. Rows are idempotent on
the primary key; re-ingesting is safe.
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.
Authorizations
Pass your Soundlink sk_* API key in the x-api-key header.
Keys can carry explicit scopes (for example campaigns:read, metrics:read) enforced by the backend.
Path Parameters
Campaign identifier (e.g. camp_abc123)
Query Parameters
Inclusive start date (YYYY-MM-DD). Defaults to campaign start date.
Inclusive end date (YYYY-MM-DD). Defaults to today.
Filter to a single engagement context. Omit to return both.
catalog, playlist Page number (1-indexed)
x >= 1Rows per page (max 500; higher default than list endpoints)
1 <= x <= 500report_date, streams, listeners Sort direction
asc, desc