An ad set sitting on zero impressions is one of the more unsettling sights in Ads Manager. Everything looks correct. The campaign is active, the budget is set, the payment method works. Nothing spends.
The instinct at that point is to start changing things. Raise the budget, widen the audience, swap the creative, duplicate the ad set and try again. That instinct is what turns a two-day problem into a two-week one, because most of those edits push the ad set back into learning and delay delivery further.
A better order is to work out what the system is actually telling you first. Meta publishes the delivery rules, and the status column usually names the constraint if you read it literally. This guide covers what each delivery status means, the five causes behind almost every stall, how to decide between fixing, restructuring and restarting, and a triage order that does not make things worse. The video below walks through the account screens if you would rather see them first.
How to Fix Facebook Ads Not Delivering Problem (Step by Step)
Source video: How to Fix Facebook Ads Not Delivering Problem (Step by Step)
PART 1 · DIAGNOSE
What “Not Delivering” Actually Means in Ads Manager
IN BRIEF“Not delivering” is a family of different problems wearing one label. An ad can be blocked before it ever reaches the auction, or it can reach the auction and lose every time. Those need opposite fixes, which is why every Facebook ads engagement starts by reading the status, not the results.
Split the problem in two before doing anything else. Either your ad is not eligible to compete, or it is competing and losing.
Ineligible covers review, policy, payment and schedule issues. Meta’s ad review runs automatically before an ad starts and is usually complete within 24 hours, though it can take longer, and ads stay subject to re-review at any time. If your ad is sitting in review, nothing you change to the budget will help.
Losing the auction is a different animal. Meta’s ad auction ranks entrants on total value: your bid, the estimated action rates, and ad quality together. A low bid, a weak predicted response, or a poor-quality creative all reduce total value the same way, and an ad with low total value simply never wins an impression.
BENCHMARK BRIEFING 1 OF 4
What Each Delivery Status Is Telling You
IN BRIEFThe status column is a diagnosis, not a label. Each state points at a different layer of the system, and each has a different correct response, including doing nothing. The table below maps the common ones against where the block sits and what the right first move is.
| Delivery state | Where the block sits | What it means | Correct first move |
|---|---|---|---|
| In review | Before the auction | Not yet eligible to compete | Wait. Editing restarts the review |
| Rejected | Policy layer | Ad, landing page or targeting breached a standard | Read the stated reason, edit, resubmit |
| Active, zero spend | Auction layer | Eligible but losing every auction | Check bid cap, audience size, creative quality |
| Learning limited | Optimisation layer | Too few weekly events to optimise properly | Consolidate ad sets or change the event |
| Delivery slowed or stopped | Account or auction layer | Billing, schedule end, or audience exhaustion | Check billing and end date before creative |
Aggregated by IZI Digital Marketing from Meta’s published guidance on ads in review, the Meta Advertising Standards, learning limited and campaigns that slowed or stopped, 2025–2026.
Not sure which layer your problem is on?
A stalled account usually has one real constraint and three symptoms that look like causes. See how the IZI Blueprint separates the two
PART 2 · DIAGNOSE
The Five Causes Behind Almost Every Stall
IN BRIEFDelivery problems cluster. Five causes explain the large majority of stalled ad sets in small and mid-sized Malaysian accounts. Only one of them is about creative, which is unfortunate, because creative is what most people change first.
- Review and policy blocks. The ad, the landing page or the targeting breached a standard. Nothing downstream matters until this clears.
- Bid or cost caps set too low. A cost control below what the auction will bear reads to the system as an instruction not to buy. Meta names this directly as a cause of learning limited ad sets.
- Audience too small for the budget. A narrow audience cannot absorb spend. This is the most common self-inflicted stall since the privacy changes reshaped how Meta targeting works.
- Optimisation event too rare. If the event you optimise for happens a handful of times a week, the system has nothing to learn from. Unrecorded events count as absent too, which is why Pixel and Conversions API tracking belongs in a delivery diagnosis.
- Weak ad quality. Meta’s quality ranking compares your ad against others competing for the same audience. A below-average ranking lowers total value at every auction.
There is a sixth cause worth naming separately because it hides so well: auction overlap, where your own ad sets target the same people and Meta suppresses the duplicates. The account looks busy. Half of it is competing with itself.
BENCHMARK BRIEFING 2 OF 4
Why Small Budgets Trigger Learning Limited
IN BRIEFMeta looks for roughly 50 optimisation events per ad set per week to exit the learning phase. Whether you can reach that is simple arithmetic between your weekly budget and your cost per event, and the model below shows how quickly the maths breaks when a budget is split.
| Setup | Weekly events per ad set | Events | Reaches 50? |
|---|---|---|---|
| RM 2,000/mo, 4 ad sets, RM 40 per lead | 3 | No | |
| RM 2,000/mo, 1 ad set, RM 40 per lead | 12 | No | |
| RM 2,000/mo, 1 ad set, RM 10 per lead | 46 | Marginal | |
| RM 6,000/mo, 1 ad set, RM 25 per lead | 55 | Yes |
Illustrative model by IZI Digital Marketing, built on Meta’s published learning phase guidance of roughly 50 optimisation events per ad set per week, applied to typical Malaysian lead-generation budgets and cost-per-lead ranges. Figures show direction and scale for planning, not measured results from any account.
Compare rows one and two. Same money, same cost per lead, one structural decision, and the accessible learning quadruples. Nothing was spent, nothing was optimised. Ad sets were consolidated.
PART 3 · DESIGN
Fix, Restructure or Restart: Choosing the Right Response
IN BRIEFThree responses are available and they cost very different amounts of time. Meta treats certain changes as significant edits that restart the learning phase, so the choice is really about how much accumulated learning you are willing to give up.
DECISION BOX · HOW TO RESPOND TO A STALL
| Response | Use when | Learning cost | Time to know |
|---|---|---|---|
| Fix in place | Billing, schedule, rejection, bid cap | None to low | 24–48 hours |
| Restructure | Too many ad sets, overlap, rare event | Resets learning | 7–14 days |
| Restart clean | Offer, audience and creative all wrong | Full reset | 2–4 weeks |
Verdict: Fix in place whenever the cause sits outside the auction, it is nearly free. Restructure only once you can name the structural cause in one sentence. Restart clean only when the offer itself is the problem, because a rebuild buys you nothing if the thing being advertised has not changed.
Most accounts that keep stalling are stuck between the second and third options, restructuring every fortnight without ever letting a structure run long enough to produce evidence. If you cannot say what the last change was meant to prove, you are not testing, and that is where a proper A/B testing framework earns its keep.
BENCHMARK BRIEFING 3 OF 4
What a Significant Edit Costs You in Delivery Time
IN BRIEFEvery significant edit sends an ad set back to day zero of learning. The timeline below traces what a fortnight looks like for an account that edits once, against one that edits every few days chasing the same problem.
| Day | Edited once, cumulative events | Edited every 4 days, cumulative events | Status gap |
|---|---|---|---|
| Day 3 | 14 | 14 | Identical so far |
| Day 7 | 33 | 13 | Counter reset on day 4 |
| Day 10 | 50, exits learning | 10 | Reset again on day 8 |
| Day 14 | 74, stable delivery | 11 | Still in learning, no evidence |
Illustrative model by IZI Digital Marketing, built on Meta’s published rules that a significant edit restarts the learning phase and that roughly 50 optimisation events are needed to exit it, applied to a steady daily event rate. Figures illustrate the compounding effect of repeated edits, not measured account results.
The second column is the ordinary result of trying hard. Nobody in that account was careless, they were attentive, and attentiveness expressed as constant editing looks identical to a broken campaign from the outside.
Tired of restarting the learning phase every week?
A clear change cadence is usually worth more than a clever audience. Compare how IZI structures Facebook ads management
PART 4 · DEPLOY
A 48-Hour Triage Order That Does Not Make It Worse
IN BRIEFWork from cheapest check to most expensive change, and stop the moment delivery resumes. The order matters because the expensive steps destroy the evidence the cheap ones would have given you, the same discipline behind a structured SEO audit checklist.
- Confirm the ad is eligible. Check for review, rejection, an expired end date and a failed payment before anything else. These cost nothing to fix and explain a surprising share of stalls.
- Read the delivery status literally. Learning limited, low audience size and auction overlap each name their own constraint. Believe the label before you theorise.
- Check the event is being recorded. An optimisation event that fires but never reaches Meta looks like an event that never happened, and delivery narrows accordingly.
- Widen the constraint, not everything. Raise the cost cap, or broaden the audience, or change the event, one of them, then wait. Changing three at once tells you nothing about which mattered.
- Consolidate before you add. Turn off the overlapping ad sets and let one carry the budget. This is usually the highest-value move in a small account.
- Give it 72 hours untouched. Delivery decisions made on day-one data are noise. Diarise the review instead of watching the dashboard.
Suppose delivery still has not resumed after a clean 72 hours on a consolidated ad set with a workable cap. At that point the problem has moved out of the account and into the offer or the creative, where ad creative that earns attention and a sharper promise do the work no setting can.
BENCHMARK BRIEFING 4 OF 4
Which Fixes Move Delivery Fastest
IN BRIEFFixes differ on two axes that people tend to collapse into one: how fast they show an effect, and whether they cost you learning. The grouped view below sorts the common moves so you can pick the cheap ones first.
| Group / fix | Time to visible effect | Typical impact on delivery |
|---|---|---|
| Group A, no learning cost | ||
| Clear a billing or payment hold | Hours | Full resumption |
| Extend an expired schedule | Hours | Full resumption |
| Pause overlapping ad sets | 1–3 days | High in small accounts |
| Group B, resets or disturbs learning | ||
| Raise or remove a cost cap | 1–3 days | High where the cap was binding |
| Broaden the audience | 3–7 days | Moderate to high |
| Change the optimisation event | 7–14 days | High, but resets learning |
| Replace all creative at once | 7–14 days | Unpredictable |
Aggregated by IZI Digital Marketing from Meta’s published guidance on campaigns that slowed or stopped, significant edits and auction overlap, 2025–2026. Timings are planning ranges for small accounts, not guaranteed outcomes.
PART 5 · DRIVE
How to Tell When Delivery Is Genuinely Healthy Again
IN BRIEFSpending the budget is not the same as delivering well. Decide in advance which three signals would tell you the account is healthy, and which one would send you back to the diagnosis. That habit separates managed spend from hopeful spend across every channel IZI advises on.
Three signals together are enough for most Malaysian SME accounts:
- The ad set has left learning and stayed out. Not once, but across a full week without an edit forcing it back in.
- Cost per result is stable, not just low. A cheap day followed by a silent week is a smaller audience, not a better campaign.
- Enquiry quality has held. Delivery that recovers by reaching a broader, colder audience often shows up as more leads and fewer customers.
Set a fixed review day and hold changes for it. Most delivery problems in small accounts are made worse by intervention frequency, not by anything in the settings. A weekly cadence is slow enough to gather evidence and fast enough to catch a real fault. If placements are part of the diagnosis, decide them deliberately rather than by default, because Instagram and Facebook placements behave differently under the same budget.
FAQ
Facebook Ads Not Delivering: Common Questions
How long should I wait before changing a new ad set?
Give it a full 72 hours untouched. It depends on your event volume, an ad set generating several events a day tells you something sooner than one generating two a week. Editing inside that window resets learning and destroys the only evidence you had.
Does a bigger budget fix an ad set that is not delivering?
Rarely on its own. It depends on whether budget was ever the constraint, if the audience is too small or the cost cap too tight, extra money has nowhere to go. Check the named constraint in the delivery status first, then decide whether more spend helps it.
Why did my ad deliver fine last month and stop this month?
Something in the auction changed, even if your account did not. It depends on the season and your competition, more advertisers chasing the same audience raises the price of every impression. Audience fatigue produces the same pattern, so check frequency alongside cost.
Should I duplicate a stalled ad set instead of editing it?
Usually not, and it is the most common mistake we see. It depends on the cause: duplicating carries the same audience and settings into a fresh learning phase while the original keeps competing against it. Fix or pause the original rather than cloning the problem.
Can a rejected ad hurt the rest of my account?
A single rejection normally does not. It depends on the pattern, repeated breaches can lead to restrictions on the business account or its assets, as Meta sets out in its Advertising Standards. Fix the stated reason properly rather than resubmitting the same ad and hoping.
THE VERDICT
The Decision Behind Every Stalled Campaign
Facebook ads not delivering is a diagnostic problem dressed up as a technical one. The account almost always names its own constraint, and the cost of ignoring that in favour of guesswork is measured in weeks of restarted learning.
So the decision is not which setting to change. It is whether you are willing to change one thing and wait, long enough for the system to answer, and long enough for the answer to be worth having.
Stuck on an account that will not spend?
Book a free Blueprint consultation, we will read the delivery diagnosis with you, name the one constraint that is actually binding, and hand you a sequenced fix you can run with anyone.