Key takeaways
- Most Facebook ads not spending have a boring cause: the budget, bid control or audience can't produce enough results for the event you picked.
- Meta's documented rule is still roughly 50 optimisation events per ad set in the 7 days after the last significant edit. Faster exits reported by vendors haven't been confirmed by Meta.
- Rule out account-level blockers first: payments, spending limits, review and restrictions.
- Learning limited isn't a penalty. It's a warning that one ad set is too thin to learn, and consolidation usually fixes it.
- Uneven spend across ads in one ad set is normal: in Motion's 2026 data, 55% of spend went to winning creatives.
You launch on Monday with £150 a day. By Wednesday the ad set has spent £19, the Delivery column says "Learning limited", and the client wants to know if Meta is broken. Or you're in Austin with a $300 daily budget and a cost cap, and it's spent $22 since breakfast.
We get this call more than any other paid social question. In almost every audit, Facebook ads not spending comes down to a setting the advertiser chose, not a bug. The trick is checking in the right order, because a payment issue and a too-tight cost goal look identical in the Amount spent column.
Short answer: Facebook ads stop spending when Meta can't find enough auctions worth winning under your settings. Check in this order: account status and payments, ad review, bid or cost controls, budget versus cost per result, audience size and edits. Learning limited means one ad set won't reach about 50 results a week, so consolidate ad sets or optimise for a more frequent event.
What's changed in Meta ad delivery since 2025?
The basics haven't moved much. The plumbing around them has, and a few habits from 2021 now work against you.
The learning phase rule is officially the same. Meta's help centre still says an ad set generally needs about 50 optimisation events within seven days of its last significant edit. PPC Land's September 2026 explainer notes vendor reports of a 10-event threshold (June 2024) and a 25-purchase exit for Advantage+ sales (August 2026), neither backed by public Meta documentation. Plan around 50.
Adding an ad may no longer reset learning. Meta lists a new ad as a significant edit, but in a September 2025 test reported by Vaizle, Jon Loomer added one and the ad set stayed out of learning. One practitioner's observation, not a rule.
Budgets are softer than they look. Since mid-2025, Meta can move up to 20% of budget between ad sets in the same campaign even when you use ad set budgets, and ad set spending limits now behave as an average rather than a hard cap. Both are logged in Jon Loomer's list of 2025 Meta changes.
Retrieval got pickier about creative. Meta's engineering team described Andromeda in December 2024 as the system that narrows tens of millions of ad candidates to a few thousand. Meta hasn't said how it judges your ads, but in our experience ad sets with one or two near-identical creatives stall most often.
Old targeting can silently switch off delivery. Meta consolidated detailed targeting options in 2025, and ad sets still using retired options stopped delivering from January 15, 2026. In August 2026, Meta also began testing the removal of ad set placement exclusions for Sales and Leads campaigns.
One more thing. Within an ad set, Meta has never split money evenly between ads, and Motion's 2026 benchmarks show how lopsided it gets.
Where Meta ad spend actually goes
Share of spend by creative outcome across 6,015 advertisers and 578,750 creatives (Sep 2025 to Jan 2026). Winners spent at least 10x the account median; losers were switched off before day 28.
- Winning creatives: 55%
- Mid-range creatives: 28%
- Losing creatives: 17%
Source: Motion, Creative Benchmarks 2026: Spend concentration ($1.29B in Meta spend, updated April 2026)
So three zero-spend ads out of eight isn't a delivery problem. Worry when the whole ad set or campaign underspends.
How do you diagnose Facebook ads that aren't delivering?
Work from the outside in. Account-level problems stop every campaign, so rule them out before touching an ad set. This is the order we use on audit calls.
- Read the Delivery column firstIn Ads Manager, open the Campaigns tab and look at Delivery for the campaign, ad set and ad. "In review", "Rejected", "Not delivering", "Learning" and "Learning limited" each point somewhere different. Hover for Meta's explanation.
- Check the account itselfGo to Billing and payments in Meta Business Suite. Look for a failed payment, an outstanding balance or an Account spending limit that's been reached. Then open Account Quality to see if advertising access is restricted.
- Confirm the ads are approvedFilter ads by Delivery. Anything rejected or limited by policy needs editing or a review request.
- Look at bid strategy and budget togetherOpen the ad set (or the campaign, if you use campaign budget). Note the bid strategy (Highest volume, Cost per result goal, ROAS goal or Bid cap) and compare the daily budget with recent cost per result.
- Check the audience and the eventReview locations, age, custom audience inclusions and exclusions. In Events Manager, confirm the conversion event fired in the last few days.
- Open Inspect for the ad setClick the magnifying-glass icon on an ad set row to see the learning phase, auction overlap with your other ad sets, audience saturation and the Significant Edit History.
| What you see | Where to check | Most likely cause | First fix |
|---|---|---|---|
| Nothing spends, across every campaign | Billing and payments; Account Quality | Failed payment, spending limit hit, or account restricted | Pay the balance, raise or remove the limit, or request review |
| Ad "In review" for over a day | Delivery column; Account Quality | New account or Page, or a flagged topic | Wait, then edit or duplicate the ad |
| Spends a fraction of budget, cost control set | Ad set bid strategy | Cost per result goal or bid cap below market | Raise the goal 20 to 30%, or use Highest volume |
| "Learning limited" on several ad sets | Delivery column; Inspect | Budget split across too many ad sets for the event's cost | Consolidate ad sets; move to a campaign budget |
| Retargeting ad set spends almost nothing | Audiences; Audience size estimate | Custom audience too small, or exclusions overlap | Widen the window or merge into a prospecting ad set |
| Purchase campaign stalls, others fine | Events Manager > Overview | Event stopped firing or fires too rarely | Fix tracking, or optimise for a higher-funnel event |
| Spend dropped right after edits | Inspect > Significant Edit History | Learning reset by edits | Stop editing; let it run 7 days |
| Old ad set "Not delivering" | Targeting; banner atop Ads Manager | Retired targeting option or passed end date | Replace targeting; check schedule |
Why are my Facebook ads not spending? 12 causes, ranked by how often we see them
This ranking reflects the e-commerce, lead-gen and local accounts we audit across the US, UK, Canada and Australia. The top four explain most cases.
1. The budget can't buy enough results for your event
This is the classic Learning limited. If your cost per purchase is $60 and the ad set budget is $75 a day, you'll get about nine purchases a week. Meta wants roughly 50. The ad set won't fail outright. It just never settles.
Jon Loomer's rule of thumb: multiply expected cost per action by 50 for a weekly budget, then divide by seven. Run that against benchmark costs and you see why some lead-gen ad sets struggle.
Weekly budget one ad set needs to reach 50 leads
50 x the 2026 median cost per lead for Meta lead campaigns, by US industry. Our calculation from WordStream's benchmark data; your own CPL will differ.
Source: median cost per lead from WordStream by LocaliQ, Facebook Ads Benchmarks 2026 (452 US lead campaigns, April 2025 to June 2026), multiplied by 50
A US dental practice would need around $440 a day in one ad set to hit 50 leads a week at the median. Most don't spend that, which is fine if you judge the ad set on cost per lead, not on the label.
2. A cost per result goal or bid cap that's below the market
Cost controls tell Meta to skip auctions that look too expensive. Set them too tight and the system doesn't bid. A typical case: a Vancouver brokerage copies last year's C$40 cost per lead into a Cost per result goal, the market has moved to C$65, and the campaign spends 8% of budget. Meta isn't failing. It's obeying.
Bid cap is stricter still, because it caps every auction bid. Start on Highest volume and add controls later.
3. Too many ad sets splitting a small budget
Five interest ad sets, two lookalikes and a retargeting ad set on $250 a day is eight thin slices, each learning on its own. Learning doesn't pool across ad sets, and they often bid against each other for the same people (Inspect's Auction Overlap view shows it). Consolidating is usually the biggest single fix.
4. Ads stuck in review, rejected or limited
Most ads clear review within a day in our experience. New accounts, new Pages and anything touching health, finance, weight loss, housing, jobs or credit wait longer or get flagged. An ad limited by policy can look active but reach very few people, so check each ad's Delivery status.
5. A payment, spending limit or billing block
A declined card pauses everything. So does an Account spending limit you set two years ago and forgot. New accounts can also carry a daily spending limit Meta sets, which lifts as the account builds history. Card issuers also decline ad charges as suspicious from time to time, usually right after a budget jump, so keep a backup payment method on file.
6. The audience is too narrow
Stacked interests, a 5 km radius, an 18 to 24 age band and three exclusions can shrink a city of 4 million into a pool Meta can't find conversions in. Retargeting on a 7-day visitor audience for a small site is the usual victim. Advantage+ audience, which treats your inputs as suggestions, usually spends more freely.
7. The optimisation event rarely fires, or stopped firing
If you optimise for Purchase and the pixel broke in last week's theme update, Meta has nothing to learn from. Same with a custom event that fires three times a month. Check the event's recent activity in Events Manager. Our guide to fixing Meta Pixel and Conversions API tracking covers the repair.
8. Constant edits keep resetting learning
Targeting changes, creative edits, a new optimisation event, a switch of bid strategy, pausing for seven days or more, and large budget jumps all count as significant edits. Meta's own example says $100 to $101 isn't likely to restart learning, while $100 to $1,000 may. Daily tinkering keeps an ad set in permanent learning.
9. Creative Meta doesn't expect to perform
Meta's auction weighs predicted action rates and ad quality alongside your bid, so weak ads lose more auctions. Check the ad relevance diagnostics columns: Quality ranking, Engagement rate ranking and Conversion rate ranking. "Below average" on every ad means a creative problem, not a budget one.
10. Dates, schedules and campaign limits
Boring, but common: a start date next month, an end date that's passed, a lifetime budget scheduled for 9am to 6pm only, or a reached campaign spending limit.
11. Retired targeting and restricted categories
Ad sets still using detailed targeting options Meta retired stopped delivering in January 2026. Health and finance advertisers face extra limits: Meta has restricted custom and lookalike audiences built on health and finance data, and some health and wellness brands lost the ability to optimise for lower-funnel events in 2025, as Haus reported at the time. Special ad categories also cap targeting.
12. Account or Page restrictions
If advertising access is restricted, or the Page behind the ad is unpublished or restricted, ads won't run, and the banner isn't always on the ad set itself. Our ad account disabled recovery playbook walks through appeals.
How do you fix Learning limited and get Facebook ads spending again?
The fix is mostly about giving one ad set enough budget and room. Work in order and stop when spend recovers.
- Clear the blockersSettle any balance in Billing and payments, raise or remove the Account spending limit, and request review for rejected ads in Account Quality.
- Consolidate ad setsMerge overlapping interest and lookalike ad sets into one or two broad ad sets. Under about $1,500 a day, one prospecting and one retargeting ad set is usually plenty.
- Move to a campaign budgetSwitch on Advantage+ campaign budget so Meta can push money to whichever ad set is finding results.
- Loosen the bid strategyChange the bid strategy to Highest volume while you diagnose. If you need a Cost per result goal, set it 20 to 30% above your actual average cost per result from the last 14 days, not your target.
- Match the budget to the eventUse 50 x cost per result / 7 as a daily budget guide. If you can't afford that for Purchase, optimise for a more frequent event such as Add to cart or Initiate checkout, or for leads instead of qualified leads, until volume builds.
- Widen the audienceSwitch on Advantage+ audience, remove stacked interests and narrow age bands, and drop exclusions you don't need.
- Give the system creative to choose fromRun 4 to 8 genuinely different ads per ad set: different hooks, formats and angles, not five colour variants of one image.
- Leave it alone for seven daysMake all changes in one batch, then don't touch targeting, creative or bids for a week.
Before you change anything, duplicate the stuck ad set and pause the original instead of editing it. You keep a clean record of what didn't work, and the new ad set starts learning from a single, deliberate set of changes.
If Meta still can't spend profitably after all this, some offers simply convert better on search intent. Our Google Ads vs Meta Ads comparison helps you decide where the next dollar goes, and our Google Ads team can test it alongside.
What mistakes make low delivery worse?
Panic edits do more damage than the original problem.
- Doubling the budget on day two. A big jump can restart learning and won't fix a bid cap or audience problem.
- Turning off ads that haven't spent. Pausing zero-spend ads in a healthy ad set changes nothing except possibly resetting learning.
- Launching more ad sets to "help". Splitting the same budget further deepens Learning limited.
- Optimising for clicks to force spend. Traffic campaigns will spend, but you'll buy cheap, low-intent clicks. Our guide to Instagram ads that get clicks but no sales explains why.
- Judging too early. On a 7-day click attribution window, purchases keep arriving for a week. Day-two verdicts make fine ad sets look broken.
Killing an ad set because it says Learning limited. If cost per result is within target, it can run profitably for months.
How do you prevent delivery problems before they start?
Most stuck campaigns were set up to get stuck. A pre-launch check and a light routine prevent nearly all of it.
- Budget at 50 x expected cost per result / 7
- One or two ad sets, campaign budget on
- 4 to 8 distinct ads
- Event fired in last 7 days
- Payment method and limits checked
- Confirm all ads approved
- Check spend pace by mid-day
- Fix only blockers: review, billing, broken links
- Delivery status and learning progress
- Cost per result vs target
- Ad relevance diagnostics
- Inspect: overlap and saturation
- Add 2 to 3 new creatives in one batch
- Scale budgets in modest steps
- Check Account Quality and billing
- Review Opportunity score suggestions
An automated rule helps too. In Ads Manager, open Rules and create one that emails you when an active ad set's Amount spent is under 30% of daily budget by early afternoon. You'll catch payment failures and review holds hours earlier.
Be selective with Opportunity score recommendations. The 0 to 100 score rewards accepting Meta's suggestions; consolidating similar ad sets is often sensible, raising budgets less so.
If you'd rather someone else watch it, our Meta ads management service runs this routine daily, and our wider PPC services cover Google and Microsoft too.
Worked scenario: a Manchester sleep brand stuck in Learning limited
Illustrative numbers to show the maths, not a client result.
A Manchester brand selling mattress toppers online spends £300 a day on a Sales campaign optimised for Purchase. The budget sits across six ad sets at £50 each: three interest groups, two lookalikes and a retargeting ad set. The founder set a £33 Cost per result goal on three of them (a quarter of the £130 average order). Real cost per purchase has been running around £45.
Do the sums per ad set. An uncapped ad set buys about £350 ÷ £45 a week, so seven or eight purchases, roughly a sixth of what learning wants. The three capped ad sets barely bid, spending £8 to £15 a day. Weekly spend lands near £1,300 instead of £2,100, total purchases come to about 29, and all six ad sets say Learning limited.
| Setting | Before | After |
|---|---|---|
| Ad sets | 6 at £50/day each | 1 broad prospecting + 1 retargeting |
| Budget type | Ad set budgets | Advantage+ campaign budget, £325/day |
| Bid strategy | £33 Cost per result goal on 3 ad sets | Highest volume |
| Ads | 2 to 3 per ad set, similar | 8 distinct ads in prospecting |
| Weekly spend | About £1,300 | About £2,275 |
| Expected purchases a week | About 29, split six ways | About 50 in one ad set at £45 |
Why £325? It's 50 × £45 ÷ 7, rounded up. If the founder won't add £25 a day, the fallback is optimising for Initiate checkout for two or three weeks, then switching back to Purchase.
Made in one sitting and left alone, a structure like this typically spends its full budget within a couple of days. Whether cost per purchase holds at £45 depends on creative and the landing page. Our landing page examples are a good place to start.