See it work — no upload required
This walks one real run of the engine on sample data from a media buyer's week: three messy exports (Meta, Google, TikTok), stitched together and turned into a ranked list of what to scale, pause, and test. Every number you'll see is computed from the data — the engine explains its reasoning, it never guesses. Click Next to watch it happen.
Step 1 — Three exports that don't agree with each other
This is what a buyer actually has at 9am: an ad-platform export, a landing-page report, and a conversions log — each with its own column names, its own idea of a 'tracking key,' and some rows that are just broken. The engine reads all of them without manual cleanup: headers are alias-matched across Meta/Google/TikTok/Taboola, so 'sub_id', 'utm_content', and 'tracking key' all resolve to the same thing. Bad rows aren't silently dropped — they're counted and surfaced (see the skipped/defaulted tallies), because a number that doesn't tie out is the buyer's problem to know about, not the tool's to hide.
Ad performance export
Ad Name,Sub ID,Impressions,Clicks,Spend,Date hero-video,SUB-HERO,12000,480,1200,2026-03-04 budget-drain,SUB-DRAIN,5000,100,2400,2026-03-04 steady-eddie,SUB-STEADY,60000,1200,4800,2026-03-04 new-angle,SUB-ANGLE,600,30,50,2026-03-04
Landing-page export
Landing Page URL,Tracking Key,Visits,Bounce Rate,Avg Time on Page https://itstoday.example/hero,SUB-HERO,9000,35%,00:01:20 https://itstoday.example/drain,SUB-DRAIN,4200,68%,00:00:18 https://itstoday.example/steady,SUB-STEADY,48000,45%,00:00:55 https://itstoday.example/angle,SUB-ANGLE,520,40%,00:01:05
Conversions export
Tracking Key,Conversion Type,Revenue,Conversion Time SUB-HERO,acquisition,120,2026-03-05 SUB-HERO,acquisition,120,2026-03-05 SUB-HERO,acquisition,120,2026-03-05 SUB-HERO,acquisition,120,2026-03-05 …
Step 2 — Stitch them on the tracking key (and admit what doesn't match)
Now the three feeds get joined on the shared tracking key so spend, landing-page behavior, and conversions line up per creative. The honest part is the leftovers: conversions that matched no creative, ads that never drove a visit, landing pages with no traffic. Most dashboards bury these. This one reports them — because 'why don't these numbers tie out?' is the question a buyer asks every single day, and the orphan counts are the answer.
| Matched | 4 |
|---|---|
| Orphaned ads / LPs / conversions | 0 / 0 / 1 |
| Ambiguous landing pages | 0 |
| Ad / conversion rows skipped | 0 / 0 |
Step 3 — Score every creative against a volume-weighted baseline
Each creative is measured against the portfolio's own baseline, not a vanity target — and the baseline is volume-weighted, so a creative with 200 impressions can't drag the bar the way one with 200,000 does. Crucially, every creative gets a confidence tier based on whether it has enough impressions and conversions to trust. This is where the engine refuses to fool you: a creative that looks like a winner on 50 clicks is marked low-confidence, not 'scale.' You're seeing all of them here — including the ones the engine will decline to act on — because knowing what you can't conclude yet is half the job.
- CTR: 0.020 (baseline 0.023 )
- CPL: 80.00 (baseline 48.34 )
- ROAS: 0.25 (baseline 1.78 )
- CTR: 0.040 (baseline 0.023 )
- CPL: 20.00 (baseline 48.34 )
- ROAS: 4.00 (baseline 1.78 )
- CTR: 0.050 (baseline 0.023 )
- CPL: 10.00 (baseline 48.34 )
- ROAS: 1.20 (baseline 1.78 )
- CTR: 0.020 (baseline 0.023 )
- CPL: 40.00 (baseline 48.34 )
- ROAS: 2.00 (baseline 1.78 )
Step 4 — The verdict: scale, pause, or test — with the evidence
Now the call. Each action carries its reasoning: the metric, how far it deviates from baseline, the confidence, and the spend at stake. Two judgments are baked in. First, the engine demands stronger evidence to pause than to scale — pausing kills spend that might recover, so it's the more destructive move and earns a higher bar. Second, low-confidence creatives can only be routed to 'test,' never scaled or paused — you don't bet real budget on noise. Scale the winners, cut the money-losers, test the maybes — and every line is reproducible from the data above.
-
scale hero-video high confidence · $1200 spend
scale: ROAS 4 is 124% above the 1.782 portfolio baseline (high confidence, $1200.00 spend)
-
pause budget-drain high confidence · $2400 spend
pause: CPC 24 is 154% above the 9.454 portfolio baseline (high confidence, $2400.00 spend)
-
test new-angle low confidence · $50 spend
test: CTR 0.05 is 114% above the 0.02332 portfolio baseline (low confidence, $50.00 spend)
3 actionable · 1 no-action · 0 unrankable
Now run it on your own numbers
That was sample data. Drop in your own ad, landing-page, and conversion exports and the same engine runs on your week — column order and platform naming don't matter. Only the ad-performance file is required.
Upload your CSVs