← All insights
Creative Strategy

Your ad count is lying to you

Weekly research · 12 min read

TL;DR: Meta's Andromeda update turned creative into the targeting layer, and it reads your ad through computer vision, OCR on your on-screen text, and speech-to-text on your voiceover. A swapped hook or a reworded headline does not clear its distinctness bar, so eighty ads routinely land as twenty units. Meta still finds a winner inside each unit, which is why variants are not waste, but only a genuinely new idea reaches a new person. The number that predicts performance is units, not ads, and it has two ceilings: your budget and your conversion volume.

A few weeks ago we wrote that Meta wants volume, but it counts your samey ads as one. That post made the argument. This one hands you the mechanic, the grid, and the spreadsheet.

There is a specific conversation we keep having with founders this year. They tell us the account has eighty ads running. Performance is flat. They want to know whether the problem is the bidding, the budget, or the audience. It is almost never any of those. It is that the eighty ads are, from the algorithm's point of view, about twenty.

Eighty ads collapsing into twenty distinguishable creatives
Eighty ads collapsing into twenty distinguishable creatives

This is new, and it is worth understanding precisely, because the fix is not intuitive.

What actually changed

For most of the last decade, Meta routed ads using audience inputs. You picked interests, built lookalikes, layered demographics, and the creative was the thing that converted the traffic your targeting sent. Creative mattered, but it mattered downstream.

Andromeda inverted that. Meta now parses the creative itself and predicts who it fits based on behavioral signals. Targeting inputs still exist, but they have been substantially demoted. The creative is the primary instruction you give the system about who your customer is.

It helps to be precise about what Andromeda actually is. Meta's own engineering team describes it as the retrieval stage: the first pass that narrows tens of millions of ad candidates down to a few thousand, before the ranking models decide winners. It delivered a 6 percent recall improvement and an 8 percent ads quality improvement on selected segments, running on roughly ten thousand times the model capacity of the system it replaced. Meta also built hierarchical indexing into it for a stated reason: over a million advertisers were using its generative tools to produce more than 15 million ads in a single month, and the old retrieval stack could not absorb that.

So Andromeda is the gate, not the judge. If your creative does not survive retrieval, nothing downstream matters.

What does Andromeda actually read?

This is the question we get asked most, and the honest answer has two parts. Meta publishes performance numbers but not a feature specification. What follows is the best available reconstruction, triangulated from the Andromeda paper, the later MARM ranking paper, and observed delivery behavior. Treat it as well-supported inference rather than documented fact.

Four signal categories appear to carry the weight.

The four signals Andromeda ingests from an ad
The four signals Andromeda ingests from an ad

Visual composition and attention cadence. The encoder pulls a time-series of visual features across the first few seconds: motion, color contrast, subject placement, shot changes. Thumbstop rate is a crude proxy for something much richer. The model is reading the shape of the visual signal over time, which means two edits that share an opening frame are far more similar than they look on a storyboard.

On-screen text and spoken entities. Meta's encoders include OCR and speech-to-text layers. Your burned-in captions and your voiceover script both enter the feature vector as entities. This is the most actionable item on the list, and it is the one most teams have never internalized: your script is not just persuasion aimed at a human, it is structured input to the targeting system.

Format fit and placement-native cues. Aspect ratio, duration, and whether the asset was built for Reels or zoom-cropped to fit are all features. This is the mechanical reason the same creative can perform several times better in one placement than another with the same audience.

Embedding-space neighbors. Every creative occupies a position relative to every other creative Meta has ever served. If your ad's vector sits near ads that have historically worked for high-value users in your category, retrieval can act on that resemblance before your own performance data exists. This is why genuinely fresh creative sometimes gets traction immediately. It is not learning in the old sense, it is being matched to neighbors that already have history.

One consequence worth pulling out: a static image produces a thinner vector than video. Composition, OCR, embedding placement, and format, and that is all. Video adds motion, audio entities, and temporal attention. That is a technical argument for putting your proven statics into motion, not a stylistic one.

The rule most teams get wrong

Here is the part that changes how you count, and it is the single most important idea in this post.

A small tweak does not create a new creative. Swap the hook, reword the headline, trim ten seconds, change the end card. To you those are four different ads and Ads Manager will happily report them as four. To Andromeda they are one unit, because nothing in the feature vector moved far enough for the encoder to place them anywhere new. Eighty ads become twenty units. That is not a rounding error, it is a four-to-one gap between what you think you are running and what the system can distinguish.

But here is the nuance that most coverage of this gets wrong, and getting it wrong leads people to the wrong conclusion.

Meta finds the winner inside the collapsed unit
Meta finds the winner inside the collapsed unit

Meta still finds a winner inside the unit. Within a cluster of near-identical variants, the system will identify the version that performs best and route spend to it. Your variants are doing real work. That is exactly what variants are for, and it is why "stop making variants" is bad advice.

What variants cannot do is reach a person your idea was never going to reach. Optimising within a unit makes that idea perform to its ceiling. Only a genuinely new idea raises the ceiling, because only a new idea lands somewhere new in the embedding space.

So the operating rule is not "fewer variants." It is:

  • Variants are how you optimise an idea. Keep making them, inside a winning unit.
  • Units are how you reach new people. That is the number to count and the number to grow.
  • Count units, not ads. If you take one thing from this post, take that.

The honest audit follows directly: place every live ad into a unit defined by which argument it makes and what format it makes it in. Count the occupied cells. That number, not your ad count, predicts whether the model has room to work.

The creative diversity grid with empty cells marked for briefing
The creative diversity grid with empty cells marked for briefing

Founders are consistently surprised by this number, and the reason is structural rather than careless. Teams under production pressure iterate on winners, and iterating on a winner produces variants, not units. The account fills up while the effective library stays flat.

Horizontal or vertical? The distinction that makes this concrete

Founders and media buyers often talk past each other here, so it is worth setting the terms.

Vertical scaling means pushing more budget through what already works. Same creative, same structure, bigger number. The conventional discipline is to raise budgets gradually, roughly 20 percent every few days, so you do not reset the learning phase.

Horizontal scaling means adding new surface area. New personas, new arguments, new formats, new placements, new markets. Instead of pushing more money through the existing pathway, you build additional pathways.

Vertical scaling versus horizontal scaling
Vertical scaling versus horizontal scaling

Vertical scaling has a hard ceiling under Andromeda, because you are asking the system to find more of the same people using the same instruction. You bid up against a pocket you have already harvested, and CPA climbs. Horizontal scaling raises the ceiling itself, because each genuinely new unit is a new description of who you can serve.

Put plainly: vertical scaling buys more of the audience your creative already describes. Horizontal scaling changes the description.

How many units should actually be live?

This is where the two directions stop being alternatives and start working as a ratchet. And it is where most planning goes wrong, because most people ask about conversion volume and forget the budget question entirely.

There are two ceilings, and the binding one is whichever is lower.

Ceiling one: your budget. The rule we run is roughly $1,000 of monthly spend per net-new distinct creative. It is a heuristic, not physics, but it holds up across accounts because it encodes something real: below that, spend is spread so thin that no unit accumulates enough delivery to earn a fair read, and your production cost per unit starts to outrun what the unit can return. A $10,000 per month account supports about ten distinct units. A $60,000 account supports about sixty. Running thirty units on ten thousand dollars is not ambition, it is dilution.

Ceiling two: your conversion volume. Even a funded unit has to be readable. If an ad set generates 20 conversions a week and you need roughly 15 per creative to separate signal from noise, you can resolve one unit, not twenty. This is the ceiling that bites considered-purchase and lead-gen businesses hardest, because the money is there and the conversions are not.

Take the lower number. That is your target.

Now the ratchet. Every vertical step up in budget entitles you to a horizontal step out in creative. Add $5,000 a month and you have earned roughly five new distinct units. The two moves are supposed to travel together, and the failure modes are symmetrical:

  • Vertical without horizontal is the common one. Budget goes up, creative stays flat, and the extra money bids harder into a pocket you already own. That is where CPA inflation comes from, and it gets misdiagnosed as fatigue or a bad month.
  • Horizontal without vertical is the ambitious one. You brief twenty new units onto a budget that funds ten, and every unit starves. Nothing gets a fair read, so nothing wins, and the team concludes the ideas were bad when the ideas were simply underfunded.

This also explains why the published guidance disagrees with itself. One camp points to 15 to 25 distinct actives in a consolidated ad set. Another, including Monica Shukla at Mile Marker and practitioners like Alex Neiman, argues that 20 or more fragments signal and defaults to 6 to 10 concepts. Both are right for their own account sizes. Motion's study of 550,000 ads across $1.3 billion in spend found roughly 5 to 6 percent of ads become real winners and about half get near-zero spend, a distribution a high-volume ecommerce account resolves quickly and a long-cycle business does not.

Nobody in that debate argues that more near-identical variants help. They are arguing about units, and the answer depends on your budget and your conversion volume rather than on someone else's benchmark. The spreadsheet below computes both ceilings for you, because this is the calculation most often skipped.

The toolbox: how to actually produce horizontal variety

Knowing you need more units does not produce them. Here is the stack we build with, in the order it should be used.

Start from personas, not from formats. This is the most common sequencing error we see. Teams open an AI tool and start generating, which produces format variety wrapped around a single argument. If you are not starting from persona, you are producing variants at speed. Each persona is a distinct limiting belief and a distinct objection, and each one earns its own angle, its own casting, its own look, and its own ad pack.

Mine competitors through the Meta Ad Library. It is free, it shows every ad any advertiser is currently running, and length of run is a reasonable proxy for what is working. Pull the libraries for your five closest competitors, classify what you find by format and by argument, and you have an empirical map of which units your category has already validated and which are unoccupied.

Use a ranked format library to break the imagination bottleneck. The blocker is rarely capacity, it is that teams run out of ideas for what a genuinely different ad would look like. Dara Denney's ranking of 51 Meta creative formats is the most useful artifact we have found for this. The short version is that only three formats earn her top tier: founder content, partnership ads, and VSLs. Four are ranked F outright: press ads, testimonial statics, podcast ads, and notes-app style UX ads.

Her argument for partnership ads is the one most directly tied to everything above, and it is worth hearing in her words:

Because Andromeda is person-based, the most direct route to a persona is a creator that persona already engages with, and the seed audience starts from that creator's own following. That is how you buy net-new reach rather than bidding harder for the pocket you already have.

Then use AI where it actually earns its place. We should be direct about where we land here, because the category is oversold. We are not believers in AI actors or synthetic UGC. It is the most hyped and least durable application of AI in this stack. Denney ranks AI avatars C tier and expects them to phase out, noting that larger brands are increasingly choosing real creators and that the choice tends to trickle down. Our objection is simpler: the entire value of creator content is that a real person with real standing said the thing. Synthesising that away removes the asset while keeping the format.

Where AI genuinely earns its keep:

  • Scaling static into motion. The highest-leverage use by a distance. Animate statics you already have performance data on and you get a net-new video candidate with a thicker feature vector, no shoot, no new claims to substantiate, and no synthetic human anywhere near it.
  • Analysis and classification. Tag your entire creative library by format, argument, hook, and talent. This is tedious, high-volume, low-judgment work, which is exactly what models are good at, and it is what makes the unit count computable at all.
  • Building and maintaining a clean database. Naming conventions, tagging discipline, joining spend data to creative attributes. Unglamorous and foundational.
  • Hooks and scripts at volume, performed by your real creator network. Generate forty hook variations, then have actual creators deliver the best ones. The model does the ideation; the human supplies the credibility.
  • Founder-led video. One founder session becomes many assets through editing, repurposing, and reformatting. Founder content is Denney's S tier and the constraint is almost always the founder's calendar, which is a production problem AI is well suited to.
  • Finding winners and iterating them. Surface what is working, then generate variants inside that winning unit, which is precisely where variants belong.

The sequencing is the whole point. Persona, then competitive map, then format, then AI applied to production and analysis. Reverse it and you get volume without variety, which is the exact problem you started with.

The grid, as a working spreadsheet. We built the audit as an Excel workbook so you are not drawing this by hand. Define your personas, paste in your live ads, and the grid populates itself: every cell counts the live ads occupying that persona-and-format unit, empty cells flag red as your production queue, and a scorecard tab returns your real unit count, your duplication ratio, and both ceilings, the one your budget funds and the one your conversion volume can read. It ships with Denney's 51 formats as a reference tab. Download the Creative Diversity Grid (.xlsx)

None of this works without a clean data stream

Everything above assumes you can tell which creative worked. That assumption is doing an enormous amount of load-bearing work, and in most accounts we open, it does not hold.

You cannot find winners without clean data. You cannot count units without a tagging convention that survives contact with a freelance editor. You cannot compute a duplication ratio if half your ads are named `final_v3_USE_THIS`. You cannot trust any of it if the Pixel and the Conversions API are double-counting, or if Event Match Quality on your primary conversion event is sitting below seven and quietly degrading Meta's ability to attribute outcomes to creatives at all.

This is the least glamorous part of performance marketing and it is the backbone of all of it. Every framework in this post, the grid, the unit count, the two ceilings, the winner-inside-the-unit logic, is downstream of one question: can you trust what your account is telling you?

When the answer is no, teams spend quarters rebuilding creative libraries that were never the problem. We have watched it happen more than once. The signal was broken, the reporting looked plausible, and a year of creative strategy was built on a number that was wrong.

So before you brief a single new unit, verify three things. That the Pixel and CAPI run together with deduplication working. That Event Match Quality clears seven on the event you actually optimise toward. And that every ad carries a naming convention that lets you group it into a unit without a human guessing.

If you do not have that, or you are not sure how to build it, that is the conversation worth having first. It is the one we start most engagements with.

Four moves that close the gap

Build the grid before you build anything else. Arguments on one axis, formats on the other. Place every live ad into exactly one unit. The empty cells are your production queue, already prioritised.

Compute both ceilings and take the lower one. Roughly $1,000 of monthly spend per distinct unit, and enough weekly conversions to read each one. Plan vertical and horizontal moves together so budget and creative stay in step.

Mine the assets you already validated. Animate your proven statics. It is the cheapest unit you will ever buy, and it thickens a thin feature vector.

Fix the signal before you blame the creative. Pixel and CAPI running together, Event Match Quality above seven, and a naming convention that makes units computable. Below that bar, you will read a measurement problem as a creative problem.

Prompt to get you started

Want to run this on your own account? Start with this prompt in Claude. It turns the moves above into a working audit you can complete in about an hour.

Before you run it, connect your data. This prompt is written to pull real inputs rather than guess at them. Step 2 needs the Meta Ad Library, which is public and free, so have your competitor list ready. Steps 1, 3 and 4 work best with Meta's official Ads MCP server connected to Claude, which gives it read access to your live ads and spend. If you have not connected it, paste your ad names and 30-day spend manually and the prompt still runs. If you do connect it, set the connector to read-only first: Meta defaults every ad account to allowing all seven sensitive actions, including create campaigns and edit budgets.

You are a fractional CMO who specializes in paid social
creative strategy. You are auditing my ad account for
creative diversity under Meta's Andromeda retrieval
engine, where creative functions as the targeting layer.

KEY DEFINITION
A "unit" is a genuinely distinct creative idea. A swapped
hook, a reworded headline, or a trimmed edit does NOT
create a new unit, because Andromeda collapses those into
one and optimises within them. Only a different argument,
format, talent, or setting creates a new unit. Count
units, never ads.

DATA SOURCES
- My live ads and spend: [via Meta Ads MCP, read-only,
  or pasted below]
- Competitor creative: Meta Ad Library, public, at
  facebook.com/ads/library

MY CONTEXT
- Business: [what you sell, to whom]
- Category constraints: [regulated? claims review? any
  formats you legally cannot run?]
- Monthly ad spend: [amount]
- Weekly conversions on my optimization event: [number]
- Five closest competitors: [names]
- Current CPA and target CPA: [numbers]

Work through these six steps in order.

1. PERSONA MAP. Before looking at any ad, list my
   distinct customer personas. For each, name the
   limiting belief or objection that stops them buying.
   These become the rows of the grid. If I have given
   you fewer than three, push back and ask.

2. COMPETITIVE UNIT MAP. Using the Meta Ad Library for
   the competitors named above, classify what they run
   by format and by argument. Flag anything that appears
   to have been running a long time. Tell me which units
   my category has validated and which are empty.

3. MY UNIT GRID. Group my live ads into units using the
   definition above. Be strict: if two ads differ only
   by hook or headline, they are one unit. Show the
   grid, count occupied cells, and report my unit count
   against my raw ad count with the ratio between them.

4. THE TWO CEILINGS. Compute both:
   a) Budget ceiling, at roughly $1,000 of monthly spend
      per distinct unit.
   b) Conversion ceiling, from my weekly conversions
      divided by the conversions needed to read a unit.
   Take the lower. If I am already above it, tell me to
   consolidate rather than produce, and say so plainly.

5. DATA INTEGRITY CHECK. Before recommending any
   creative work, list what I must verify about my
   tracking: Pixel and CAPI deduplication, Event Match
   Quality on my primary event, and whether my ad naming
   lets units be grouped without guesswork. Tell me what
   a failure looks like in the data so I can tell a
   measurement problem from a creative problem.

6. PRODUCTION QUEUE. Rank the empty units by expected
   impact, capped at the ceiling from step 4. For each,
   name the format, the persona, the argument, and the
   opening line. Drop anything my category constraints
   rule out and say why.

Output format: a prioritized action list with an owner
and an effort estimate for each item, ordered by
expected impact on CPA. Not a summary. Ask me one
clarifying question at a time when you need more
information.

If you want a version of this prompt already loaded with your business context, your competitive set, and your live account state, that is the kind of starting artifact we build for our fractional-CMO clients.

The part tooling will not solve

It is tempting to read all of this as a production problem and conclude the answer is better AI tooling. Tooling genuinely helps, and teams using it are shipping more creative than teams that are not.

But generation capacity is no longer the constraint. Anyone can produce fifty ads this month. The constraint has moved to deciding which fifty are worth producing, and that decision requires knowing your customer segments well enough to name the distinct arguments that would move each of them, and having clean enough data to tell which ones landed. That is strategy work sitting on top of measurement work. Neither gets easier when generation gets cheaper. Both get more valuable, because the cost of pointing a fast production pipeline at the wrong fifty ideas went up.

That is usually the gap we are hired to close. Not the shipping, the deciding.

Key takeaways

  • Andromeda is Meta's retrieval stage, narrowing tens of millions of candidates to a few thousand. It is the gate, not the judge, and it reads your creative to decide who sees it.
  • It ingests four signal categories: visual composition over the opening seconds, OCR on your on-screen text plus speech-to-text on your voiceover, format and placement fit, and where your ad sits relative to every ad Meta has served.
  • A swapped hook or reworded headline does not create a new creative. Eighty ads routinely land as twenty units.
  • Meta still finds a winner inside each unit, so variants are not waste. They optimise an idea. Only a new unit reaches a new person.
  • Count units, not ads. Expect the real number to be a fraction of what you assumed.
  • Two ceilings govern how many units to run: roughly $1,000 of monthly spend per unit, and enough weekly conversions to read each one. Take the lower.
  • Vertical and horizontal scaling are a ratchet, not alternatives. Budget up without creative out inflates CPA. Creative out without budget up starves everything.
  • Sequence the toolbox: persona, competitive map, format library, then AI. We use AI for statics, analysis, database hygiene, hook and script volume, and founder-led video. Not for synthetic actors.
  • None of it works without a clean data stream. Pixel and CAPI deduplicated, Event Match Quality above seven, and a naming convention that makes units computable.

If your ad count is climbing and your cost per acquisition is not moving, or you are not confident your account data can tell you which creative actually won, that is worth a conversation. Book a call.

Sources

  • Meta Engineering, the Andromeda retrieval engine: https://engineering.fb.com/2024/12/02/production-engineering/meta-andromeda-advantage-automation-next-gen-personalized-ads-retrieval-engine/
  • Dara Denney, 51 Meta ad creative types ranked: https://www.youtube.com/watch?v=KmbEjy0UBT8
  • Sam Piliero, the three Andromeda levers: https://www.youtube.com/watch?v=f1PGNuLWQHE
  • Alex Neiman, how Andromeda reads creative: https://alexneiman.com/andromeda-algorithm-reads-creative/
  • Motion, Andromeda and creative diversity: https://motionapp.com/blog/andromeda-impact-on-bfcm
  • Fraser Cottrell, turning statics into animated video ads with AI: https://www.youtube.com/watch?v=xIpMOTNFvkY

Let's build your third pillar.

Product and operations are handled. If marketing is the missing piece, let's talk.