Short answer: if your Facebook ads aren't spending, it's almost always one of six things. The ad is still in review, something is capping your spend below your budget, the audience is too small, your bid or cost cap is too low to win auctions, your payment method failed, or the schedule hasn't started yet. Open Ads Manager, turn on the Delivery column, and read what it actually says before you change a single setting.
I get this call a lot. Somebody builds a campaign on a Sunday night, wakes up Monday, and the spend column says $0.00. Then they start flipping switches, which usually makes it worse. So here's the order I go in.
Where should I look first?
Add the Delivery column in Ads Manager and hover over whatever it says. That one column tells you more than everything else on the screen combined. You're looking for In Review, Not Delivering, Scheduled, Rejected, Learning, or Learning Limited. Each one points at a different problem.
Then check all three levels. Campaign, ad set, ad. All three have to be on. An ad set switched on inside a paused campaign will sit there looking healthy and spend nothing, and I've watched people stare at that for two days without catching it.
Why does my ad say Active but spend nothing?
Active just means you turned it on. It doesn't mean Meta is showing it to anybody.
Start with review. Meta runs every ad through automated review before it delivers, and most clear inside 24 hours. If it came back rejected, delivery stops cold, and that's a separate fix. I walked through that whole process in what to do when your Facebook ad gets rejected.
Next, check your start date and your ad account's time zone. Ad accounts run on the time zone they were created in, not the one you're sitting in. If you scheduled something for midnight and your account is set to a different zone, you're just early.
Now the sneaky one. Account spending limits. This lives in Billing and Payment Settings, and it's a lifetime cap on the whole ad account, not a monthly one. If you set a $500 limit two years ago and you've since spent $500, every campaign in that account quietly stops, and nothing on the campaign screen looks broken. Campaigns can have their own spend limits too. Check both.
Is my audience too small to spend the budget?
This is the one local businesses hit constantly. You start with one zip code, then you add an age range, then three interests, then you exclude past customers, then you exclude everybody who engaged with the page. Stack enough of that and you've built an audience of eleven people.
Look at the audience size estimate inside the ad set. If Meta flags it as too narrow, or the reachable number is under about 100,000, expect trouble spending. Exclusion lists are usually the culprit, not the targeting itself, because people forget what they excluded six campaigns ago.
For a local business, geography plus a wide age range almost always beats a pile of interest layers. Meta's system is better at finding your buyer than your guess about which interests they clicked.
Did I cap my own bid too low?
If you're on manual bidding with a bid cap or a cost cap, and that number is below what the auction is actually clearing at, you lose every auction and spend zero. CPMs have climbed, so a cap you set eighteen months ago may be nowhere near market anymore.
Easy test. Switch that ad set to Highest Volume bidding and leave it alone for 48 hours. If spend starts moving, your cap was the problem and you know exactly what to fix.
Is it a billing problem?
Boring, but it happens weekly. An expired card, a declined charge, or an unpaid balance will stop delivery across the entire account. Meta doesn't always make that obvious on the campaign screen, so go straight to Billing and Payments and look for an outstanding balance or a payment method flagged with an error.
If the account itself got flagged instead of just the payment, that's a different animal. Here's what to do when your Facebook ad account gets disabled.
What does Learning Limited have to do with spend?
Meta wants roughly 50 optimization events per ad set per week before it considers delivery stable. Ad sets that can't get there land in Learning Limited, and delivery stays uneven and underspends because the system never gathers enough signal to make confident decisions.
Three things usually cause it. Your daily budget is too small compared to what one conversion costs you. Your audience is too narrow to produce that many events. Or you're optimizing for an event that barely ever fires, like a purchase on a low-volume product.
The fix is structural. Optimize for something that happens more often, consolidate five small ad sets into one bigger one, or raise the budget so the math can work. Also confirm your Pixel and Conversions API are actually firing, because if your chosen event never reports back, Meta reads that as an ad nobody wants and pulls delivery.
How long should I wait before I touch anything?
Give a new ad set 24 to 48 hours. Every meaningful edit you make, budget, targeting, creative, restarts the learning phase and throws away whatever the system had figured out.
So change one thing, then leave it alone for a day before you look again. Making four changes at once means you'll never know which one mattered.
What if the settings are all fine?
Sometimes everything checks out and the account still won't spend. That's usually a quality problem. Meta throttles delivery on ads that get poor engagement or negative feedback, because showing bad ads costs them users. A weak offer with a stock photo and a headline nobody cares about will technically be Active and practically be invisible.
At that point you're not troubleshooting settings anymore, you're rewriting the ad. If you'd rather hand the whole thing off, that's a big chunk of what our social media and paid ads management covers for local businesses around Toledo, Perrysburg, and the rest of Northwest Ohio.
Common questions
How long does it take for a Facebook ad to start spending?
Most ads clear Meta's automated review within 24 hours, and spend usually starts shortly after that. Give a brand new ad set a full 24 to 48 hours before you decide something is broken, because early delivery is choppy while Meta is still figuring out who to show it to.
Why does my ad say Active but has zero impressions?
Active only means the toggle is on. It does not mean Meta is delivering. The usual causes are an account or campaign spending limit you already hit, a start date that has not arrived yet in the ad account's time zone, a paused parent campaign, or a bid cap set too low to win any auctions.
Will pausing and unpausing my ad set fix it?
Almost never, and it can hurt. Turning an ad set off and back on can push it back into the learning phase, which makes delivery worse for another day or two. Find the actual cause in the Delivery column first.
Does raising the budget make ads spend faster?
Sometimes, but only if the budget was the bottleneck. If your daily budget is smaller than what one conversion costs you, Meta struggles to spend it at all. If the problem is a small audience or a low bid cap, more budget does nothing.
Can one rejected ad stop the whole ad set from spending?
It can. If the only active ad inside an ad set gets rejected, that ad set has nothing left to deliver, so spend goes to zero even though the campaign still looks fine at the top level. Check the status on every individual ad, not just the ad set.
Ready to put this into action?
Book a free strategy call with Jayson. We'll look at your current social presence and show you exactly what's possible for your business in Northwest Ohio.
Get a Free Strategy Call โ