All articles
Ad Intelligence7 min read

Meta Only Spends on One Ad? Why Delivery Concentrates and How to Test Anyway

When Meta only spends on one ad and starves the rest, your test is broken by design. Here is why delivery concentrates and the structure that gets every variant read.

You build four ads for one ad set. Not four crops of the same image: four concepts. A talking-head video, a problem-first static, a social-proof carousel, a blunt offer card. You launch with a sensible daily budget, wait two days, and open the breakdown.

Ad one has 96% of the spend. Ad two got a few euros of scraps. Ads three and four show zero. Not low numbers. Zero impressions, zero spend, not a single cent.

So what did the test teach you about those four concepts? Almost nothing. One concept got a real audition, one got a cameo, and two never left the bench. I have run into this at every budget level I have managed, and the fix is structural. You will not solve it by toggling settings inside the same ad set.

The takeaways

  • Concentration is the system working as designed: Meta's ad auction documentation says every impression goes to the ad with the highest total value (a blend of bid, estimated action rate, and ad quality), so an early leader compounds its lead instead of sharing it.
  • Zero spend is zero information: an ad with no impressions has not failed, it was never entered in the race. Archiving the concept based on that read throws away a candidate you never tested.
  • One ad set per concept with its own budget (ABO) is the only structure that forces a verdict on every variant; I want at least 500 impressions per variant before I compare anything, and conversions before I crown anything.

Why does Meta only spend on one ad?

Because the delivery system is an auction optimizer with one job: buy the cheapest expected results available right now. Meta's ad auction documentation describes each impression as a contest decided by total value, a combination of your bid, the estimated action rate, and ad quality. The moment one ad in your ad set shows a slightly better estimated action rate, it starts winning more of those contests. More wins mean more data, more data means a more confident estimate, and the lead compounds.

That early estimate is built on very little. A handful of impressions, plus what the system already believes about your account, your audience, and ads that look similar. It does not wait for a fair sample before committing. From Meta's side this is rational: exploring your underdog ads costs money that could have bought cheap conversions from the favorite, and the system is graded on cost per result. The quality of your learnings is your problem.

Once you see it that way, the frustration changes shape. The delivery system was never a test runner. Asking it to split spend evenly across four concepts is asking it to deliberately buy worse results, and it will refuse every time.

Is a zero-spend ad a bad ad?

No. A zero-spend ad is an untested ad, and the difference matters more than it sounds. Negative data would be an ad that got 5,000 impressions and nobody stopped scrolling. That tells you the hook is weak. Zero impressions tells you only that another ad in the same ad set won the internal contest before yours got a turn.

The distinction has a real cost when you ignore it. Most buyers I know quietly treat starved ads as losers: the concept gets marked "tested, failed" in someone's head or someone's sheet, and never runs again. Now multiply that across a year of monthly batches. A meaningful share of your creative pipeline gets buried without a single impression of evidence, and your team learns the wrong lesson about which angles work for this audience.

Worse, the surviving "winner" was crowned against opponents who never played. You did not learn that concept one beats concepts three and four. You learned that concept one cleared whatever bar the auction set on day one. Those are different facts, and only one of them is worth money.

How do you force Meta to deliver every ad?

You stop asking one ad set to be fair and give each concept its own ad set with its own budget, the structure usually called ABO (ad set budget optimization). With four concepts, that is four ad sets, same audience, same optimization event, one ad each, each with a fixed daily budget. Now no ad can starve another, because they are not in the same internal contest. Every concept gets delivery, every concept produces a read.

A few practical edges I have learned to respect:

  • One concept per ad set, not one asset. Crops and minor copy swaps of the same idea can share an ad set; the auction picking among near-duplicates costs you nothing. Distinct angles cannot.
  • Equal budgets, sized for a verdict. Each ad set needs enough to reach a readable sample on its own. How much that is depends on your CPA, and I wrote the budget math for ad tests separately, so I will not rehash it here.
  • Expect a slightly worse blended CPA during the test. You are paying the auction to explore instead of exploit. That premium is the price of an answer, and it is temporary.
  • Audience overlap is survivable at test scale. Four ad sets on the same audience will compete with each other a little. At typical test budgets the effect is small compared to the value of clean per-concept data.

Then, and this is the half people skip, let concentration work for you afterwards. Once a concept has proven itself, move it into your scaling structure (CBO or an Advantage+ campaign) alongside your other winners, and let the system pour spend into whatever performs. Concentration is a flaw in a test and a feature in scaling. Same mechanism, opposite verdict, depending on whether you are buying knowledge or buying results.

How many impressions before you can compare variants?

My floor is 500 impressions per variant before I compare anything at all, and even that only licenses a read on attention metrics like hook rate and CTR. Below that, the difference between two ads is mostly which one happened to catch a few receptive people first. For conversion verdicts the unit is conversions: Meta's documentation puts learning-phase exit at about 50 optimization events within a week, and an ad set judged before that is reporting noise with confident formatting.

The 500 is my own working number from running these tests, not a law of nature, so treat it as a floor rather than a finish line. The honest hierarchy looks like this: a few hundred impressions buys you a hook-rate ranking, a few thousand buys you a CTR ranking you would defend, and only conversion volume buys you a winner. An ad that stops thumbs can still sell nothing.

And once every variant has real numbers, you face the second trap: small samples crown lucky ads. Deciding whether your front-runner is a winner or just got lucky is its own discipline, and it is where most clean tests get undone at the last step.

Test one question at a time

The deeper habit behind all of this is sequential discipline. A test that asks four questions at once (concept, hook, format, offer) answers none of them, even with perfect delivery. The structure above gets every variant delivered; deciding which variant to test next is the harder call, and it is one buyers usually make on gut feel.

That call is one of the things I built Adscalr's ad-intelligence engine to make explicitly: it uses Thompson sampling to recommend the next test worth running, reproducible per calendar week, so the testing queue follows the evidence instead of the loudest opinion in the room. The same engine scores creatives on a blend of six metrics and pulls wild early numbers toward what the format usually does, which is the statistical version of the patience this whole article is preaching.

If you want to see how a disciplined read of your tests looks in practice, the ad-intelligence page walks through it. But the structural fix costs nothing and works today: one concept per ad set, its own budget, 500 impressions before you compare, conversions before you crown. Meta will keep concentrating spend, because that is its job. Yours is to make sure it only does that after every concept got its audition.

This is the thinking behind Adscalr.

See the product