Your Meta ads stopped delivering: what to check, in order

8 min readMeta Ads, Ad delivery, Troubleshooting

Meta ads stop delivering for a short list of reasons, and the order you check them in matters: campaign and ad set status, ad review or rejection, the campaign spending limit, the account spending limit, the payment method, a too narrow audience, overlap between your own ad sets, the schedule, and the learning phase. Start at the top, because the checks that take seconds rule out the ones that cost an afternoon.

An account that spends badly and an account that does not spend at all are different problems. The second one has a short list of suspects, and you can walk it by elimination.

Why the order matters

Reading the Delivery column takes seconds. Checking billing takes a minute. Rebuilding targeting takes an afternoon, and judging the learning phase takes days. Get the order wrong and you can lose a day reworking an audience for a campaign whose only problem was a declined card.

Rule out the view first: a date range left on last month, or a filter set to active items, shows a quiet account that is in fact running fine.

SignalWhere to lookWhat to do
Off, Campaign off, Ad set offDelivery column, all three levelsSwitch on the level that is off, not just the ad
In review, Pending review, RejectedThe ad, then Account QualityWait out a review; fix what a rejection names
Campaign spending limit reachedCampaign settings, spending limitRaise or remove the cap, expect learning to restart
Account spending limit reachedBilling, account spending limitRaise the cap, or reset the amount spent
Payment failed, Account disabledBilling, payments and balanceClear the balance, then fix the card
Active, almost no impressionsEstimated audience size, bid or cost capWiden the audience or lift your cap
Two ad sets active, one barely spendsAudience Overlap, in AudiencesConsolidate, or exclude one from the other
Scheduled, CompletedAd set schedule, ad account time zoneCheck start and end dates, and the time zone
Learning limitedDelivery column on the ad setFewer ad sets on the budget, or a cheaper event

Checks one and two: switches and review

Meta has three levels and each has its own switch, so turning the ad on does nothing while the ad set above it is paused. The Delivery column (labeled Status in some accounts) names the level that stopped you: it reads Campaign off or Ad set off, not a plain Off. Read the column instead of hunting through toggles.

A new or edited ad goes into review before it can spend. Meta says most ads are reviewed within 24 hours, stops short of promising it, and offers no way to expedite. The trap is impatience: editing an ad that sits in review sends the edited version back through review. If everything reads In review, the correct action is none.

A rejection names the policy it was matched against. Read that line, not the general category. A wording problem is a copy edit, a landing page mismatch is a fix on your site, and neither is solved by duplicating the ad and hoping for a different reviewer. Account Quality lists them all in one place.

One rejected ad inside a healthy ad set is a copy problem. Several rejections across different campaigns in the same week is an account level signal, and duplicating your way around it makes that problem worse.

Checks three to five: two spend limits and a card

Two ceilings can stop delivery, and they live in different places. The campaign spending limit is a lifetime cap inside one campaign: when it is reached, that campaign stops and everything else keeps running. The account spending limit sits in billing and applies to everything at once, which is why hitting it looks like an outage rather than a setting.

The account limit counts against money already spent, not against spend from today. On an account that has been running for a year, a higher ceiling can still sit below the running total, and what you actually need is to reset the amount spent.

Then the card. Meta bills you when you reach your billing threshold or at the end of the billing cycle, whichever comes first, so a failing card does not stop delivery on the day it expires. It stops delivery the next time a charge comes due, which is why payment problems arrive as "but it worked yesterday." Look for an outstanding balance, not just a card on file.

Checks six and seven: the auction and your own ad sets

Switches on, review clean, billing settled, and the ad set still reads Active with almost no impressions: now the problem is in the auction, not in the account.

The audience is too small for the budget

A narrow audience with a large daily budget asks Meta to buy a lot of impressions from a small pool. It pays up for a while, then stops rather than pay any price. Check the estimated audience size, then the exclusions: they get added one at a time over months and rarely get reviewed as a set.

Your cap is below the market

A bid cap or cost cap is an instruction to lose every auction above a set price. Put it under what impressions currently cost and it does exactly that: no delivery, no error, because nothing is broken. It is the one failure mode that looks identical to a bug, and a cap set in a cheaper season is the first suspect.

Your ad sets are bidding against each other

When two of your ad sets can reach the same person, they land in the same auction, and Meta does not bid against itself: it keeps the one it expects to do better and drops the other from that auction. Both look active while one quietly starves. The Audience Overlap tool shows how much of this you have.

  • Lookalikes built from the same source overlap by design
  • An interest ad set sits inside a broad one on the same geography: from the narrow side, the overlap is close to total
  • Nested retargeting windows, seven days inside thirty, reach the same people twice unless one excludes the other

Checks eight and nine: schedule and the learning phase

Two schedule settings stop delivery while nothing looks wrong. A start date in the future leaves the ad set reading Scheduled, easy to skim past when your eye is hunting for the word Off. A passed end date reads Completed, and with the list filtered to active items it drops out of view, so the campaign can look deleted.

Dayparting is subtler. Ad scheduling runs on the ad account time zone, not yours and not your customer's. An account opened in one time zone for a business in another can run a lunchtime schedule that fires in the middle of the night. Check the time zone in account settings before you trust a schedule: changing it later is not a casual edit.

The learning phase does not stop spend outright: it holds it back and makes it erratic, which to the eye reads as stopping. Meta's own benchmark is around fifty optimization events per ad set per week, and below that delivery stays conservative. Restarting an ad set that reads Learning limited changes nothing: the fix is fewer ad sets sharing the budget, or a cheaper event.

Running this before it becomes an outage

None of these checks require judgment. They are lookups: a status, a limit, a balance, an audience size, a date. That is what makes them easy to skip, and why a weekly review is a weak defense: an account that stops on Saturday loses the weekend before anyone opens Ads Manager on Monday.

Aevin syncs connected ad accounts every hour and shows each campaign's status in Meta's own wording (In review, Disapproved, Missing billing info) in the same table as spend, leads and cost per lead, so a stopped campaign reads as a status next to a number.

Kept manual, the cheap version is five lookups on Monday morning.

  1. 1.Is anything reading Not delivering, Rejected or Scheduled
  2. 2.Has anything been in review for more than a day
  3. 3.Is either spend limit within reach before month end
  4. 4.Is the card current and the balance clear
  5. 5.Is any ad set showing Learning limited

Why do my Facebook ads say Active but are not spending?

Active means nothing is switched off, not that impressions are being bought. The usual causes are an audience too small for the daily budget, a bid or cost cap under the current market price, or another of your own ad sets winning the same auctions. Check those before you touch the creative.

How long does Meta ad review take?

Meta says most ads are reviewed within 24 hours, without committing to it, and there is no way to expedite one. Editing an ad in review sends the edited version back through review, so the fastest path is to leave it alone.

I raised my account spending limit and ads still are not running. Why?

The limit counts against money already spent, so on an old account a higher ceiling can still sit below the running total. Reset the amount spent instead of only editing the number, and check for an outstanding balance from a failed payment.

Will turning the campaign off and on again fix delivery?

Rarely, and it has a cost. A restart clears neither a rejection, nor a spend limit, nor a failed payment, and a significant edit can send the ad set back into learning. Find the reason in the Delivery column first.