All insights

How to run one ad set without killing the ads it never showed

How to run one ad set without killing the ads it never showed

1 of 13 ads took 98.8% of the impressions.

that was three days of one small account: one campaign, one ad set, thirteen ads, about $120 a day. the ad that took the impressions was earning them. the other twelve shared what was left, and five of them were shown 347 times between them, in six days. the person running it was about to make the decision almost everyone makes next, which is to treat the ads that got nothing as the ads that lost.

i went looking for how people handle this and counted 10 separate threads asking some version of it. in five of them, one ad had already taken almost all of the budget. and the people asking cannot agree on what the pool is even doing. one wants to know whether meta will "rotate spend between creatives or its just fixating on one". another worries the opposite: "could too many active ads be causing meta to rotate delivery before winners receive enough data?"

here is how the rest of them put it:

"do you just dump everything into one ad set and trust the algorithm?"

"so genuinely asking, how do you guys give every creative a real fair start these days, without needing crazy test budgets for every single variant?"

"is a single ad at ~99% of delivery something to correct, or is that just the 2026 delivery stack working and i should stop pattern-matching to old best practices?"

"the campaign currently has one ad set and 10 active ads. should i consolidate the account to 4–6 proven creatives and stop making changes, or continue introducing new creatives?"

"do i force a creative test — separate ad set, own budget, only the untested statics — or does isolating creative like that now do more harm than letting the algorithm sort it in one pool?"

the usual answer to the first one is yes. put everything in one ad set, let the algorithm sort it, keep what it picks, pause the rest. i think that answer is wrong, and it is costing people money in a place they do not look. not in the ad spend — the algorithm is very good at spending a budget, and most of the money goes somewhere sensible. it is wrong about what you conclude afterwards. the algorithm never ran a test, and it never told you the other ads lost. reading its pick as a verdict bins creative you paid to make without ever reading it, and it can crown a winner whose only real advantage was getting there first.

one boundary before the method, because i have written the neighbouring pieces and this is not them. whether the budget sits at campaign or ad set level, which number should pick a winner, when to switch an ad off, how to split testing from scaling — those are separate. this one starts after you already have one ad set with too many ads in it and one of them has the budget. what do you read, and what do you do with the ones that never ran.

so here is the whole thing. what one ad set does with your budget, one column that sorts every ad in it into three piles, two checks on whether the leader earned its share, what trusting the pick costs, and how to give the ads it never showed a fair start for about three results' worth of spend each instead of ten. about fifteen minutes with the per-ad breakdown you already have. nothing is held back and there is no gate on any of it.

the cover on this piece was made in clear cortex for about 8p, on the cheapest model that could spell the headline. that's the studio i'm building, and it's the only ask in this piece: https://clear-cortex.com/?src=x-one-ad-set-top

What one ad set does with your budget

start with the mechanism, because most of the confusion comes from assuming the ad set shares its budget out.

it does not share. an ad set has one daily budget and meta spends it, auction by auction, on whichever ad it currently predicts will bring the cheapest conversion. at the start it has almost nothing to predict from — who stopped scrolling, who clicked, perhaps one conversion, perhaps none — so it makes a guess, backs it, and the ad it backs collects the impressions and the data that confirm the guess. the other ads do not get the impressions they would need to argue back.

the person who asked about the fair start described it exactly: "once one ad gets a tiny early lead, it grabs almost all the budget and the rest barely gets shown, so you never really know if the others would have worked too." and from a different account, the version everybody who has briefed a creative team will recognise: "the creative team makes a lot of effort to create multiple designs, and in the end, meta decides to allocate more than 90% of the budget to only one creative."

which is why the usual arithmetic about pooled ad sets is too kind. one reply, to someone running 5 to 10 ads in one ad set, did the sum like this: "five to ten creatives in one ad set at $50 a day is $5 to $7 each." that is the even split, and the even split never happens. say there are eight ads at $50 a day and the leader takes $45 of it. the other seven share $5 — about 70 cents each a day, about $5 each across a whole week. at a $30 cost per purchase, that is a sixth of one purchase's worth of money behind each of them. nobody would call that a test of seven ads, and yet it is what the dashboard is quietly reporting as one.

the two questions at the top, about rotating and fixating, are the same process at two different ages. in the first day or two, with many ads and no data, meta samples a little of each — that is the rotating. once one of them has a small lead, it backs that one — that is the fixating. neither stage is a test. the first is too thin to tell you anything, and the second has stopped asking.

so the answer to the 99% question is both of its halves. yes, that is the delivery stack working. there is nothing to correct in the ad set; it is doing its job, which is to buy you the most conversions it can this week. what needs correcting is the reading. the 99% tells you where the money went. it tells you nothing about the other twelve ads, because the other twelve were never in the race.

this is the confusion at the heart of "trust the algorithm". spending and testing are two different jobs. meta's job is this week's conversions at the lowest cost it can find. your job is knowing which ideas work, so you know what to make next and what to fall back on when the leader tires. a pooled ad set does the first job well and the second one not at all. the advice is right about the first job, and almost everyone hears it as being about the second.

the most common version of the trust-it advice is honest about this if you read it slowly: "meta will identify a couple creatives that get you sales and allocate all the budget on them, especially with your current structure." that is true. but it identified the ones that got sales among the ones it chose to show. an ad it never showed could not get a sale, so it could never be identified, so it never got shown. that loop is the whole problem.

A pooled ad set of thirteen ads: one static took $685 of the $857 spent and 60 of 62 signups; seven videos shared $157 and 2 signups; five statics shared about $15 and 347 impressions and got nothing. Measured in results' worth of spend at $11.42 a signup, that is 60, 13.7 and 1.3
A pooled ad set of thirteen ads: one static took $685 of the $857 spent and 60 of 62 signups; seven videos shared $157 and 2 signups; five statics shared about $15 and 347 impressions and got nothing. Measured in results' worth of spend at $11.42 a signup, that is 60, 13.7 and 1.3

Figures from one account's own post; the per-group spend for the five statics is derived (total spend less the other two groups), not reported.

The column that sorts every ad in the pool

here is the fix for the reading, and it is one column.

open the ad set's breakdown at ad level, lifetime, and for every ad divide its spend by the cost per result you are judging it against. if you know your break-even cost per purchase, use that. if the question is whether you are sitting on a second winner, use what the leader is costing you. the number you get is how many results' worth of money that ad was ever given. an ad with $14 of spend in an account where a sale costs $28 was given half a sale's worth.

then sort every ad into one of three piles.

pile one: under one result's worth. never tested. whatever it shows, it shows by accident. zero conversions here is the expected outcome even for an ad exactly as good as your winner. results arrive a bit at random, so an ad that brings one sale per $30 on average will often go its first $30 without one. given a quarter of a result's worth of spend, an ad that good shows nothing about 78% of the time. given one full result's worth, still about 37%. a video with $4 of spend and no purchases has not lost. it has not played.

pile two: one to three results' worth. being read, not decided. something is happening here and it is too early to call. leave these alone.

pile three: three or more results' worth. now a zero means something. an ad as good as the winner shows nothing at all after three results' worth of spend only about 5% of the time, so a zero here is a real no. i worked out the full ladder of checkpoints in the piece on when to switch an ad off; the first rung is the only one you need for this. and anything with around ten conversions to its name can be compared with the leader on cost, which is the other piece's job.

now look at what most people do with a pooled ad set: sort by results, pause the bottom. the bottom of a pooled ad set is almost entirely pile one. so the routine that feels like optimisation is, mechanically, switching off the ads that were never tested, and filing them in your head as tried, didn't work.

count the piles before you change anything. the size of pile one is the real result of your pool, and it is usually most of it. thirteen ads with one in pile three and twelve in pile one is not a test of thirteen ideas. it is a test of one idea, and twelve ideas you have not heard back from.

Did the leader earn its share, or just get there first

before you do anything about pile one, check the ad that has the budget. meta picked it on a prediction, and a prediction can be wrong. there are two checks, both on money, and both come out of the same breakdown with the days split out.

check one: its cost per result on the days it held the budget, against your break-even. if it is under, it is a winner against your target and an ad you can scale on, whatever the other ads might have done. you do not need it to be the best ad in the set. you need it to make money.

check two: its cost per result against the campaign's own days before it took over. look at the days when spend was still spread, and the days after one ad started taking most of it. if the cost per result fell when the leader took the budget, meta's bet paid off and the ad set did something useful. if it held or got worse, the leader is first, not best — it got a small lead early and kept it. in that case pile one is the most likely place your better ad is sitting, and the next section is urgent rather than optional.

and watch when its share jumped against when its first results came in. a leader whose share jumped before it had converted was picked on a forecast, not on sales. that is not wrong — forecasting is the platform's job — but it means its lead is not evidence about the others. one person asked why meta was "pushing and pouring budget on one ad that is having high CPM and ignore other ad?" a high cost per thousand on the leader is not the problem in itself. the only question is whether its cost per result clears the bar. if it does, let it pour.

what neither check can tell you is whether something in pile one would have beaten it. the leader can pass both and still not be the best ad in the set. it is only the best of the ads that were shown. that is fine. you do not need the best one. you need a second one with a record before the first one tires — and the pool, left to itself, will never give you that, because it has no reason to spend on a second ad while the first one is working.

What trusting the pick actually costs

this is the part the negative case rests on, and it is not where people look for it.

the obvious cost of a pooled ad set would be wasted ad spend, and mostly that is not it. meta sends the money to its best guess, and if the leader passes the two checks above, the money went somewhere that works. the costs are elsewhere, they do not show in the campaign's cost per result, and there are four of them.

one: creative you paid to make and never read. every ad in pile one — a video you paid a creator for, a static somebody spent an afternoon on — cost money or hours or both, and the campaign returned no information on any of it. the team made "multiple designs" and one of them got more than 90% of the money. that is not a test result on the rest. it is the rest going unread. whatever each of those ads cost to make, you paid it, and you got back a blank.

two: the ones you paused as losers. once pile one is switched off, those ideas are gone from the account, and they are gone from your notes too, because they are filed as tried. the next round of videos gets briefed around the leader. the ideas that never played do not come back. over a few months of this, the account's idea of what works for us turns into what got shown first, and nobody can say when that happened.

three: one leg to stand on. a pooled ad set left to itself ends with one ad holding the account up. when that ad tires — and every ad does — there is no second ad with a record behind it. meta starts again from ads with no data, the cost per result jumps while it re-picks, and the jump gets read as the account dying rather than as the cost of never having read a second ad. it is also the only leg you can scale on. raise the budget on a pooled ad set and the extra money goes where the old money went, to the leader — so scaling the campaign means finding out how far one ad stretches. that is the question in the post asking whether to consolidate to "4–6 proven creatives" or keep "introducing new creatives": proven ones are the ones that have been read, and new ones dropped into the leader's pool mostly become more pile one.

four, only if the leader fails its checks: the spend itself. if the cost per result never fell when the leader took over, the pool has been spending most of your budget on an early guess, and that is wasted money in the ordinary sense.

so the honest answer to "do you just dump everything into one ad set and trust the algorithm?" is: dump the proven ones, and trust it to spend. the ads that have already been read belong in one pool, where meta can do what it is good at. the ones that have not been read need somewhere they will actually get spent on, and the pool is the one place they never will.

A fair start for the price of a no

which brings us to the question in the same post as the one at the top: how do you give every creative a fair start without crazy test budgets for every single variant?

you cannot give every variant a fair start, and you do not need to. a fair start that ends in a yes is expensive. to say one ad is better than another on cost you need roughly ten conversions on each — i worked that out in the piece on what a test has to cost — so a yes costs about ten results' worth of spend per ad. a fair start that ends in a no is cheap. a zero after three results' worth is already a real no. most new ideas end in a no, so the trick is to pay three for every idea and ten only for the ones that survive the three.

here is how to run it on the pool you already have.

step one: leave the leader's ad set alone. do not pause the leader to force spend onto the others. that takes the account's one working ad off to run a test, and meta will simply pick the next favourite by the same logic, with less data than before. do not edit it either. the pool keeps spending; the read happens elsewhere.

step two: sort pile one before spending a penny on it. some of those ads are near-copies of the leader — the same idea with a different colour, crop or opening line. they would mostly perform like the leader, so reading them buys you little. keep the ones that are genuinely different ideas, a different reason to buy or a different person it is for — a demo video against a testimonial, not the same video recut. i went through how to tell the two apart in the piece on variations; it takes ten minutes.

step three: give each surviving idea its own ad set with a fixed budget of three results' worth, spent over three to five days. one ad per ad set, so nothing inside it can starve it. yes, this is the spread-thin setup, and yes, i have argued that it cannot crown a winner on a small budget. it cannot. but it does not have to. it is too thin to say yes and exactly thick enough to say no, and a no is all you are buying here. that is also the answer to the "do i force a creative test" question: yes, force it, but only for the untested ads, and sized for a no rather than a yes.

step four: read it at three, and only at three. zero conversions after three results' worth — off, and this time it is a real no, so file it as one. one or more at or near the bar — alive. alive ads go back into the main ad set next to the leader (adding a new ad to a running ad set does not reset it), where they now arrive with a record and give the campaign a second ad to scale on, or they get the full ten-result read if you want a proper comparison. an ad that has already shown it can sell is a much better bet for the pool than one it has never seen.

step five: if nothing survives, the answer is a new idea — a new video or image with a different reason to buy — not another variant of the one that won. the leader's near-copies were dropped in step two for a reason.

the next idea doesn't have to mean a shoot or another video from a creator. this is one product photo turned into a new ad, step by step: https://clear-cortex.com/playbooks/how-to-make-an-ad?src=x-one-ad-set-mid

the cost of all this is one multiplication, and it is worth doing before you start:

ideas in pile one × 3 × your cost per result = what it costs to give every one of them a fair start

against ten instead of three for the version that tries to crown each one. on almost any campaign that is the difference between a test you can afford this week and one you never run.

Clearing five unread ideas with a three-result read costs $171 at $11.42 a signup, about a fifth of the account's $840 week; giving each a ten-result read would cost $571, two thirds of the week
Clearing five unread ideas with a three-result read costs $171 at $11.42 a signup, about a fifth of the account's $840 week; giving each a ten-result read would cost $571, two thirds of the week

Planning arithmetic at the leader's own cost per signup. A ten-result read on a weaker ad costs more than this, not less.

One account, worked end to end

this is the account from the opening line, and it is worth doing properly because the person who ran it wrote down every number you need. "small budget, early days, but the delivery pattern has me unsure whether to push or restructure."

the setup, from their post: one campaign, one ad set, thirteen ads, about $120 a day in canadian dollars, optimising for signups, six days live. $857 spent, 62 signups. over the last three days one static took 11,085 of 11,214 impressions. on that static: "it's at an $11.42 lifetime CPA and 60 of my 62 total signups."

the column. the bar is $11.42, the leader's own cost, because the question is whether there is a second winner.

  • the static that won: 60 signups at $11.42 is about $685 of the $857. sixty results' worth, pile three, read.
  • the seven videos: "the 7 UGC-style video ads are genuinely dead — $157 spent, 2 signups between them, and retention is broken (one has 843 plays with only 23 viewers reaching the 25% mark)." $157 ÷ $11.42 is about 13.7 results' worth across seven, roughly two each — pile two, one by one. but as a group they have been read. if they were as good as the static, 13.7 results' worth should have brought about 14 signups. they brought 2. the chance of that is about one in 8,500. they are a real no, and the person running it was right to call it.
  • the five other statics: shown 22, 2, 43, 54 and 226 times — 347 impressions between them. their spend is what is left: $857, less $685, less $157, is about $15. 1.3 results' worth across all five, about a quarter each. pile one, every one of them. they got no signups, and no signups is what you would expect even if all five were as good as the static that won — for any one of them, about 77% of the time; for all five together, about 27%. none of those five lost. none of them played.

the leader check. their daily figures split the week in two. the first two days cost $37.53 and $50.79 a signup. the three complete days in which the static took 98.8% of the impressions cost $10.47. the post does not say how spend was split on those first two days, so this is the check run on what is there — but the cost per signup fell by about three quarters across the days the leader held the budget. meta's bet paid off, the leader passes both checks, and its ad set stays exactly as it is — it is the ad to scale on, and nothing in this read touches it.

so the read is: one winner, seven read and lost, five unread. the ad set did its spending job well. it did no reading at all on five of the thirteen ads, and if the person had paused the bottom of the list, all five would have gone out filed as losers. their acquisition at that point was one image file, with nothing read behind it.

the fair start, priced. the five statics are the untested ones the question asked about. sort them first: any that are the winning static with a different crop go; say all five are genuinely different. each gets its own ad set at three results' worth: 3 × $11.42 is about $34. five of them is about $171 — say $12 a day each for three days. that is a fifth of the account's $840 week. if it comes out of the main ad set's $120 a day rather than on top of it, the leader runs at half budget for three days, which is the real price of the read and worth knowing before you start. giving each of them a ten-result read instead would cost at least $571, two thirds of the week, for the same five ads.

the read at three. a static with zero signups after its $34 — off, filed as a real no. a static with one or more near $11 — alive, and it goes into the main ad set next to the winner with a record. if all five fail, the account knows it needs a new idea rather than five more images of the old one, and it has found that out for $171 instead of by waiting for the one static to tire.

most of that $171 will be spent on ads that lose. that is the price of knowing. the alternative is the same five ads switched off for free, as losers they never had the chance to be.

The part i cannot prove

how delivery spends inside an ad set is platform behaviour, from the platform's own documentation and from what advertisers describe. none of it is my measurement. i do not run an account at this spend, and the worked example is someone else's account, read from what they wrote about it. the $685 and the $15 are derived from their totals and their lifetime cost per signup, not reported per ad.

the percentages assume results arrive at random at a steady rate. real delivery is not steady, and an ad in a small ad set of its own does not meet the same auctions as one sitting beside the leader. a static that clears the three-result read on its own may still get no share when it goes back into the pool. the read tells you it can sell. it does not promise the pool will let it. the three and the ten come from earlier pieces and are arithmetic on top of the platform's own thresholds, not a statistical result.

and there is one thing i genuinely do not know. how often is meta's early pick right? in the account above it was. if the first guess is right most of the time, pile one is mostly losers, and the read in this piece is insurance — cheap, but insurance. if it is wrong often, pile one is where the money is. i have not found anyone who kept count. if you have taken the unread ads out of a pooled ad set, read them on their own and kept the tally, i would rather have your numbers than be right.

if any of this is wrong, say so. a correction is worth more to me than agreement.

the read only pays if there is a next idea to give it. that's the part clear cortex does — the next ad from the product photo you already have, for pence: https://clear-cortex.com/?src=x-one-ad-set-end

First published as an X Article on — read it there.