Method · updated 2 October 2026
How to read a competitor's Meta ad library properly
The Meta Ad Library shows you every ad a brand is running, which makes the obvious move — count them — the one most likely to mislead you. De-duplicate before you count. In one library we read, 300 live ads carried just 37 distinct creatives. A raw count would have overstated that brand's creative variety by roughly eight times.
What follows is what is actually observable from outside an ad account, and what is not. Everything in the first category can be checked by anyone; nothing in the second can be inferred from the library however much you want it to be.
What the library does tell you
- How many distinct creatives a brand is running — after collapsing byte-identical repeats, which is the step most reads skip.
- The format mix — how much is talking-head against demo, user-generated against product-only, founder against paid talent.
- How a brand opens — the hook form across the library, and whether it is concentrated on one pattern or spread across several.
- How long an ad has been live — visible, and useful as a signal of what a brand is choosing to keep paying for.
- Whether the read is a census or a sample — a small library can be read entirely; a large one cannot, and a read that does not say which is not a measurement.
What it does not tell you, at all
Spend, impressions, conversions, cost per order, CAC and return on ad spend are not in the library. They are not partially there or inferable with a model. They are absent. Any competitive read that quotes them against a brand that is not its own client has either bought them or invented them.
The tempting substitute is longevity: an ad that has run for months must be working. Treat that carefully. A brand continuing to pay for a creative is not evidence that the creative lowered its cost per order — it may be evidence of a long approval cycle, an evergreen placement, or nobody having looked. Longevity is a signal about the advertiser's behaviour, not about the ad's performance.
The four mistakes that make a read worthless
| Mistake | Why it breaks | Instead |
|---|---|---|
| Counting raw ads | One library's 352 media files were 89.5% byte-identical repeats. | Collapse duplicates, then count. |
| Comparing unlike libraries | A census against a sample is not a comparison. | Record which each read is. |
| Reading one brand alone | A number means nothing without the category around it. | Decode at least two rivals on the same vocabulary. |
| Inferring performance | Nothing in the library is a conversion metric. | Report what is visible; stop there. |
Examples drawn from Galvor's decode of 41 brands' public ad libraries. The attributes used are listed in the attribute taxonomy.
How far the gaps actually go
Once you read a brand alongside its rivals on the same vocabulary, the asymmetries are larger than most teams expect. In our set a lending brand ran 3 live ads against a direct rival's 940; a baby-care brand ran 18 against 314; a feminine-care brand 24 against 471. These are not marginal differences in budget. They are different strategies, and a brand cannot decide whether it is on the wrong side of one without counting properly first.