Meta Ads Troubleshooting · Diagnostic · 2026

Why Are My Meta Ads Not Spending? 9 Causes & Fixes

Short answer. Meta ads that sit active but do not spend are blocked by one of three things: the account cannot charge you (failed payment, billing threshold, or a spending limit already reached), the ad set cannot find enough people (audience too narrow, bid or cost cap below the auction price, or a schedule that has not started), or the ad itself is not cleared to run (still in review, rejected, or the account is restricted). On a brand-new ad set, none of those may apply — delivery simply ramps unevenly for the first few hours, and editing it restarts the learning phase and pushes spend further away.
A stopped pocket watch and an untouched stack of coins on dark stone, representing a Meta ads budget that is not spending
The expensive version of this problem isn't the stalled budget. It's the four days spent guessing which of nine things caused it.

A clinic owner messaged me at 11pm once, three days into a launch, convinced Meta had shadow-banned him. His ads were approved, active, and had spent ₹0. The actual cause took ninety seconds to find: the campaign schedule had been set in a different timezone and hadn't started yet.

That's the frustrating part of this problem. Nine different causes produce one identical symptom — a green "Active" label next to a spend column full of zeroes. And because the dashboard doesn't tell you which one you've got, most people start changing things at random. Every change restarts the learning phase, so the guessing itself makes the problem worse.

Here's the diagnostic we run on client accounts, in the order that finds the answer fastest.

Key takeaways

  • Not spending, not delivering and not converting are three different problems with almost no overlap in fixes. Work out which one you have before touching anything.
  • Check billing first. A failed card or a reached threshold stops every campaign at once, which is the fastest thing to rule in or out.
  • A new ad set deserves 24 hours before you edit it. Meta's own delivery guidance says the same, and edits reset learning.
  • Bid caps and cost caps are the quiet killer. Set below what the auction actually costs, they'll hold spend at zero indefinitely without ever showing an error.
  • If the account is restricted, do not open a second one. Request a review instead — a workaround account puts both at risk.

First, work out which of the three problems you have

These three get used interchangeably in forum posts, and they need completely different responses. Spend two minutes here and you'll save two days.

What you're seeingWhat it actually meansWhere to look first
Not spendingZero or near-zero spend against the budget. Money isn't leaving the account at all.Billing, schedule, review status, bid caps
Not deliveringSome spend, but reach is far below what the budget should buy.Audience size, frequency, auction competition
Not convertingFull spend, normal reach, but the results column stays empty.Pixel and event setup, offer, landing page, creative

If your spend column has real numbers in it, skip the rest of this page — you have a conversion problem, not a delivery one, and the last section points you at the right diagnostic.

Triage flow for stalled Meta ads A decision tree splitting a stalled ad set into three branches: not spending leads to billing, schedule and bid checks; not delivering leads to audience and frequency; not converting leads to tracking, offer and creative. Ad set is "Active" Spend = 0 Low reach No results Billing Schedule Review status Bid / cost cap Audience size Frequency Overlap Pixel / events Offer Landing page Creative Three symptoms. Three separate diagnostics. Don't mix them.
The triage we run before touching anything in a stalled account.
Most "Meta is broken" messages I get turn out to be a card that expired, a bid cap someone set last month, or an ad set that's been live for four hours. Those are the odds. Start there.

The account-level blockers

1. The payment method failed or the billing threshold hit. This one pauses everything at once, not a single ad set, and it's the reason the whole-account pattern matters — if all your campaigns went quiet together, go to Billing before you look at anything else. Cards issued in India frequently trip on recurring-mandate rules, so a card that worked in March can fail in August without you changing a thing.

2. The account spending limit was reached. Someone sets a lifetime cap on the ad account, forgets it exists, and six months later delivery stops dead the day it's met. Nothing in the campaign view tells you this. It lives in the account settings, and it's worth a look precisely because nobody ever remembers setting it.

3. The schedule hasn't started. The one from that 11pm message. Ad account timezone, campaign start time and your own clock are three separate things, and a start date set in the account's timezone can be hours away from yours. Free to check, and it costs entire launch days when it's missed.

The ad set blockers

4. The audience is too small to spend into. Stack three interests, a custom audience, a 5km radius and a narrow age band, and you can shrink the addressable pool below what a healthy daily budget needs. The tell is an estimated audience size in the low tens of thousands with a budget that assumes far more. Widen one constraint at a time — the one that unblocks spend tells you which was binding.

5. A bid cap or cost cap set below the real auction price. My least favourite cause, because it never throws an error. You've told Meta "don't pay more than X" and the auction costs more than X, so it politely spends nothing, forever. If you inherited an account and it won't spend, check for caps before anything else — they're often left behind by a previous manager.

6. An ad set spending limit fighting campaign budget optimisation. CBO wants to move budget across ad sets. An ad set limit says it can't. The two argue and delivery stalls in between. Pick one mechanism and remove the other.

The ad-level blockers

7. Still in review. Most ads clear quickly, but video, health, finance and anything mentioning results take longer. An ad set holding one unreviewed ad can under-deliver while it waits.

8. A rejected ad you didn't notice. Rejections show at the ad level, not the campaign level, so a campaign can read "Active" while the only ad inside it is disapproved. Clinics get hit hardest here — before-and-after imagery and body-related claims are restricted categories, which is a large part of why we handle Meta ads for dermatology clinics differently from ecommerce.

9. Constant edits restarting the learning phase. Meta needs a run of conversion events before delivery settles, and its published guidance puts that at roughly 50 optimisation events per week per ad set. Every meaningful edit sends the ad set back to the start. Three edits in a day means an ad set that never gets to a stable state — which looks exactly like a delivery problem, and isn't one.

Learning phase restarts push stable delivery further away A line comparing an ad set left alone, which reaches stable delivery around day seven, against an ad set edited every two days, which keeps resetting and never reaches stability within the same window. Stable Learning Stalled Left alone Edited every 2 days Day 1 Day 4 Day 7 Illustrative. Dots mark each edit resetting the learning phase.
Why "I keep changing things and it keeps getting worse" is a real pattern, not bad luck.

Ad account restricted? What actually happens next

A restriction stops delivery across the whole account while campaigns keep showing as active — which is exactly why it reads as ads not spending rather than as a ban.

Request a review from Account Quality. Do not build a second ad account to route around it: Meta links accounts through payment methods, business managers and devices, and a workaround account puts the original at risk too. Leave the flagged ads in place while the review runs, because a reviewer opening an empty account has nothing to clear you on.

Worth knowing. Restrictions on clinic, wellness and finance accounts are often triggered by claim language rather than imagery — words promising a specific outcome. Rewriting the copy before requesting the review is usually a better use of the wait than deleting the ad.

The order to check things in

Sequence matters more than the list. This order is arranged by how fast each check rules something out, so you spend your first five minutes on the causes that are cheapest to confirm.

#CheckHow to confirm itTypical fix time
1Billing and paymentWhole account quiet at once; billing shows a failed chargeMinutes
2Account spending limitAccount settings show a cap equal to spend to dateMinutes
3Schedule and timezoneCampaign start time is ahead of the account clockMinutes
4Ad review and rejectionsOpen the ad level, not the campaign levelHours to a day
5Bid or cost capA cap exists and sits below your normal cost per resultMinutes, then 24h to settle
6Audience sizeEstimated size is small against the daily budgetA day
7Ad set limit vs CBOBoth a campaign budget and an ad set cap are setMinutes
8Learning phaseEdit history shows repeated recent changes3–7 days of patience
9Account restrictionAccount Quality shows a flagDays, review-dependent

If you reach step nine and everything is clean, the honest answer is that the ad set is young and the fix is to leave it alone. That's a real diagnosis, and it's the one people accept last.

When "not spending" is really "not converting"

Plenty of accounts arrive with us spending their budget perfectly well and producing nothing. That's a different failure, and it usually sits in creative rather than in settings — the same three ads running for months until the audience stops reacting to them.

The fix is volume of new creative, not another settings audit. Nach Fashion came to us with rising acquisition costs on a small rotation of static ads. Rebuilding the creative pipeline and testing at proper volume took them to 7x ROAS with a 61% drop in cost per acquisition. On Perfect 5's clinic accounts, refreshed creative moved click-through rates between +62% and +226% depending on the branch.

Nach Fashion cost per acquisition before and after a creative rebuild Bar chart showing cost per acquisition falling by 61 percent after rebuilding the creative pipeline, alongside return on ad spend reaching 7x. Baseline −61% Cost per acquisition before Cost per acquisition after creative rebuild 7x ROAS reached
Nach Fashion, ADSWORM-managed. Source: client ad account.

If your ads are spending and the results column stays empty, the diagnostic to run is on whoever is operating the account — that's covered in is my marketing agency doing a good job. And if the bottleneck is that nobody is producing enough new creative to test, that's what our AI UGC agency service exists to solve.

What we do when a client account stalls

Across the accounts we've managed — ₹50Cr+ in ad spend across 280+ brands since 2020 — the pattern holds: the fix is almost never exotic. It's billing, a cap, a schedule, or an ad set that needed to be left alone.

So the protocol is boring on purpose. Run the nine checks in order. Change one thing. Wait a full day. Write down what changed and what happened. Accounts get wrecked by people making four changes at once and losing the ability to tell which one mattered.

If you want a second pair of eyes on a stalled account, we'll look at it and tell you which of the nine it is. Our 5x ROAS guarantee and our India clinic ad benchmarks will tell you whether your numbers are actually off or just feel that way. Meta's own ad delivery troubleshooting guide is worth reading alongside this.

Stalled account? We'll tell you which of the nine it is.

Send us the account and we'll run the diagnostic. No pitch until you've got an answer.

Book a Scoping Call WhatsApp Us

Questions people ask alongside this one

How long should I wait before touching a Meta ad set that isn't spending?

Wait a full 24 hours on a brand-new ad set before you change anything. Delivery ramps unevenly in the first few hours, and every edit to budget, audience, bid or creative restarts the learning phase, which pushes stable delivery further away. The exception is a hard blocker you can confirm in the account — a declined payment method, a reached spending limit, a rejected ad or a schedule that has not started yet. Fix those immediately.

What's the difference between Meta ads not spending and not delivering?

Not spending means the ad set shows zero or near-zero spend against its budget — the money is not leaving your account at all, which points to billing, schedule, review status or a bid that cannot win. Not delivering means the ad set is spending something but reaching far fewer people than the budget should buy, which points to a narrow audience, a high frequency, or competition in the auction. They look similar in the dashboard and have almost no overlap in fixes.

Why did my Facebook ads stop spending after they were working fine?

An account that was spending and then stops usually hit one of four things: the card on file failed or the billing threshold was reached, the account spending limit was met, an ad in the set was rejected on a policy review sweep, or somebody edited the ad set and restarted the learning phase. Check billing first, because a failed payment pauses every campaign at once rather than a single ad set.

Can a small audience stop Meta ads from spending?

Yes. Stacking narrow interests, a small custom audience, a tight radius and a short age band can cut the addressable pool low enough that Meta cannot find enough qualifying auctions to spend the budget. The pattern to look for is an ad set whose estimated audience size sits in the low tens of thousands while the daily budget assumes it can reach many more. Widening one constraint at a time tells you which one was the binding one.

My ad account got restricted. What actually happens next?

Delivery stops across the account and the campaigns keep showing as active, which is why it reads as ads not spending. Request a review from the Account Quality section rather than creating a new ad account, because a second account built to route around a restriction risks both accounts. Reviews commonly resolve within a few days. While you wait, do not delete the flagged ads — a reviewer looking at an empty account has nothing to clear you on.