Zero Conversions, Spend Climbing: A First-48-Hour Triage
A new campaign goes live, spend ticks up by the hour, and the conversions column stays a flat zero. The instinct is to blame the ads — pause the set, swap the creative, rewrite the hook. That instinct is almost always wrong, and acting on it early destroys the only thing the campaign has going for it: time to learn. A new Meta campaign with zero conversions is, far more frequently, a tracking question or an offer-feasibility question. The triage below front-loads those two before you let yourself judge a single ad.
For the surrounding account decisions, compare The ~50 Conversions/Week Myth: What Exiting Learning Needs and use Fresh Ad Account, Zero History: Your First Learning Phase as the next diagnostic.
Why you don’t touch the creative first
In the first 48 hours, the system is still searching. The optimizer needs enough recent conversion signal before delivery stabilizes — think in terms of an illustrative planning range of a few dozen optimization events per ad set per week, not an exact threshold. Below that, performance is noise. If you pause and relaunch every time the count reads zero, you reset the learning clock and assurance you never accumulate the signal you’re waiting on.
So the question isn’t “are these ads bad?” It’s “is anything actually broken upstream of the ads, and is the math even possible?” Resist the first instinct. Run the triage in order. Each step is cheap, and the order matters because a failure at step one makes every downstream judgment meaningless.
Step 1 — Is the conversion event firing at all?
Zero conversions in the dashboard has two completely different causes: nobody converted, or somebody converted and the event never came back. You cannot tell which from the campaign view. Go check the signal directly.
- Fire a live test. Walk your own funnel end to end — click the ad, add to cart, complete a purchase (or a test order). Watch the event arrive in your events tooling in near real time. If your own conversion doesn’t register, the campaign was never going to show conversions no matter how good the creative is.
- Check event freshness, not just existence. An event that “exists” but last received a hit three days ago is effectively dead for a campaign that launched today. Confirm the pixel and server-side events are both receiving recent activity.
- Confirm deduplication. If browser and server events are double-firing or failing to match on a shared event ID, your counts get unreliable in both directions. Mismatched or missing IDs are a classic silent killer on a freshly wired setup.
- Verify the optimized event matches the fired event. A campaign optimizing for “Purchase” while the site only fires “Add to Cart” will sit at zero purchases forever and look like a creative failure. This is the single common cause of a new campaign reading zero.
If signal is broken, stop. Nothing below this line is diagnosable until the event comes back clean. Fix the wiring, then give delivery a fresh, uninterrupted window.
Step 2 — Is the campaign allowed to optimize for this event?
Even with a perfectly firing pixel, a brand-new event has no history. Optimizing for a deep, rare event from a cold start gives the system almost nothing to steer toward, and delivery throttles itself trying.
- Check the event’s recent volume. If your optimized event records only a handful of conversions across the whole account per week, the optimizer is being asked to find needles with no magnet. Account-wide scarcity, not this campaign, is the constraint.
- Consider optimizing one step shallower to start. A higher-frequency upstream event (initiate checkout, add to cart) gives delivery denser signal early; you migrate deeper once volume supports it. This is a feasibility decision, not a compromise.
- Confirm the event is selected and prioritized correctly in your event configuration. A purchase event that isn’t ranked or mapped won’t be available as an optimization target, and the campaign quietly optimizes for something else.
Step 3 — Is the offer feasible at the traffic you’re buying?
This is the step operators skip, and it’s where most “bad campaigns” actually die. Before blaming delivery, do the arithmetic. The question is whether a conversion is mathematically plausible in this window given how much traffic you’ve bought.
Work it backwards from your funnel:
| Stage | Realistic planning rate | What it implies |
|---|---|---|
| Click to landing-page view | ~80–95% | Bounce/load loss |
| LPV to add-to-cart | ~5–15% | Offer and page strength |
| Add-to-cart to purchase | ~10–30% | Checkout friction, price |
Chain those together and you get an effective click-to-purchase rate that’s frequently a low single-digit percentage or less. Multiply that by the clicks your spend has actually bought so far. If the expected number of purchases in the first 48 hours rounds to less than one, then zero is the statistically expected outcome — not evidence of anything wrong. You haven’t bought enough traffic yet to have earned a conversion.
This reframes the panic. A campaign that has purchased, say, a few hundred clicks at an expected sub-2% conversion rate is supposed to be near zero this early. The honest move is patience, not intervention. (Use illustrative ranges like these as planning anchors for your own funnel, never as ensures — measure your real rates and replace them.)
If the math says a conversion should have landed by now and none has, that points you back to Step 1 (signal) or forward to a genuine funnel problem: a broken checkout, a price-to-offer mismatch, a landing page that doesn’t deliver what the ad promised.
Step 4 — Only now, look at delivery and the ads
With signal verified and feasibility confirmed, you’ve earned the right to read the campaign view. Look at the chain, not the conversions:
- Is it spending and delivering? Impressions and reach accumulating at a sane frequency means delivery is healthy. A campaign barely spending has a different problem (budget, bid, audience size, or a learning-limited ad set).
- Is the click-through behaving? A reasonable CTR with zero conversions sharpens the diagnosis toward the funnel or tracking. A weak CTR points at the top of the ad. These are different fixes.
- Read frequency. If frequency is climbing fast on a tiny audience, you’re saturating before you’ve learned — a structural issue, not a creative one.
Notice that creative is the last lever, and even here the data tells you whether the problem is the ad (low CTR) or everything after the click (good CTR, no conversions). You almost never need to guess.
The 48-hour checklist
- Fire a live test conversion and confirm it arrives — fresh, deduplicated, matching the optimized event.
- Confirm the optimized event has real recent volume; optimize one step shallower if it’s starved.
- Do the feasibility math: expected purchases = clicks bought × realistic funnel rate. If that’s under one, zero is expected — wait.
- Only then read delivery: spend, impressions, frequency, CTR. Let the chain tell you whether it’s the ad or the funnel.
- Do not pause, relaunch, or swap creative on day one unless Step 1 found a genuine break.
This is exactly the kind of read-only triage Bach AI runs before it suggests anything — checking signal freshness and feasibility first, and refusing to call a launch a “loser” until the math says it could have converted. It surfaces what it finds and waits for your approval before it acts.
Takeaway
Zero conversions in the first 48 hours is a diagnosis to make, not an alarm to react to. Verify the signal is firing, confirm the event is dense enough to optimize toward, prove a conversion was even mathematically possible at the traffic you bought — and only then read delivery and the ads. Most “broken campaigns” at this stage are perfectly healthy campaigns being judged a day too early, or perfectly good ads sitting behind a tracking event that never came home. Fix the wiring, respect the math, and give learning the uninterrupted window it needs.