Your ad cleared review. The status says active. And yet the impressions column reads zero — no one has seen it, no budget has moved, and no leads are coming in. It’s a strange, quiet kind of problem: nothing looks broken, but nothing is happening either.
The reassuring part is simpler than it looks. Facebook ads with no impressions almost always have a specific, fixable cause. Approved just means your ad passed policy review; it does not mean Facebook has started showing it. Something between “eligible” and “delivering” is holding it back, usually a budget, bid, audience, schedule, or account limit. Across the Meta Ads campaigns we manage for 500+ Malaysian businesses, an approved ad stuck at zero impressions is one of the most common tickets we field, and one of the quickest to trace.
This guide covers what “approved but no impressions” really means, the order to check things in, the causes behind most cases, and how long delivery takes to start once you fix the right one. The same diagnose-first habit that helps when your rankings drop suddenly applies here: name the cause before you touch a setting. The short video below is a quick primer before we dig in.
Source video: How to Fix Facebook Ads Not Delivering Problem on YouTube
Quick Answer: Approved means your ad passed Facebook’s policy review. Impressions are the number of times it’s actually shown. The two are separate — an ad can be fully approved and still sit at zero impressions because it hasn’t entered the auction yet. No impressions is a delivery problem, not a policy one.
Three words get treated as the same thing, and telling them apart is the whole game. They describe different stages, and only the last one puts your ad in front of people.
So an ad that’s approved but getting no impressions is stuck between “allowed” and “delivering”. That’s a very different problem from an ad that got rejected, where policy is the blocker, or from ads that are not delivering at all across the whole account. Here the ad is eligible. It just is not entering the auction, and that narrows the search to a short list of causes.
Quick Answer: Start with what’s cheapest to rule out. Confirm the ad set is active and its schedule has started, check budget and billing, look at the bid cap, then check audience size and overlap. Work account and delivery first, audience last — the fast causes are the common ones when impressions sit at zero.
Run these checks in order. The first few clear the quick, common blocks before you touch targeting or creative.
Not sure which check applies to your account?
Our Meta Ads team runs this exact triage on live Malaysian accounts every week and finds the real block fast. See how our Meta Ads team gets delivery started →
Quick Answer: Most no-impression cases trace back to a handful of causes. In ZenWeb-managed accounts, the biggest group is an ad set still in review or scheduled to start later, followed by a budget or bid too low to enter the auction, then a too-small or overlapping audience, and account limits. Delivery blocks are far more common than anything wrong with the ad.
Across the accounts we manage, most Facebook ads with no impressions trace back to one specific block, not a tangle of problems. The table shows roughly how often each cause sits behind a case, from ZenWeb client tracking. Notice how many are about delivery being blocked or not yet started, rather than the ad or the market. When the whole account has gone quiet instead of one ad set, our guide to ads not delivering at all covers the wider version of this problem.
| Root cause | Share of no-impression cases |
|---|---|
| Ad set still in review or scheduled later | ~23% |
| Budget or bid too low to enter the auction | ~21% |
| Audience too small or overlapping your own ad sets | ~18% |
| Account spending limit reached or billing block | ~16% |
| Ad set paused or schedule set to a future time | ~12% |
| Reporting lag or wrong date range | ~10% |
Source: ZenWeb client tracking, Malaysia, 2024–2026. Shares are typical of managed SME accounts and vary by objective and niche.
Quick Answer: Facebook usually tells you why an approved ad has no impressions; you just have to read the delivery status. “Scheduled”, “In review”, “Below spending limit”, and “Active” with zero impressions each point to a different fix. The status label is your fastest clue to where the block sits before you change anything.
Instead of guessing, read the delivery column and match it to the likely cause. The table maps the status labels you’ll see against what each one means and the first thing to check. An ad set that’s stuck in review and one that’s hit a spending limit both show no impressions, but they need completely different fixes.
| Delivery status | What it means | First thing to check |
|---|---|---|
| Scheduled | Start time is in the future | Ad set schedule start date and time |
| In review | Still being checked before delivery | Wait up to 24 hours; check account quality |
| Not delivering — below spending limit | Account spend cap has been reached | Account spending limit and billing |
| Active, zero impressions | Eligible but not winning auctions | Budget, bid cap, audience size |
| Learning limited | Too few events to optimise delivery | Consolidate ad sets, widen audience |
| Rejected on one ad in the set | A policy issue is dragging the set | Each ad’s own status, then resubmit |
Source: ZenWeb client tracking, Malaysia, 2024–2026. Labels follow Meta’s delivery column; wording changes over time.
Quick Answer: Four settings block delivery more than any others: a budget too low for your bid, a bid or cost cap set too tight, an audience too small or overlapping, and a schedule that hasn’t started. Each has a clear first fix, and most release delivery within hours once you loosen the right one.
These are the settings that most often keep an approved ad at zero impressions, with the typical effect and the first fix for each. When you find the block, change that one thing and give delivery time to respond before touching anything else.
| Blocker | What happens to delivery | First fix |
|---|---|---|
| Budget too low for the bid | Ad set can’t clear the auction, so nothing shows | Raise the budget or soften the optimisation goal |
| Bid or cost cap too tight | Priced out of every auction, zero placements won | Raise or remove the cap, then re-test |
| Audience too small | Too few eligible people to start delivery | Broaden it or use an Advantage+ audience |
| Overlapping ad sets | Your sets compete, suppressing each other | Consolidate or exclude the overlap |
| Schedule set to a future start | No active hours yet, so no impressions | Fix the start time or widen the schedule |
| Account spending limit hit | The whole account stops delivering | Raise or clear the account spend limit |
Source: ZenWeb client tracking, Malaysia, 2024–2026. Effects are typical for managed SME accounts and vary by objective.
Two of these deserve extra care. A budget set too tight for an aggressive bid strategy starves delivery even with a perfect audience. Meanwhile, overlapping ad sets quietly cannibalise each other, the same auction pressure that later shows up when reach suddenly drops. Competition matters too. During Malaysian peak seasons like Ramadan and the year-end 11.11 and 12.12 sales, more advertisers crowd the auction, so a bid that was fine last month can quietly price a small budget out this month. If your targeting is the issue, check whether the audience is too broad on a small budget, and confirm your ad schedule is actually live right now.
Approved ad still stuck at zero after loosening the blockers?
We audit stalled Meta Ads accounts, find the block, and get delivery moving again without wasting your budget. Book a Meta Ads delivery review →
Quick Answer: It depends on the cause. Fixing billing, correcting a schedule, or raising a budget usually brings impressions within a few hours. Broadening a small audience, clearing a rejection, or consolidating overlapping ad sets takes longer — up to a day or two while delivery re-settles into the learning phase.
Not every fix works at the same speed. The table shows the typical time for impressions to start once you’ve fixed the real block, from ZenWeb client tracking. Quick account fixes deliver fast; deeper changes take longer because the ad set re-enters the learning phase and has to stabilise again.
| Fix applied | Typical time to delivery | Difficulty |
|---|---|---|
| Correct the ad set schedule | Under 1 hour | Easy |
| Fix billing or raise the spending limit | ~1–2 hours | Easy |
| Raise the budget or bid cap | ~2–6 hours | Easy |
| Broaden a too-small audience | ~Half a day to 1 day | Moderate |
| Clear a rejection dragging the set | ~1–3 days | Moderate |
| Consolidate overlapping ad sets | ~1–2 days | Harder |
Source: ZenWeb client tracking, Malaysia, 2024–2026. Typical ranges for managed accounts; your pace varies with budget and objective.
Quick Answer: Fix the specific block in place rather than duplicating or rebuilding the ad set. Raise the budget in steps, loosen the bid cap, widen the audience, or merge overlapping sets — inside the existing set where you can. Rebuilding from scratch throws away optimisation data and restarts the learning phase.
The instinct when an approved ad won’t deliver is to duplicate it and hope the copy behaves. Usually that’s the worst move — it dumps the learning the ad set has built and restarts an unstable learning phase. Fix the real block in place instead:
Facebook ads with no impressions feel broken, but this is one of the more diagnosable problems in Meta Ads. Approved only means allowed to run, so read the delivery status, confirm the ad set is on and started, check budget and billing, then look at bid caps and audience size, in that order. Match the block to its cause, loosen the one setting, and give delivery a few hours to start.
If you’ve worked the checklist and impressions are still flat, you don’t have to guess alone. The team at ZenWeb runs tightly-managed Meta Ads campaigns for Malaysian businesses every day, and getting an approved-but-silent account delivering again is part of the job.
Because approved only means your ad passed policy review — it doesn’t mean Facebook has started showing it. Zero impressions on an approved ad is a delivery block: an ad set scheduled to start later, a budget or bid too low to win the auction, a too-small or overlapping audience, or a reached account spending limit. Find the block and impressions usually start once you clear it.
Give a brand-new ad up to 24 hours before you panic — early delivery is often just slow to register in reporting. If it’s still at zero after a full day with the status showing active, that’s no longer a delay; it’s a block. Check the delivery status, schedule, budget, and audience before making any changes.
Yes, and it’s one of the most common causes. A daily budget set too low for your optimisation goal, or a bid or cost cap set too tight, prices you out of the auction so the ad never wins a placement. Raise the budget or loosen the cap gradually and re-test — impressions usually start within a few hours once you’re competitive again.
It can. A very small audience gives Facebook too few eligible people to begin delivery, and overlapping ad sets targeting the same people suppress each other in the auction. Broaden the targeting, add a lookalike, or merge overlapping sets so there are enough people to reach. A wider, cleaner audience gives delivery room to start.
Usually no. Duplicating resets the learning phase and often repeats the same block in the copy. Diagnose and fix the real cause in place instead — the schedule, budget, bid, or audience. Duplicate only when you’re deliberately testing a genuinely different audience or creative, not as a fix for an approved ad that simply isn’t delivering.
Approved ads still not getting impressions?
Book a free 30-minute strategy session. We’ll run the full triage on your account, pinpoint exactly what’s blocking delivery, and give you a clear plan to get impressions, leads, and cost per result back on track.
Complete the form and our team will contact you to discuss your goals. Let’s grow your business.

Online