Skip to main content
Engagement export rows include playlist_position. On playlist campaigns, use it to see which slot each engaged track held on the campaign playlist for that day.
The field is available now and treated as beta until historical backfill for older campaign days finishes. Recent active days already have high coverage.

Get the data

Same endpoint as other engagement rows — no new route: GET /v1/campaigns/{campaignId}/metrics/engagement/export?engagementContext=playlist Requires the metrics:read scope. See JSONL exports for streaming and date windows.
Each line is a JSON object. Read playlist_position when engagement_context is playlist. Catalog rows always have null.

What the value means

Position comes from that day’s playlist crawl for report_date. After the crawl lands, historical days should show a position when the track was listed.

When null is expected

  • Catalog rows (engagement_context = catalog) — position only applies to playlist rows
  • Current UTC day — often null until the morning crawl finishes; it fills on the next data refresh
  • Track not on the playlist that day, or the track could not be matched to that day’s crawl
  • Historical backfill still pending for older campaign days
Treat null as unavailable — not an error. If a day looks wrong after crawl coverage should be complete, contact hello@getsoundlink.com.

Next

Understanding metrics · JSONL exports · API Reference