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

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

MistakeWhy it breaksInstead
Counting raw adsOne library's 352 media files were 89.5% byte-identical repeats.Collapse duplicates, then count.
Comparing unlike librariesA census against a sample is not a comparison.Record which each read is.
Reading one brand aloneA number means nothing without the category around it.Decode at least two rivals on the same vocabulary.
Inferring performanceNothing 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.