All insights

How to tell you've run out of audience without shrinking it yourself

How to tell you've run out of audience without shrinking it yourself

180 million people, and it still stalls.

i went looking for how people decide they have run out of audience and counted 10 people asking some version of it, twelve different ways, in ten separate threads. the thing i did not expect: not one of the twelve says how many people their campaign had actually reached. they reason from the size of the pool, from a frequency number, or from a sense that the good part is gone. none of those is the number that answers the question.

one of them put it with the figure attached:

"even though meta estimates the audience size at around 180 million people, we're concerned we may be exhausting the highest-intent portion of that audience more quickly than expected, causing performance to deteriorate."

and the rest arrive in the shapes you would expect:

"am i likely causing meaningful audience overlap, or will meta naturally distribute each creative to different users based on predicted performance?"

"makes me wonder, is frequency even still a reliable signal for creative fatigue anymore?"

"what specific performance thresholds, such as a certain frequency cap or a percentage drop in click through rate, do your teams use as a trigger to swap out 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?"

"did it bring new customers or cheap retargeting conversions?"

here is the uncomfortable version of the answer. at the budgets most advertisers in those threads are describing, the audience has not run out. something narrower has, and the three things everyone reaches for when they think the audience is gone — stacking interests to find the good people, duplicating ad sets to "find new pockets", and capping frequency so the same people stop seeing it — each make that narrower thing smaller. they cost money in the direction you were already losing it. and when they have not worked, the next move is usually a fresh batch of video, bought to reach people the account was never short of.

so here is the whole case, in the order to check it. the arithmetic on what you have actually reached, what overlap between ad sets really costs, why the interest stack and the cap both shrink the pool, and the trigger i would use instead of a frequency number — worked end to end on one advertiser's real figures. about twenty minutes, all of it with numbers already sitting in ads manager and your store. 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-run-out-of-audience-top

You have reached a rounding error of it

take a cpm somebody in the same threads reported — "those cpms at $35+ are wild for broad us targeting" — and a campaign spending $100 a day. $100 at $35 per thousand impressions buys about 2,860 impressions a day, or roughly 86,000 in a month. now pretend every one of those impressions landed on a different person, which they will not. that is 86,000 people out of 180 million. about 0.05%.

you have not used up 180 million people. you have not used up a hundredth of them. you have spent a month of budget showing your video to a crowd that would fit in a football stadium, inside a country-sized pool. another advertiser in the same threads had the right instinct about their own numbers — "since the usa is huge and the audience size is over 80million people, i understand this budget isn't much" — and that instinct is correct. the budget is the constraint long before the audience is.

so why does it stall? because something did run out.

the clearest description in the whole pile came from a reply to somebody whose ads worked for five days and then died: "meta burns through the easy pocket in whichever cheap countries it finds first, and once that's exhausted there's nothing in your data telling it who else is worth chasing, so it just stalls."

read the second half of that sentence again. "nothing in your data telling it who else is worth chasing." that is not a description of an audience running out. it is a description of the delivery system running out of confidence. it found a small group of buyers it was sure about, it spent your budget on them, and when they had all seen the ad it had no evidence about anybody else. the other 179.9 million are still there. meta just has no reason to believe any of them will buy.

and that distinction is the whole article, because the two problems have opposite fixes. if the people are gone, you need more people. if the confidence is gone, you need more evidence — and every move in the next three sections takes evidence away.

somebody further down the same thread pushed back on the easy-pocket diagnosis, and the push-back is the part worth keeping: "your details point to a testing system problem, not 'meta used up the easy pocket' as a complete diagnosis you're spending $30-$50/day across 5-10 ads, targeting airbnb hosts worldwide, and you've tested 100+ creatives." a hundred creatives, five to ten at a time, on $30 to $50 a day. that is not an account that exhausted its audience. it is an account that never gave the system enough conversions per ad to learn who its audience was. i come back to it at the end, with its own numbers.

the honest exceptions, because there are some. a retargeting audience runs out — it is a list of a few thousand people who visited your site, and at any real budget you will show all of them the same video many times over. a campaign locked to one city can run out: one of the threads describes "1 campaign, abo, 2 ad sets at $50/day each, both broad, both lead-optimized, single metro (~4.5m)", and 4.5 million is a pool a real budget can make a dent in over a few months. and a product that only a sliver of people will ever want has a real ceiling — one reply put that exactly: "this might just be a demand ceiling, not an ads problem." the check in the last section tells you which of these you are in. what it will almost never tell you, at $30 to $300 a day in a big country, is that you have reached everybody.

Duplicating an ad set does not find new people

the most common response to a stall is to copy the ad set, or the whole campaign, and run the copy alongside the original. it is also the most common way to scale. one practitioner's version, stated as a method: "once i have those winners, my scaling approach is to duplicate the entire campaign containing only the winning creatives, increase the budget to around 2x the testing budget, and then allow it to stabilise." the logic is that the copy will go and find a fresh group of buyers the original could not reach. it will not, and one line in the threads says why more bluntly than i would: "if you are still trying to win by tweaking interest stacks, duplicating ad sets to 'find new pockets,' or running 5 different $5/day campaigns, you are actively killing your own account."

that is a strong claim, so here is the mechanism. the question at the top — "am i likely causing meaningful audience overlap, or will meta naturally distribute each creative to different users" — has two answers depending on where the creatives sit.

inside one ad set, meta does the distributing. put five videos in one ad set and delivery decides who sees which, based on who it predicts will respond. that is the arrangement the system is built for, and the overlap question mostly does not arise.

across two ad sets aimed at the same people, it does not. two with the same broad targeting are both eligible for every person in that audience. meta's own help pages describe what happens when two of your ad sets would enter the same auction for the same person: rather than bid against yourself, it enters the one it rates higher and holds the other back. so you do not pay double — the fear most advertisers have about overlap is the wrong fear. what you lose is quieter and costs more. each copy now gets a fraction of the auctions it would have won alone, which means a fraction of the conversions, which means each one learns slower than the single one you started with.

and the copy starts from nothing. one reply on exactly this, to somebody whose duplicate had come in worse than the original: "and your duplicate opening at $60 cpa makes sense because a duplicated ad is a brand new ad with no history and no accumulated engagement." it has to learn who buys from zero, while competing with the original for the same people.

so the duplicate does not find new buyers. it re-enters the same auctions, splits the same conversions, and resets its own learning — three costs for a move whose whole point was reach. done to scale, it is scaling by starting again at twice the budget.

this is not an argument against ever running two campaigns. a testing campaign and a scaling campaign doing different jobs is a structure, and i have written that one up separately. the same ad set copied three times at the same audience is not. it is the same bet placed three times, each with a third of the stake.

and it answers the "one pool" question too. unless you need a clean read on one specific creative and are prepared to pay for it, one pool is the default and the burden of proof sits on splitting. every ad set you add is another place for your conversions to be divided.

if you have already duplicated, the fix is to stop the bleeding in the direction of fewer, not more. turn off the copies that share an audience with the original, keep the one with the most conversion history, and move the videos from the others into it. you will lose the copies' short history. that is fine; it was not worth much.

Stacking interests shrinks the pool you were worried about

the second reflex is to filter. if the good people are running out, the thinking goes, tell meta exactly who the good people are — stack interests, add behaviours, exclude everyone who looks like they will not buy, and keep running the same video at whoever is left. aim the budget at the high-intent pocket instead of letting it wander.

this solves the wrong shortage. it answers too little evidence by making the pool smaller, which makes the evidence rarer still.

the delivery system learns from conversions. it wants a steady number of them — the figure usually quoted is around fifty a week per ad set — so it can work out what the buyers have in common and go and find more. stack the filters and there are fewer people who can convert, so fewer conversions arrive, so it learns less, so it becomes less confident about who else to chase. one person running exactly this experiment on a new account described where it ends: "suffocating a new pixel with strict interest filters usually leaves it permanently trapped in learning limited because the system struggles to hit those 50 weekly conversions."

that is the loop. you think the pool is exhausted, so you stack more interests on it, so the system gets less data, so it stalls sooner, so you think the pool is exhausted.

The loop: believing the audience has run out leads to stacking interests, duplicating or capping, which cuts conversions and evidence, which makes the campaign stall sooner and reinforces the belief.
The loop: believing the audience has run out leads to stacking interests, duplicating or capping, which cuts conversions and evidence, which makes the campaign stall sooner and reinforces the belief.

Mechanism, not measurement.

it is also worth noticing what the high-intent pocket actually is on most accounts, because the answer is usually not a mysterious group of strangers. it is people who already know you. visitors, past customers, people who follow the page. they are the cheapest conversions available, the delivery system finds them first, and they genuinely are a small pool. one of the questions i counted asks it as a test for every result: "did it bring new customers or cheap retargeting conversions?" another asks how to structure a campaign so meta is "not just solely focusing on retargeting". if the pocket you exhausted was your existing customers, filtering further makes that worse, not better — you are telling the system to spend more of its time on the one pool that really is small.

there is one kind of narrowing that is honest, and it is the opposite of guessing. go back to the easy-pocket line: "in whichever cheap countries it finds first." if a campaign is spending across many countries and some of them never pay back, removing them is not a guess about who might buy. the same thread had the instruction for it: "split reporting by country/region + device and find where the $5k spend / $7k revenue actually came from."

so the rule is: narrow on evidence, never on a hunch. excluding a country that has had real spend and no sales is evidence. stacking three interests because they sound like your customer is a hunch, and it costs you the very data that would have told you whether the hunch was right.

The cap, and the number it is set on

the third reflex is the frequency cap. if the same people are seeing the ad too often, stop showing it to them past some number. and underneath it sits the most-engaged question of the twelve — whether that number means anything any more.

i have argued elsewhere that frequency cannot tell a tired ad from a tired audience, and i am not going to re-run that here. the point for this piece is narrower, and it has two halves: frequency is the wrong trigger for a swap, and a cap is the wrong setting for a fix.

the wrong trigger. frequency is an average across everybody the ad reached. a figure of 2 can be most people at 1 and a few thousand retargeting visitors at 9. it tells you nothing about where the repetition is concentrated, which is the only thing you would need to know. and the problem it is meant to detect does not need a high number to show up. one of the people asking put it exactly, about their own ads: "they've seen your ads 2 times in the same format, the same visual, same treatment, same wrapper onthe same offer and their brain has filed it as seen that shape before scroll pass and that's not exhaustion that's pattern recognition." two views. that is not an audience that has run out; it is a video that looks like the last one.

the cases run the other way as well. one advertiser: "frequency is stable too, so it doesn't look like classic creative fatigue - feels more like a pure reach/auction-cost squeeze." another, asking why "a fresh, low frequency creative from the same influencer" was underperforming the original. low frequency, bad results. high frequency, fine results on a retargeting list. the number moves for reasons that are not the question.

so the common practitioner rule — "i check frequency first, since under 3 means the audience still has room" — is a reasonable smell test for whether you are anywhere near saturation. it is not a trigger for swapping video, and it is not evidence that the audience is used up. the worked example below has an account at an average of 2.5 where the audience question has a very clear answer, and the frequency number does not show it.

the wrong fix. on the campaign types i know, a frequency cap is a setting that lives on reach-style buying, not on a campaign optimising for purchases. so for most advertisers, capping means changing what the campaign is for — moving it off purchases onto reach — which is the interest-stack move again in a different outfit. you stop telling the system to find buyers and start telling it to find eyeballs, at the moment its problem was that it could not find buyers.

and even where a cap is available, look at what it does: it stops showing the ad to the people who have seen it most. on a campaign optimising for purchases, the people who have seen it most are mostly the ones meta thought were likeliest to buy. a cap cuts the top off the pool you were worried about exhausting. if repetition really is the problem, the fix is a genuinely different video for those people, not a rule that stops talking to them.

The trigger i would use instead, on one real account

so what should the trigger be? the question at the top asked for a specific threshold — "a certain frequency cap or a percentage drop in click through rate". my answer is neither, and it is two numbers you already have plus one from your store.

number one: new people reached per $100, at flat spend. in ads manager, pull the campaign's reach for the lifetime of the campaign at the end of each week. the increase from one week to the next is the number of people who saw the ad for the first time that week. divide by that week's spend and multiply by 100 — call it new reach per $100. this is the only number in the account that directly measures whether the budget is still finding new people. i use the same reach-against-spend check before raising a budget; here it is run with the budget held still, which makes it cleaner.

number two: cpm over the same weeks. this separates the two reasons that first number can fall.

number three, from your store rather than meta: the share of orders from new customers. this tells you whether the pocket that ran out was strangers or people who already knew you.

read them together:

  • new reach per $100 falling, cpm flat. delivery is concentrating — spending the same money on the same people because it has no evidence about anyone else. this is the easy pocket. the fix is more evidence: fewer, more different videos so each gets enough conversions to learn from, and a deeper conversion signal. not a narrower audience, a duplicate or a cap.
  • new reach per $100 falling, cpm rising. the auction got more expensive. that is the "reach/auction-cost squeeze" from above, it is not exhaustion, and no amount of new video will fix a price.
  • new reach per $100 holding, results falling. the budget is still finding new people and they are not buying. the audience is not the problem at all — it is the video, the offer or the page. i wrote the test that separates a tired creative from a tired audience separately, and this is where it starts.
  • new reach per $100 near zero, and lifetime reach close to the audience estimate. you really have run out. almost nobody at normal spend in a big country gets here. retargeting lists and single cities do. the fix is new people: broaden, drop exclusions, add a country you can actually sell in.

if the read lands on the video, the fix is a genuinely different one, not a narrower audience — and a different one does not have to mean a new shoot: https://clear-cortex.com/playbooks/how-to-make-an-ad?src=x-run-out-of-audience-mid

Two numbers from the account read together: when new reach per $100 falls with CPM flat, delivery is concentrating and needs more evidence; with CPM rising it is an auction squeeze; if new reach holds, the audience is not the problem; only near-zero new reach with lifetime reach near the estimate means the audience has run out.
Two numbers from the account read together: when new reach per $100 falls with CPM flat, delivery is concentrating and needs more evidence; with CPM rising it is an auction squeeze; if new reach holds, the audience is not the problem; only near-zero new reach with lifetime reach near the estimate means the audience has run out.

A reading aid, not a test: the threshold is judgement, and CPM and reach move for other reasons too.

my threshold, and it is judgement rather than a finding: new reach per $100 down by a third or more over two consecutive weeks at flat spend, with cpm flat. that is the point i would stop commissioning video and start adding evidence — and it is also the point i would stop trying to scale, because scaling a campaign that has stopped finding new buyers just buys the same buyers at a higher budget.

now the account. it is the one from the easy-pocket thread, and every figure in this paragraph is the owner's or a reply's. launched at "30-50 dollars day, with 5-10 ads in one ad set". ads "work great for a week or less, then they just stop converting". targeting airbnb hosts worldwide. over a hundred creatives tested. and a reply that ran the arithmetic on it: "at $50 a day and a $20 cpa you're producing about 17 conversions a week."

seventeen conversions a week is about a third of the fifty the delivery system is usually said to want. spread across five to ten ads, the same reply went on, it is "$5 to $7 each" — "roughly one conversion every three days per creative." no video in that account ever had enough results to teach the system who its buyers were, and testing a hundred-plus creatives five to ten at a time kept splitting the same seventeen conversions across more ads, not fewer. of course it burned through the easy pocket in five days. it never had anything to go on beyond the easy pocket.

what the reach numbers would look like — and from here the figures are mine, constructed to be arithmetically clean, because the thread does not report reach. $50 a day is $350 a week. assume a $20 cpm, so 17,500 impressions a week. lifetime reach at the end of weeks one to four: 11,000, 19,000, 24,500, 28,000. so new people per week: 11,000, then 8,000, then 5,500, then 3,500. per $100 of spend: about 3,140, then 2,290, then 1,570, then 1,000. cpm flat throughout.

new reach per $100 fell by more than two thirds in four weeks, with the price unchanged. that is the concentration signature, not an auction squeeze.

Illustrative figures: new people reached per $100 falls from about 3,140 to 1,000 over four weeks at a flat $20 CPM, while average frequency sits at 2.5.
Illustrative figures: new people reached per $100 falls from about 3,140 to 1,000 over four weeks at a flat $20 CPM, while average frequency sits at 2.5.

Constructed to show the shape. The account's own figures stop at spend, CPA and conversions.

and look at frequency on the same numbers. 70,000 impressions over 28,000 people is an average of 2.5. by the under-three rule, "the audience still has room". by the reach number, delivery stopped finding new people weeks ago. the frequency number is not wrong. it is averaging away the thing you needed to see.

twenty-eight thousand people. whatever the true number of airbnb hosts in the world is, twenty-eight thousand is not all of them.

so what would i do with it, in order, cheapest first:

  1. cut the ad set from five to ten videos to two or three genuinely different claims. same $50 a day of budget. each video goes from one conversion every three days to roughly one a day, which is the difference between the system learning something and not. it costs nothing and it is the largest change available.
  2. deepen the signal. another reply in that thread asked the question that matters most here: "what are you sending back to meta right now, just the lead event or anything past that?" if the only thing meta hears about is the cheapest event, it will keep finding the cheapest people. send it the event that actually means a customer.
  3. split the reporting by country and remove the ones where real spend brought no revenue. that is the one piece of narrowing that runs on evidence.
  4. then watch new reach per $100 for two weeks at the same spend. if it recovers, the audience was never the problem. if it does not, and cpm is flat, the next move is broadening — not duplicating, not stacking, not capping.

i cannot tell you what that account did next. the thread does not say. what i can tell you is that nothing in its numbers says it ran out of airbnb hosts, and everything in them says it ran out of evidence.

The part i cannot prove

the auction behaviour in the overlap section — two of your own ad sets eligible for the same person, meta entering one and holding the other back — is meta's own description of its system. it is not my measurement. the frequency cap sitting on reach-style buying rather than purchase-optimised campaigns is how the settings are laid out on the campaign types i know; settings move, so check yours. the fifty conversions a week is the figure the platform and practitioners use, not something i measured.

the account in the worked example is real and every figure attributed to it is the owner's or a reply's. the reach series and the $20 cpm are mine, constructed to show the shape cleanly, because the thread never reported reach. the $35 cpm and the 180 million and 80 million figures are other people's, from what they wrote about their own campaigns. i do not run an account at these numbers and if i pretended otherwise the first person to ask which one would end it.

and there is one thing i genuinely do not know. my trigger — new reach per $100 down by a third over two weeks at flat spend — is a judgement. i have argued for it from the mechanics, not validated it on a set of accounts, and i do not know where the line sits for a genuinely small audience, a single city, a niche b2b list, where running out is real rather than a misreading. there is a size below which this whole argument turns round and the people really are gone. if you have run a campaign past that point and know roughly where it was, i would rather have your number than be right.

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

most of the time this piece says don't make more video. when the read says you should, make it for pence rather than a shoot — that's what clear cortex is for: https://clear-cortex.com/?src=x-run-out-of-audience-end

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