"Active" and spending $0: the pacer is refusing you.
The mental model that makes all of this click: Meta's pacing system spends budget where it predicts conversions. No prediction → no bids → $0 with a green "Active" light. Every fix below is really one fix: give the pacer something it believes in. In diagnostic order:
1–3: The dumb stuff that's the answer half the time
Status chain: campaign AND ad set AND ad all active — one paused parent silently kills children. Billing: a failed card stops everything with no fanfare; check payment settings first, ego later. Review: ads In Review or rejected can't deliver; a policy flag on the account quietly throttles even approved ones (check Account Quality).
4: Cost caps — the silent strike
A cost cap says "never bid above X." If the auction clears above X, Meta doesn't lose — it abstains. Zero spend, zero errors, forever. Remove the cap; if spend starts within hours, that was it. Re-add 20–30% above your real CPA only after delivery stabilizes.
5: Learning starvation
The pacer needs ~50 optimization events/week per ad set to predict confidently. Below that: Learning Limited, cautious delivery, throttled spend. Your options are physics, not preference — raise budget, consolidate ad sets so conversions pool, or optimize a higher-funnel event until purchase volume exists.
6: Audience the pacer can't believe in
Tiny retargeting pools, over-stacked interests, aggressive exclusions: not enough people to predict on. 2026 answer: broad + Advantage+ and let creative select the customer.
7: Spending limits from a forgotten Tuesday
Campaign spending limits and the account spending limit stop everything at their ceiling with minimal UI noise. People find limits they set years ago. Check both.
8: New account / new pixel probation
Fresh accounts and pixels get conservative delivery for days — Meta limits blast radius until history exists. Start modest, bank conversions, scale after.
9: The deep one — the pacer is blind
If all eight pass and delivery still crawls, your conversion tracking is broken — the pacer optimizes toward an event it can no longer see, predicts nothing, spends nothing. Fire a real test purchase and watch it land in Events Manager (both browser AND server/CAPI rows) within hours. Theme updates, checkout changes, and consent banners break pixels constantly, and delivery decays before any error appears anywhere.
Bonus trap: the CBO reshuffle
Cut a CBO campaign's budget and Meta redistributes across ALL ad sets inside — your winner can lose delivery because a sibling got throttled. After any CBO budget change, check delivery per ad set for 48h, not just the campaign line. Consolidation is powerful; it also means budgets are a shared pool with shared consequences.
Want this run on your actual account?
MoonSignal is a private AI media buyer inside Claude — it reads your real numbers, finds the leaks, and builds the fix. You approve every change.
Get a free live account teardown →