Key takeaways
- Check the blockers first: account status, payment method, account and campaign spending limits, and Meta's daily spending limit on newer accounts.
- Then check the ad: still in review, rejected, scheduled for later or paused at another level.
- Bid caps, cost per result goals and ROAS goals set below what results cost are the most common cause of under-spending in healthy accounts.
- Small audiences, rare optimisation events and too many overlapping ad sets also choke delivery.
- Under Advantage+ campaign budget, uneven spend between ad sets is normal. Look at the campaign as a whole first.
When Facebook ads aren't spending, the cause is usually one of three things: something is blocking delivery (account, payment, spending limits or ad review), a control is too tight (a bid cap, cost per result goal or ROAS goal below what results cost), or the ad set has too little room (a small audience, a rare optimisation event or too many overlapping ad sets). Check them in that order, starting with the Delivery column.
Start here: what does the Delivery column say?
Ads Manager's Delivery column is the fastest first clue. Check it at campaign, ad set and ad level, because a problem at any level stops everything below it.
| Delivery status | What it usually means | Go to |
|---|---|---|
| Off | Paused at this level or a level above | Step 3 |
| In review | Meta is still reviewing the ad | Step 4 |
| Rejected | The ad failed review | Step 4 |
| Not delivering, or an account or payment notice | Account or billing problem | Steps 1 and 2 |
| Scheduled | The start date is in the future | Step 3 |
| Bid limited | Your bid control is too low | Step 5 |
| Learning limited | The ad set is unlikely to get about 50 results a week | Step 7 |
| Active, but spending little | Controls, audience or competition | Steps 5 to 8 |
Hover over a status for more detail, and open the ad set's delivery and recommendation notes, which often name the problem directly.
Step 1: is the ad account healthy?
Check your account status in Ads Manager and in Account Quality, which you can reach from your business portfolio.
- Disabled or restricted account. If the account, your profile or your business portfolio is restricted for a policy reason, nothing runs. Account Quality shows the issue and, where available, a way to request a review.
- Restricted Page or Instagram account. Ads run from a Page, so a Page with restrictions can stop delivery even when the ad account looks fine.
- Permissions. If the person or system user who created the ads lost access, some edits and new launches can fail.
Step 2: is billing and spending set up correctly?
Payment and limit problems are the most common reason a previously healthy account stops cold.
Payment method
A failed or expired card pauses delivery until you pay the outstanding balance. Check Billing and payments for a failed charge, and update the method or settle the balance.
Account spending limit
An account spending limit is a lifetime cap you set on everything the ad account can spend. Once it is reached, ads pause. Meta's help page says you can raise, reset or remove it in Payment settings, and that ads resume about 15 minutes after you remove it. The amount spent towards it does not reset by itself.
Campaign spending limit
A campaign spending limit stops every ad set in that campaign once reached. Check it in the campaign's settings.
Meta's daily spending limit
This one catches new advertisers. Meta sets a daily spending limit on most ad accounts, separate from your budgets and your own spending limit. Its help page says the limit usually rises automatically as you build advertising history, follow its policies and spend up to or near it. It can be lowered for new business portfolios, ad accounts, Pages or apps, for policy violations or for low-quality signals. When you hit it, ads stop until midnight in the ad account's time zone. Check it in the Current balance section of Payment settings. Accounts on monthly invoicing don't have one.
Step 3: is everything actually switched on and scheduled?
It sounds obvious, and it causes a lot of "not spending" reports:
- Campaign, ad set and ad all on. An ad set switched on inside a paused campaign doesn't run.
- Start date and end date. A start date in the future, or an end date in the past, stops delivery.
- Ad scheduling. Lifetime budgets with ad scheduling only spend during the hours you set.
- Late-day changes. Meta's troubleshooting page notes that changing budget or schedule near the end of the day leaves little time to spend it, so that day may under-spend and the next catch up.
- Approval-based launches. If your workflow pauses new launches for approval, someone needs to approve them.
Step 4: is the ad stuck in review or rejected?
Every new ad, and every significant change to an ad, is reviewed. Meta's help page on ads in review says most ads are reviewed within 24 hours, though some take longer.
- Still in review after a day or two. Check that the ad account and Page are in good standing, avoid editing the ad repeatedly (each edit can restart review) and wait a little longer before duplicating it.
- Rejected. The rejection notice names the policy. Fix the issue and request a review, or create a corrected ad. Our guide to rejected Facebook ads covers the common policy problems.
- Special ad categories. Ads about credit, employment, housing or social issues, elections and politics need the right category or authorisation, or they are rejected.
Step 5: are your bid or cost controls too tight?
If the account and the ad are fine, this is the most likely cause in a healthy account. A bid strategy with a cap tells Meta not to win auctions above a certain cost. Set the cap below what results actually cost, and Meta simply doesn't spend.
- Bid cap. A maximum bid per auction. Meta shows "Bid limited" when it is the cause, and its help page advises raising or removing the bid control, or broadening the audience or improving the ad if you don't want to raise it.
- Cost cap (cost per result goal). An average cost target. Meta's documentation notes spend can be slower than highest volume bidding and the learning phase may take longer.
- ROAS goal. A minimum return target. Set it above what the campaign has achieved and spend dries up.
How to check: compare the cap with your actual cost per result over the last two to four weeks. If your purchases cost $30 on average and your cost per result goal is $18, the ad set will struggle to spend. Meta's troubleshooting page adds that rising competition in the auction can make a previously fine cap too low.
What to do: raise the cap towards your real cost, or switch to highest volume while you gather data, then reintroduce a cap close to what the ad set achieves.
Step 6: is the audience too small?
A narrow audience gives Meta few people to show ads to, and those people get expensive quickly.
- Narrow interest stacks, tight age bands or small locations.
- Small custom audiences, such as a retargeting list of a few thousand visitors, especially with a large budget.
- Too many exclusions, which can remove most of an audience.
- Account controls in Advertising settings, such as excluded locations or a high minimum age, which apply to every campaign.
Fix it by broadening: fewer interests, wider age ranges, larger locations, or broad targeting and Advantage+ audience. Our targeting comparison covers when each option makes sense.
Step 7: is the ad set learning limited or starved of events?
An ad set needs results to optimise. Meta says ad sets usually exit learning after about 50 results in the week after their last significant edit.
- Rare optimisation event. If you optimise for purchases and get very few, delivery can be slow and uneven. Check the event is firing in Events Manager.
- Broken tracking. If Purchase stopped firing after a site change, Meta has nothing to optimise towards. Our Meta Pixel and Conversions API checklist walks through the fixes.
- Learning limited. Meta's fixes are to combine ad sets, broaden the audience, raise the budget, loosen cost controls or optimise for a more frequent event. The learning phase guide covers each.
Step 8: are your own ad sets competing with each other?
Several ad sets aimed at similar people compete in the same auctions. Meta enters only one of your ads per auction for a given person, so overlapping ad sets can each end up spending less, and Meta's learning-limited guidance names high auction overlap as a cause.
Signs of overlap: many ad sets with similar broad or lookalike audiences, the same creatives in several campaigns, or an Advantage+ sales campaign running next to a manual broad campaign with the same ads.
Fix it by consolidating into fewer ad sets with distinct jobs.
Is uneven spend under campaign budget a problem?
Usually not. Under Advantage+ campaign budget, Meta moves money towards the ad sets and ads it expects to deliver the most results. Meta's troubleshooting page says it is normal for some ad sets or ads to deliver less than others, as long as the campaign overall spends according to your goals.
So before you diagnose a single ad set, ask: is the campaign spending its budget? If it is, the quiet ad set has lost an internal competition, not broken. If you need an ad set to get a fair share, for a test for example, move it to ad set budgets. The CBO vs ABO guide explains when to use each.
Why does one ad get all the spend?
The same logic applies to ads within an ad set. Meta favours the ad it predicts will perform best, often within the first day. If you need each ad to get equal spend, test them in separate ad sets on equal budgets, as in our creative testing framework.
When did spending slow down, and what changed?
If an ad set used to spend and stopped, look backwards:
- Find the date. Use a daily breakdown in Ads Manager to see exactly when spend dropped.
- Read the activity history. Look for edits just before the drop: new caps, audience changes, frequent pauses, budget changes late in the day or schedule extensions.
- Check for fatigue. Meta may show Creative limited or Creative fatigue in the Delivery column when people have seen an ad too often. See ad fatigue.
- Check audience saturation. A small audience that has mostly seen your ads becomes expensive to reach.
- Check tracking. A broken Purchase event after a site update starves the optimisation.
Facebook ads not spending checklist
- Delivery column read at campaign, ad set and ad level
- Account, Page and business portfolio in good standing in Account Quality
- Payment method working, no outstanding balance
- Account spending limit and campaign spending limit not reached
- Meta's daily spending limit checked in Payment settings
- Campaign, ad set and ad switched on, with valid start and end dates
- Ads approved, not stuck in review or rejected
- Bid cap, cost per result goal or ROAS goal at or above recent actual costs
- Audience large enough for the budget
- Optimisation event firing, ideally near 50 results a week per ad set
- No heavy overlap between ad sets with similar audiences and creatives
- Activity history checked for recent changes
Most stalls have a boring cause
When ads won't spend, resist the urge to rebuild everything. Most stalls come from a short list: a limit, a payment, a review, a cap set too low or an audience too small. Work down the checklist in order, change one thing at a time and give delivery a few hours to respond before changing the next. If spend is flowing but results have dropped, that is a different problem, covered in why Facebook ads stopped working.
Frequently asked questions
Why are my Facebook ads approved but not spending?
The most common causes are a bid cap, cost per result goal or ROAS goal set below what results actually cost, a small audience, or a spending limit. Check the Delivery column for Bid limited or Learning limited, compare your cap with recent actual costs and check your account spending limit and Meta's daily spending limit.
What is the daily spending limit on Facebook ads?
It is a limit Meta sets on how much an ad account can spend per day, separate from your budgets. It usually rises automatically as you build advertising history and spend near it, and it resets at midnight in your ad account's time zone. Check it in the Current balance section of Payment settings.
How long does Facebook ad review take?
Meta says most ads are reviewed within 24 hours, though some take longer. Repeatedly editing an ad that is in review can restart the process, so make your changes once and wait.
Why is one ad set getting all the budget?
Under Advantage+ campaign budget, Meta moves money to the ad sets it expects to deliver the most results, so uneven spend is normal. If the campaign as a whole is spending, nothing is broken. If you need equal spend, for a test for example, use ad set budgets instead.
Does a cost cap stop Facebook ads from spending?
It can. A cost per result goal or bid cap tells Meta not to pay more than a certain amount, so if it is set below what results actually cost, the ad set wins few auctions and spends little. Raise it towards your real costs or switch to highest volume while you gather data.



