Expert Insights

Your ad is active but not spending: what that actually means

The status says Active and the spend says nothing. This is not a glitch, and Meta documents every reason it happens.

30 September 2026

You published the ad, the status reads Active, and the spend column sits at zero. Nothing in the interface explains it. The first thing to know is that this is not a bug, and Meta documents every cause below in its own help centre.

Check all three levels before anything else

This one fixes it more often than the rest combined.

Meta gives separate delivery statuses to your campaign, your ad set and your individual ad, and they can disagree with each other. Meta says so directly: your campaign may appear active while your ad set or ad shows In review if you made recent changes, and it recommends checking the status at all levels if you have a delivery problem.

Active means running normally at the level you are looking at. If you are reading the campaign row, it tells you almost nothing about the ad underneath it. Open the ad set. Open the ad. The real status is usually sitting one or two levels down.

The statuses that look like running and are not

Meta publishes a set of statuses, and several of them mean waiting rather than working.

In review means the ad has not been approved yet. Meta says most ads are reviewed within 24 hours and that it may take longer.

Preparing is the one that surprises people, because it comes after approval. Meta describes it as the ad having passed review while the delivery system matches it to the right bid and audience, and says that once it has at least one impression it will enter the learning phase or become active. So an approved ad with zero impressions can sit in Preparing legitimately. Meta adds that significant edits send an ad back into Preparing.

Processing means your changes are being applied. Meta says this usually takes a few minutes but that some updates may take up to eight hours.

Scheduled means the ad set is set to start on a future date. Worth actually looking at, because a mistyped start date is a common and invisible cause.

And Meta's general advice on timing is worth holding on to before you start changing things: you may need to wait up to 24 hours to see delivery.

Learning limited, which is not a punishment

If you see Learning limited, Meta states plainly that it is not a penalty, and that it indicates your budget is not being spent effectively because the delivery system cannot optimise with your current setup.

The learning phase itself works on results rather than time. Meta's wording is that ad sets exit as soon as they can deliver stably, which usually happens after about fifty results in the week after the ad set's last significant edit. Note every part of that. It is about fifty, not exactly fifty. They are results or optimisation events, which may be link clicks or landing page views rather than sales. It is per ad set. And the week runs from your last significant change, not from launch.

Meta names the reasons an ad set becomes learning limited: small audience size, low budget, low bid or cost control, high auction overlap, an infrequent optimisation event, or other issues such as running too many ads at the same time. Each of those is worth checking in turn, and the last two are the ones people miss.

The edits that reset everything, and the ones that do not

A great deal of nonsense circulates here, so this list is Meta's own.

Always significant, meaning they reset learning: any change to targeting, any change to creative, any change to the optimisation event, adding a new ad to the ad set, pausing the ad set for seven days or longer, and changing the bid strategy.

Note the seven days. You will read that pausing for 24 or 48 hours resets learning. Meta's published threshold is seven days or longer.

Sometimes significant, depending on how big the change is: your ad set spending limit, your bid control or cost per result goal, and your budget. Meta gives its own example, which is the clearest thing in its documentation on this point. Increasing a budget from one hundred to one hundred and one is unlikely to reset anything. Changing it from one hundred to a thousand may.

And one thing that does not happen at all, though it is repeated constantly: Meta states that changes to your ad's bid amount, budget or ad set schedule will not trigger review. Those three edits do not send your ad back into approval.

The budget and bid causes

Meta's own troubleshooting names a few, in its own words.

Your bid or cost control may be too low. Meta says to make sure you have set your bid cap or cost per result goal high enough to achieve your chosen optimisation event. Note the current field names while you look: bid control, cost per result goal and ROAS goal, rather than the older bid cap and cost cap you will see in older articles.

Your performance goal may be too expensive for your budget. Meta offers a rule of thumb here, that your daily budget should be at least ten times the average cost of your optimisation event. Treat it as guidance, which is how Meta writes it, rather than a requirement it enforces.

Your audience may be too narrow. Meta says an audience that is too narrow may prevent ads from being delivered, and it does not publish a minimum size. If you have read that you need a thousand people, or ten thousand, that figure came from somewhere other than Meta.

One more thing about budgets that stops people worrying about the wrong problem. Meta states that it may spend up to seventy-five per cent over or below your daily budget on a given day. A day of low spend inside a week that balances out is normal pacing, not a fault. The twenty-five per cent figure you may have read is out of date.

Auction overlap, and the fix that does not work

If you have several ad sets aimed at similar people, they are competing with each other, and Meta documents exactly what happens. When two or more of your ads enter the same auction, Meta picks the one with the highest total value to compete and the others are not considered. Meta then states the consequence directly: because auction overlap prevents ads from entering auctions, it can prevent an ad set from spending its full budget or getting enough results to exit the learning phase.

The popular workaround is to split campaigns across separate ad accounts. Meta addresses it and says it does not work: running ads from separate ad accounts may not help you avoid overlap, because the delivery system may identify multiple accounts as belonging to the same advertiser, and overlap can occur across them.

Meta's own remedies are consolidation rather than separation. Combine similar ad sets, turn off the overlapping ones, or use its opportunity score recommendations.

Scheduling, and the time zone people get wrong

Two corrections here, because the received wisdom is wrong on both.

Dayparting does not require a lifetime budget. Meta states that you can schedule your ad set to run on specific days and times if you have a lifetime or a daily budget. The claim that you need a lifetime budget for this is one of the most widely repeated stale facts in the subject.

And your schedule follows your audience, not your account. Meta states that your ad appears in your audience's time zone, and that if you want to understand how people respond in each time zone you should create a separate campaign for each. So a Lagos lounge scheduling ads for Friday evening is scheduling in the viewer's evening, which is what you wanted anyway.

Meta also requires a scheduled ad set to run for at least one hour, and notes that a scheduled ad goes through review but will not begin delivering until your start date.

The limits that stop spend dead

Several separate ceilings can halt an ad while the status still reads Active, and they are easy to confuse.

The ad account spending limit is one you set yourself. Meta says that when it is reached, your ads are paused and the account stops spending, and that removing the limit takes about fifteen minutes before ads start running again.

There is also a daily spending limit that Meta sets rather than you, and which resets every day. Meta mentions this while explaining that if your ad is paused and you have not reached your own budget or account spending limit, you may have hit that one instead. Most write-ups treat these as a single thing and they are not.

A campaign spending limit behaves differently again, and Meta's wording needs unpacking. It says the limit does not affect your ads' delivery, and in the same breath that all the ad sets and ads in the campaign stop running once the limit is reached. Both are true. It does not slow your pacing while you are under it, and it stops everything the moment you reach it.

Then there is payment. Meta documents that when your payment method fails, your ads are paused and the ad account is disabled until the balance is paid. And for accounts funded by available funds rather than automatic billing, which is how Nigerian accounts paying by naira card or bank transfer work, Meta states that delivery will be disrupted if the available funds are insufficient for the campaign. That is worth checking first if you are on prepaid funding, because an account running out of money looks exactly like an ad refusing to spend.

When none of it works

Meta gives its own last resort, and it contradicts the common advice to protect your learnings at all costs. Its wording is that if your ad has been published for at least 48 hours and none of the solutions fix the delivery issue, it recommends deleting and recreating the ad.

So the order is: check the status at all three levels, wait out the first 24 hours, confirm the ad set is not scheduled for a future date, confirm there is money available, check your bid and your audience size, look for overlapping ad sets, and only then rebuild it. Resist changing five things at once, because every significant edit restarts the learning clock and you will lose your ability to tell which change mattered.

Stop guessing where the money went.

The free deep digital audit shows how people are actually finding your business, so your advertising is not the only thing you can see. No account access required, no charge, no obligation.

Questions

Why does Meta say my ad is active but it is not spending?

Usually because the Active status belongs to a different level than the problem. Meta gives separate statuses to campaigns, ad sets and ads, states that they can disagree, and recommends checking all three when delivery is not happening. The status underneath is often In review, Preparing, Processing, Scheduled or Learning limited, each of which means waiting rather than running.

How long before a new Facebook ad starts spending?

Meta says you may need to wait up to 24 hours to see delivery, and that most ads are reviewed within 24 hours though it can take longer. After approval an ad can sit in a Preparing state while Meta's system matches it to the right bid and audience, and Meta states that it moves on once it has at least one impression. An approved ad with no impressions yet is not necessarily broken.

Does pausing my ad set reset the learning phase?

Only if you pause it for seven days or longer, which is Meta's published threshold. The claim that 24 or 48 hours resets learning is not supported by Meta's documentation. What always resets learning is a change to targeting, creative, the optimisation event or the bid strategy, or adding a new ad to the ad set. Budget and bid changes only reset it if the change is large.

Can I run separate ad accounts to stop my ads competing with each other?

No, and Meta addresses this directly. It states that running ads from separate ad accounts may not help you avoid auction overlap, because its delivery system may identify multiple accounts as belonging to the same advertiser and overlap can occur across them. Meta's own suggested fixes are consolidation, combining similar ad sets, or turning off the overlapping ones.