Two stages decide which ad a person sees
When someone opens Facebook or Instagram, Meta has to pick a few ads out of a huge pool almost instantly. Its engineers describe a multi-stage system. Two of those stages matter most to an advertiser, and each asks something different of you.
The first is retrieval. Meta’s engineering blog calls it “the first step in our multi-stage ads recommendation system” and says it selects “ads from tens of millions of ad candidates into a few thousand relevant ad candidates.” The system built for that job is named Andromeda. If retrieval leaves your ad out for a person, your ad is out of the running for that person.
The second is ranking. The same post says that in the following stage, “larger and more sophisticated ranking models predict people and advertiser value to determine the final set of ads to be shown to the person.” Meta also describes a separate system, Lattice, as “a new model architecture that learns to predict an ad’s performance across a variety of datasets and optimization goals.” Meta’s posts do not say exactly where Lattice sits among the stages, so this guide treats it as part of how Meta predicts which ad will perform.
Read together, the two stages give an owner two jobs. Give retrieval enough different ads to match against many kinds of people, and give the prediction side clear information about what a win looks like. The next two sections take them in that order.
What this means for your creative
Retrieval works by matching ads to people. Meta says that “increased ad diversity can improve people’s experience with ads and drive better advertiser outcomes.” An ad set full of near copies gives retrieval one idea to match. An ad set full of creatives that each open with their own idea gives it many.
Three headline versions of one ad
Many distinct creatives
Retrieval also runs for each person separately. For example, a creative about speed may match one person and a creative about price may match another. A wider set of creatives gives the system more of these matches to find.
Drew’s usual launch is one ad set holding 25 to 30 creatives that differ from each other. That count is his practice, and Meta does not publish a recommended number. A distinct creative has its own opening, its own angle and often its own person on screen. Headline swaps on a single ad give the system little to match, because every version speaks to the same kind of person.
A quick check is to lay your ads side by side. If two of them differ only in a headline, count them as one.
What signal means
A campaign has a goal, which is the action you tell Meta counts as a win. Meta’s Conversions API documentation says the data advertisers send goes to systems that “optimize ad targeting” and “measure outcomes.” The events you report shape what the system looks for next.
That makes the choice of event a decision about who the system finds. If every form fill counts as a win, a fill from someone who could never buy teaches the system the same lesson as a fill from your best prospect. The system cannot tell them apart unless you tell it.
Common events include a page view, a form fill, a booked call and a purchase. Each sits at a different point in the funnel and says something different about the person who triggered it. A business with a sales team already knows the gap between a form fill and a conversation worth a rep’s time. The event you report decides whether Meta ever hears about that gap.
Drew learned how much the choice of measure matters at an earlier job, where he managed the ads. One of his Google search campaigns there closed a single sale across a 30-day stretch, and that sale paid back 11.25 times the spend. A volume report made it look weak, and the instruction he got was to switch it off. The campaign was profitable, and a count of how often something happened hid that.
Two ways to send back only the qualified people
Drew uses two methods and picks between them based on the funnel.
The Meta pixel is a small piece of code on a web page that reports activity to Meta, such as the page being loaded.
The first method is pixel conditioning. Say the funnel asks a qualifying question. He puts the Meta pixel on one page only, the one people reach after answering that question correctly. The pixel reports to Meta when someone reaches the page it sits on, so only qualified people are reported.
The second uses the Conversions API. When the funnel asks no qualifying question, or unqualified people keep slipping past it, he links the API to the CRM. From there he manually fires the standard events for the people who are qualified. Drew uses the Conversions API in some accounts and calls it good practice.
Meta’s documentation describes the API as a connection from “an advertiser’s server, website platform, mobile app, or CRM” to Meta. It adds that server events “are linked to a dataset ID and are processed like events sent using the Meta Pixel.” That is why an event sent from a CRM can do the work a pixel event does.
Both routes end the same way, with Meta receiving events only for people who meet your definition of qualified. That definition is yours to set, and it has to be written down before anyone can send it.
What to check in your own account
Open the account and answer these five questions.
- 1.What event does each campaign optimize for? Write down the action and ask whether everyone who triggers it is a person you want to sell to.
- 2.How many creatives sit in each ad set, and how many of them differ by more than a headline? Count look-alikes as one.
- 3.Does your funnel ask a qualifying question? If it does, find the page people reach after answering correctly and check whether the pixel sits there or on every page.
- 4.Does your CRM record who is qualified? If it does, ask whoever runs your ads whether those statuses ever go back to Meta.
- 5.Who decided what counts as qualified? Both methods depend on that definition, so write it down.
If the answers show gaps, change one thing at a time. That way you can tell which change moved the results.
Sources
- 1.Meta Engineering, post on Andromeda, its ads retrieval system. https://engineering.fb.com/2024/12/02/production-engineering/meta-andromeda
- 2.Meta AI, post on Meta Lattice and ad performance. https://ai.meta.com/blog/ai-ads-performance-efficiency-meta-lattice/
- 3.Meta for Developers, Conversions API documentation. https://developers.facebook.com/docs/marketing-api/conversions-api/
- 4.Drew’s ad account practices come from his own work. He credits Master Internet Marketing as his training.