How Meta Decides Who Sees Your Ad Explained
Quick Answer
When a user opens Facebook or Instagram, Meta runs a three-stage pipeline for every ad slot: candidate retrieval (recall the ads that could be eligible), filtering (remove ineligible), and ranking (score the remainder by Total Value). The whole pipeline runs in 80-250ms. Targeting is just an input filter — the ranking is what actually decides who sees what.
The Mechanism Explained
Stage 1: Candidate Retrieval. When the ad request hits Meta's serving stack, it queries thousands of indexed ad sets in parallel. The retrieval layer uses two-tower neural networks: one tower embeds the user (signals from their session, history, social graph), another embeds each ad set (creative + targeting + advertiser features). Cosine similarity in the embedding space surfaces the top-K candidates — typically 1,000-2,000 ads per slot. This step doesn't even look at your bid.
Stage 2: Filtering. From the retrieved set, Meta strips:
- Ads outside your declared targeting (geo, age, custom audience inclusions)
- Ads exceeding frequency cap for this user
- Ads you've recently seen and reacted negatively to
- Ads from advertisers you've blocked
- Ads not allowed in this placement
- Ads that violate the advertiser-specific exclusion lists
What's left is usually 50-200 candidates.
Stage 3: Ranking. Each surviving candidate gets a Total Value score (Bid × eAR + Quality). The highest score wins. Meta then runs a second-price calculation to determine actual clearing price, and serves the ad.
The key insight is that targeting acts as a filter, not a positive signal. Your ad doesn't get boosted because it matched a custom audience — it just becomes eligible. The boost comes from the ranking layer, where Meta's eAR model decides if the user is likely to convert.
Practical Implication
Stop thinking about "showing your ad to the right people" — think about "giving Meta enough signal to rank you above competitors for the right people." The two-tower model already knows who's likely to convert; your job is to feed the ranker enough creative variation and clean signal so it picks you when the auction comes around.
Real Numbers
- Pipeline latency: 80-250ms end-to-end
- Candidate retrieval pulls 1,000-2,000 ads per slot
- Final ranking compares 50-200 ads after filtering
- Two-tower model embedding dimension: 128-256 floats per side
FAQs
Q: Does broad targeting mean Meta picks randomly?
No — broad just lets the ranker pick anyone. Meta still ranks to maximise eAR.
Q: Why do narrow audiences sometimes outperform broad?
Because the targeting filter pushes the ranker into a denser pool where competition is lighter.
Q: What happens if no ads are eligible for a slot?
Meta serves an organic post or a house ad. Ad slots can be empty.
Q: How fresh is the user signal?
Sessions update in near real time. History updates within minutes of the action.
Q: Does Meta use my browsing history outside Facebook?
Yes, via the pixel + CAPI + the Meta Audience Network signals, where consented.
Pix-Vu
If your ad doesn't survive ranking, targeting is wasted. Pix-Vu produces the creative variation that gives you a shot at winning the ranker — varied product images, lifestyle shots, multi-angle stills. Start 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