When to kill an ad campaign (and when you're just impatient)

Decision rules for shutting a campaign down: how much data you need first, where the break-even line sits, and why the edit you make on day three costs you a week.

The Flowjat team

· 6 min read

It’s day three. You’ve spent €90 and you have one signup, or none. The graph is a flat line with a single sad dot on it. Your thumb is hovering over the pause button, and the only thing stopping you is a vague sense that everyone says you’re supposed to “let it run.”

That feeling is worth taking seriously, because both of the available mistakes cost real money. Killing a campaign too early throws away the spend you already used to buy information, and you never get the answer. Letting a genuinely broken campaign run “just one more week” burns budget on a question that was already settled. The way out isn’t more patience or less patience — it’s deciding in advance what would count as an answer.

Two failures, same invoice

Impatience and denial feel like opposites, but they produce the same outcome: money spent, nothing learned.

Impatience looks like pausing on day four, restarting with a new audience, pausing again on day eight, then concluding “Meta doesn’t work for us.” You’ve spent €300 across three half-finished experiments and can’t say anything about any of them.

Denial looks like a campaign running six weeks at double your break-even, kept alive because next week might be different. It usually comes with a story attached — a seasonal excuse, a creative you’re about to refresh, a conversion you’re sure isn’t being tracked.

Both are what happens when there’s no threshold written down. So write one down before you launch, when you’re calm and not watching a live spend counter.

Rule 1: the platform isn’t finished thinking yet

Before you judge anything, you need to know whether the campaign has even had a fair run. Both big platforms explicitly tell you it takes time.

Meta’s ad sets go through a learning phase, and Meta’s guidance is that an ad set needs roughly 50 optimisation events within a week of your last significant edit to stabilise. Below that, it can sit in “learning limited” — where delivery is less stable and the cost per result you’re staring at is genuinely not representative. See Meta’s own note on the learning phase for the current wording.

The trap is the phrase last significant edit. A significant edit isn’t only pausing — Meta counts changes to your optimisation event, your audience and your creative, and budget or bid changes can qualify too depending on how big they are. Every one of those restarts the clock. This is why the panic-edit loop is so expensive: you never let a single version of the campaign accumulate 50 events, so you’re permanently reading the least reliable numbers the system produces, which makes you want to edit again.

Google is slower still. Its documentation says a bid strategy can take up to three weeks, or one to two conversion cycles, to calibrate to a new objective — and your conversion cycle is however long it takes someone to go from click to paid, which for a trial-based SaaS is often two weeks on its own.

So: no kill decisions during learning, and no exploratory edits either. If you can’t leave a campaign alone for two weeks, you don’t have enough budget to test it yet — a problem worth solving before launch rather than during, which is what how much a small SaaS should spend on Facebook ads works through.

Rule 2: count conversions, not days

“It’s been two weeks” is not a data threshold. Two weeks at €10/day with a €60 target cost per signup is three signups, which tells you almost nothing. The honest unit is conversions accumulated, and the rough shape of what each amount buys you looks like this — say your target cost per trial signup is €50:

Spend so farConversions at targetWhat it can honestly tell you
€50 (1×)1Nothing. One conversion is a coin flip.
€150 (3×)3Only the extremes — a total failure or an obvious hit
€250 (5×)5A weak signal. Enough to worry, not enough to act
€500 (10×)10Directional. You can make a call
€1,500 (30×)30Comfortable. Rare at indie budgets

Two things fall out of this. First, the “wait for enough data” advice has a price tag: at a €50 target CPA, a readable answer costs around €500 per thing you’re testing. That’s the tuition, and knowing it upfront stops you from launching four ad sets you can only afford to half-run.

Second — and this is the part people skip — zero conversions is data too. If your target CPA is €50 and you’ve spent €400 with nothing at all, you don’t need statistical comfort. Something is broken, and it’s usually not the bidding.

Rule 3: measure against the break-even line, not against a vibe

“Is €68 per signup good?” is unanswerable in isolation. It’s only good or bad relative to what a customer is worth to you, which is arithmetic you can do once and reuse forever.

Take a €29/month product at 80% gross margin, with customers staying about 12 months on average. Gross profit per customer is 29 × 0.8 × 12 ≈ €278. If you’ll accept a six-month payback, your ceiling on acquisition cost is 29 × 0.8 × 6 ≈ €139.

Now the day-14 numbers mean something. Suppose you’ve spent €350:

SignupsCost per signupTrial→paid at 40%True CACVerdict
12€294.8 customers€73Working. Scale slowly
7€502.8 customers€125Marginal — inside the ceiling, barely
4€881.6 customers€219Above break-even. Fix or kill
00Broken. Diagnose before relaunching

Note the column that does the damage: the cost per signup looks survivable in every row, and the cost per paying customer is what decides it. If you’re not sure where your own ceiling sits, understanding ROAS walks through deriving the break-even line from margin and retention rather than borrowing someone else’s benchmark.

One more caution before you act on a number: platform-reported conversions and the ones you can find in Stripe rarely match, and the gap widens the shorter your measurement window. Attribution windows explain why platforms claim conversions you can’t find — worth reading before you kill a campaign on a discrepancy rather than on a result.

The kill checklist

A campaign is genuinely dead when all four are true:

  1. It has left the learning phase (or has clearly failed to reach it on your budget).
  2. You’ve spent at least 5–10× your target CPA on this specific version, without a significant edit resetting it.
  3. Its cost per paying customer is above your break-even ceiling, using revenue you can verify, not platform-reported conversions.
  4. You have a hypothesis for why, and it isn’t “the algorithm.”

Miss any one and you’re guessing. Hit all four and stopping isn’t defeat — it’s the experiment concluding.

When it isn’t the campaign

Before you rebuild anything, check the three things that make every campaign look broken:

Tracking. If your conversion event doesn’t fire reliably, you’re optimising towards a signal that isn’t there and blaming the campaign for a plumbing fault. Verify a real signup end-to-end first.

The landing page. A 1% signup rate on the page will bury a perfectly good ad. Ad-side costs are visible and page-side leaks aren’t, so the ad takes the blame by default.

The offer. If nobody wants the thing at that price, ads make that fact arrive faster and more expensively. Useful information, but no amount of audience tweaking fixes it.

The tell: if three consecutive campaigns across two platforms all fail at roughly the same cost, the common factor isn’t the campaigns.

Where Flowjat fits

Every rule above depends on knowing your real cost per paying customer, not your platform-reported cost per click — and that number lives in two systems that don’t talk to each other. Flowjat joins your ad spend to the revenue that actually landed, so the kill decision is made against your break-even line with verified numbers. It also keeps track of when each campaign was last significantly edited, which is usually the fact people forget when they wonder why the data still looks unstable.

The Flowjat team

Building the ad copilot for builders

Build with us, not just read about it.

Connect your accounts and tell us what's missing. It shapes what we ship next.

Start free