Chasing Reverbs · Internal Tool
Meta Ads → Spotify · Multi-Campaign Spend-Effectiveness
Runs entirely in your browser — no data leaves this page · no network calls.
Paste your two CSV exports (or drop the files). Both routes parse identically.
Meta: Ads Manager → select your campaigns → Breakdown → By time → Day → Reports → Export table data (.csv). Pull the widest possible date range — more start/stop changes between campaigns = better separability.
Spotify: artists.spotify.com → Audience → Download icon on the timeline. It already contains streams, playlist adds, saves and followers — no extra logging. Per song: Music → Songs → pick a song → Download (daily streams).
Pair the outcome to the campaign intent: song campaign → that song’s streams; playlist campaign → playlist adds; profile campaign → streams/saves. The tool ingests every campaign; you choose the outcome.
Give each a friendly name and intent. Auto-suggestions come from the result type & name — override freely.
Which Spotify metric are we attributing, and over what window? Short windows keep the trend a good local approximation and cut confounding with organic catalog growth.
Short windows keep the linear trend a good local approximation and cut overlap — fewer campaigns active at once, less confounding with organic catalog growth.
For windows ≤ ~8 weeks, Linear is enough — use Local only for longer windows.
Editable. Empty cell = blank (dropped from that fit, never treated as 0). Edits feed straight into the next run.
A conservative, rule-based interpretation: can you trust it, what moved, and what to do next. The detailed panels below show the work.
Whether the data can actually tell campaigns apart — and what to trust.
Each line is scaled to its own maximum — compare shapes, not heights. The question is whether they move together.
Active windows
The lift attributable to your ads, after subtracting the modeled baseline (trend + weekday + constant always-on spend).