How Meta Ranks Ads Inside the Same Ad Set Explained
Quick Answer
Inside a single ad set, Meta runs an intra-ad-set bandit that picks which ad to show on each impression. The bandit uses the same Total Value math as the global auction, but applied locally — it picks the ad with the highest Bid × eAR + Quality among ads in the same ad set. The result is that one ad typically captures 60-90% of impressions within days because eAR diverges quickly under exploration.
The Mechanism Explained
When an ad set wins an auction slot, the system still has to choose which ad to serve. It runs a mini-auction among the ads in the ad set:
- Pull eAR for each ad (pre-computed or computed on the fly)
- Pull quality scores for each ad
- Apply a small exploration bonus to ads with low impression count
- Pick the highest-scoring ad
The exploration bonus is critical. Without it, the highest-eAR ad after the first 50 impressions would win every subsequent impression and the others would never get tested. With the bonus, low-impression ads get a chance to prove themselves until each has accumulated meaningful sample size.
The bonus decays as impression count rises, following a pattern similar to upper confidence bound (UCB) bandits. Once an ad has 1,000+ impressions, its bonus is essentially zero and the bandit is in pure exploitation mode.
This is why the 4x rule (your best ad gets 4x more spend than your worst) emerges naturally. The bandit converges quickly because eAR differences are usually 2-5x across ads in the same ad set, and the highest-eAR ad collects most impressions after exploration ends.
A subtle but important detail: the intra-ad-set bandit looks at eAR per ad, not at downstream conversions directly. Two ads with the same conversion rate but different click rates will be ranked differently because eAR responds to clicks faster than conversions.
Practical Implication
Don't add "experiments" as new ads to a winning ad set — they'll get starved by exploration decay. To test new creatives, either duplicate the ad set or use Dynamic Creative which rotates more aggressively. Adding 5 ads to an ad set where one already has 5,000 impressions means the new 4 will collectively get maybe 10% of subsequent delivery.
Real Numbers
- After 1 week, top ad in an ad set captures ~75% of impressions on average
- Exploration bonus decays to near-zero by ~1,000 impressions per ad
- Adding a new ad to a mature ad set = roughly 5-15% impression share for the new entrant
FAQs
Q: Should I use Dynamic Creative or static ads?
Dynamic Creative for testing, static ads for steady-state delivery.
Q: Does the bandit use my preferred ad as input?
No — there's no manual weighting available.
Q: How many ads should I have in an ad set?
3-6 is the sweet spot for the bandit to find a winner without diluting.
Q: Does pausing the winning ad redistribute to others?
Yes, but the others may take days to catch up to the bandit's confidence.
Q: Is there a way to force equal rotation?
No, Meta retired even rotation years ago.
Pix-Vu
Intra-ad-set bandits reward variety only if the variants are genuinely different. Pix-Vu produces visually distinct product images so your bandit has real options to compare — try it at https://pix-vu.com.
Ready to automate your Facebook ads?
Let AI handle your ad creative, targeting, and optimization. Launch profitable campaigns on autopilot.
Get Started Free