Two vertical frames of different proportions, each with its safe area marked

Meta ads not spending is almost always one of three creative problems or one of six non-creative ones. On the creative side: too few distinct creatives in the ad set, assets sitting in review or rejected, or fatigued creative that has stopped winning auctions. Everything else, budget, bid caps, audience size, tracking, scheduling and billing, has nothing to do with your creative, and rebuilding creative to fix a rejected asset or a bid cap set too low wastes a week.

So the first job is triage, not production. Read the delivery column before you open your editor.

Why are my Meta ads not spending?

Ads Manager gives you more signal than most people use. The delivery status plus the shape of the spend tells you which family of cause you are in.

What you see Most likely cause Creative problem? First move
Zero impressions, "Not delivering" Ad rejected, scheduled start in future, or ad set paused after an edit Sometimes Open the ad, read the review status
Zero impressions, "Active" for hours Bid or cost cap below the auction floor, or audience effectively too small No Remove the cap, run cost-per-result targets instead
Spends 10 to 30 percent of budget then stalls Too few creatives, or one creative absorbing everything Yes Add distinct concepts, not more ratios
"Learning limited" for days Not enough optimisation events per week for the event you chose Partly Consolidate ad sets, move to an earlier event
Spend falling week over week Fatigue: frequency climbing, CTR falling Yes Refresh concepts, do not just raise budget
Spends fine, reports nothing Pixel or conversions API event not firing No Test the event, then check attribution window

If your row is in the "No" column, stop reading about creative and go fix that. The rest of this post assumes you have.

The creative causes, and the fix for each

One or two creatives in the ad set

This is the most common creative-side cause of an ad set that spends slowly. Meta's delivery system explores across the ads in a set. With two ads it has almost nothing to explore, so if neither gets early traction the set throttles rather than pushing budget into a loser.

The fix is more distinct arguments, not more assets. Four to six genuinely different concepts per prospecting ad set is where most accounts we work in stop seeing this behaviour. An ad variation that changes the hook, the opening shot and the order of the proof points is a new thing to explore. The same film in 9:16, 4:5 and 1:1 is one thing to explore in three frames, and so is a set of five ads that all open on the product on a white background with a different first line of text. Diversity has to be visible in the first two seconds to count.

Assets rejected or stuck in review

An ad in review does not spend, and a rejected ad in an otherwise healthy set can make the whole set look broken because the surviving ads carry a budget that was sized for five. Check every ad individually, because the ad set level summary hides it.

The fix is boring and fast: read the specific policy cited, fix that one thing, and resubmit. The recurring offenders in our experience are before-and-after framing in health and beauty, income or results claims in finance and B2B, and burnt-in text that implies personal attributes. If a concept keeps getting rejected, keep the argument and change how it is shown rather than appealing three times.

One creative eats the whole budget, then dies

Meta consolidates spend onto its early favourite. That is fine while the favourite works. When it fatigues you get a set that was spending fully and now is not, with no other ad warm enough to take over. Our 2026 fatigue benchmark puts CTR decline at 15 to 20 percent in a creative's first two weeks, with week three dropping 45 to 70 percent below the launch baseline, and it notes that a weekly frequency of 2.5 on Meta prospecting is where the decline begins.

The fix is a rotation, not a rescue. Ship replacements before the winner fades, so there is always a warm alternative in the set. Most active campaigns want 8 to 20 live variations at any time, and the report links shipping 15 to 50 variants a month to 3 to 5 times longer campaign lifespan than refreshing quarterly.

How many creatives does an ad set need to exit learning

Two separate things get conflated here, so keep them apart.

Learning phase exit is about events, not creatives. Meta's documented threshold is roughly 50 optimisation events per ad set per week for the event you are optimising toward. If you are optimising for purchases at a €60 average order value and the ad set has €300 a week, you cannot reach 50 purchases at any creative count, and no amount of new video fixes that. Consolidate ad sets, or optimise for an earlier event (add to cart, lead, initiated checkout) and treat that as the learning signal.

Creative count is about exploration. Our working numbers:

  • Prospecting ad set: 4 to 6 distinct concepts live, refreshed fortnightly on feed
  • Retargeting ad set: 2 to 4, because frequency climbs faster on a small pool
  • Whole active campaign: 8 to 20 live variations in rotation
  • Launch of a new campaign: 5 or 6 concepts at once, so the exploration has somewhere to go

Adding creatives to an ad set that cannot reach 50 events a week will not lift it out of learning limited. Splitting one campaign into six ad sets to test six creatives is the version of this mistake we see most often, because it divides the events by six as well.

The causes that are not creative at all

Rule these out before you brief anything. Each of these produces the same symptom, an ad set that will not spend, and none of them is fixed by better video.

  1. Budget too low for the bid. A €10 daily budget on a €40 target cost per acquisition gives delivery no room. Meta will underspend rather than buy badly.
  2. Bid cap or cost cap set too tight. This is the classic zero-impression cause. A cost cap below what the auction actually clears at means you win nothing. Switch to highest volume or a cost per result goal for a few days and see whether spend appears.
  3. Audience too small or too narrowly stacked. Layered interests plus exclusions plus a narrow geography can leave an effective audience of a few thousand. Lookalike at 1 percent in a small country has the same problem.
  4. Tracking and events. If the pixel is not firing the optimisation event, or a conversions API deduplication issue is dropping it, delivery is optimising toward something it never observes. Confirm the event in Events Manager before touching creative.
  5. Ad review, account status and billing. Ads in review, an account spending limit that has been reached, a failed payment method, or a business asset restriction all stop spend cold and none of them show up as a creative issue.
  6. Schedule and structure. A future start date, dayparting, a campaign budget optimisation setup starving one ad set, or two of your own ad sets bidding against each other in the same auction.

Work down that list first because every item is checkable in under two minutes, whereas testing a creative hypothesis takes days.

A triage order that takes twenty minutes

  1. Ad level: any ad rejected or in review.
  2. Account level: spending limit, payment method, restrictions.
  3. Ad set level: start date, schedule, bid or cost cap, audience size estimate.
  4. Events Manager: is the optimisation event firing today.
  5. Delivery column: learning limited, and the weekly event count for that ad set.
  6. Only now: creative count, creative diversity, frequency and CTR trend.

Steps one to five are free. Step six is the only one that costs production time, which is why it goes last. Once you are there, our creative testing workflow covers how to get five or six distinct concepts into one ad set without splitting budgets, and the Meta ad creative generator page shows what we build from an existing footage library.

Disclosure: Genyad is our product. It turns video you already own into new variations, which addresses the creative count and rotation causes above and nothing else on this page. It does not publish to Meta directly, so review status, budgets and bid settings stay your job in Ads Manager. There are no predicted performance scores either, so it will not tell you which variation will win.

Frequently asked questions

Why are my Meta ads getting zero impressions?

Zero impressions with an active status is usually a bid cap or cost cap below what the auction clears at, an effectively tiny audience, or a start date in the future. Zero impressions with a "not delivering" status is usually a rejected ad, a reached account spending limit or a billing failure. Check the ad-level review status first because it takes seconds.

How many ads should I have in one Meta ad set?

Four to six distinct concepts in a prospecting ad set, and two to four in retargeting where frequency builds faster. Distinct means a different hook and opening shot, not the same video in another aspect ratio, because delivery treats near-identical assets as substitutes and concentrates spend on one anyway.

Does adding more creatives fix learning limited?

Not on its own. Learning limited is an event-volume problem: an ad set needs roughly 50 optimisation events a week for the event you chose, so if the budget or the conversion price makes that impossible, more creative changes nothing. Consolidate ad sets or optimise toward an earlier event, then add creative for exploration.

Can creative fatigue make an ad set stop spending?

Yes, and it looks like a set that spent fully for two weeks and then tapered. As frequency passes about 2.5 on Meta prospecting, CTR falls and your ads win fewer auctions at the same bid, so delivery pulls back. The fix is having warm replacements already in rotation rather than raising the budget on a fading winner.