campaign-analysis
Campaign analysis
The question this tier answers: is this burning money past the point where you should stop, or is it just early? Nothing here judges which creative wins, how much to scale, or why performance changed — that's this same skill's paid tier. This tier's whole job is loss prevention: catch the campaign that's clearly past its stop-loss threshold, and be honest when the data just isn't there yet to say more.
Before you start
- Tracking health first. If pixel or conversion tracking is broken, every threshold below is a decision made on garbage data. Route to
tracking-healthand don't proceed until it comes back clean. - Read
.agents/profile.md(../contracts/profile-v1.md) for Margin Basis and Target CPA. Either missing → ask the user directly; when you apply the break-even formula inreferences/stop-loss-thresholds.md, name exactly which inputs you used, not just the output number. - Read
.agents/data/normalized/and.agents/data/readouts/before asking for anything — see Data layer, below. The same export doesn't get asked for twice.
Absolute stop-loss threshold
Compute the break-even CPA/ROAS against Margin Basis — formula and the gross-margin-basis vs net-profit-basis distinction in references/stop-loss-thresholds.md. When mature spend (past the attribution window and any reporting lag — a "zero conversions" reading inside that window isn't a real zero) has run far past what Target CPA implies the conversions should be, recommend stopping.
Fixed wording: "stop-loss on absolute threshold." Never "this angle doesn't work" or "this creative failed" — those are comparative verdicts this tier has no evidence to support (see Boundary, below). The absolute threshold compares spend against an external number — target CPA, tolerable loss — never against another ad or creative, so it doesn't wait on the sample size a comparative verdict would need.
"Wait ≠ not working"
When conversion volume is too thin to compare this ad or creative against anything else, exactly two conclusions are legal: wait (let it keep running to accumulate signal) or restructure to get volume (consolidate audiences, placements, or budget so it accumulates faster). "This isn't working" is a comparative verdict — this tier doesn't have the evidence for it.