Method · updated 2 October 2026
When a library is too big to read whole
Most of the ad libraries we read fit in one pass. Some do not. Past roughly a thousand live ads you stop measuring a competitor's library and start sampling it — and the two words describe different kinds of knowledge. This page is about which claims survive the switch, because we have published pages that lean on both and the distinction is easy to lose.
The short version: a sample can tell you what is in a library. It cannot tell you how big the library is, and it cannot tell you what share of it is repeats.
The read that shows the problem
We pulled a beauty marketplace's library and decoded 1,258 distinct creatives from 1,000 ads. That 1,000 is not a finding about the brand. It is our own ceiling — the default cap on a single pull — and the pull hit it.
That deck also carried no live-library total for any brand in it. So for this advertiser we have a large, precise creative count and no measurable library size at all: it is larger than 1,000 by an unknown amount.
| Ads pulled | Creatives decoded | Per ad | Live total | |
|---|---|---|---|---|
| Beauty marketplace | 1,000 — our cap | 1,258 | 1.26 | Not measured |
| Rival A | 223 | 209 | 0.94 | Not measured |
| Rival B | 250 | 75 | 0.30 | Not measured |
Source: public Meta Ad Library, read 2 October 2026. “Our cap” is the default maximum ads per pull in our own pipeline, not a property of the advertiser.
Note what is still usable here. The creatives-per-ad ratio survives sampling, because it is a property of the ads you actually read rather than of the whole library. Rival B returning 75 distinct creatives from 250 ads — 0.30 per ad — is a real observation about those 250 ads: most of them were carrying the same work.
Two claims a sample cannot carry
One: a library size. A pull that stops at a cap tells you the library is at least that big. It does not tell you how much bigger, and the distance is not estimable from the sample. “1,000 ads pulled” and “1,000 ads running” are different sentences and only one of them is true here.
Two: a deduplication rate. This is the one we are strictest about. A deduplication rate says what share of all a library's media files are byte-identical repeats of each other. Hash a sample and you learn how much duplication sits inside that sample — a different number, and biased low, because two copies of the same file are less likely to both land in a partial pull than to both exist in the library.
So our 89.5% repeat rate is quotable precisely because that library's size was exact at 300 live ads and the 352 media files hashed were everything attached to the 288 ads we read — numerator and denominator describing the same set. The same calculation on a 402-creative sample of a 2,247-ad library would produce a number, and the number would not mean what it appears to mean.
Census, sample, capped
Every figure we publish falls into one of three states, and we label it on the page rather than in a footnote. The first state is the one most often overstated: an exact size means our pull limit was never reached, not that every ad was downloaded. Ads expire between the count and the pull, so a library can have an exact size of 553 and still only yield 410 ads to read.
| State | What happened | Library size | Dedup rate | Attribute shares |
|---|---|---|---|---|
| Exact | Library never exceeded our pull limit | Exact | Valid, over the ads actually read | Valid if large enough |
| Sampled | Deliberate partial pull of a large library | Exact, from the Ad Library's own count | Not valid | Indicative only |
| Capped | Pull hit our ceiling, no live total available | Unknown, above the cap | Not valid | Indicative only |
The live total and the creative count come from different places — the Ad Library reports the first, we compute the second — which is why a figure can be a census on size and a sample on content at the same time.
How often a pull stops at a ceiling
Across 99 advertiser pulls in our corpus, 8 stopped at a cap rather than at the end of the library. They split into two kinds, and the distinction matters because one is our own limit and the other is a limit on rivals.
| Ceiling | Pulls | What it means |
|---|---|---|
| 1,000 ads | 1 | Our default cap on a single brand pull. The library is larger than 1,000 by an unknown amount. |
| 150 creatives | 7 | Our cap on a rival read. The live total is still exact; the creative count is a slice of it. |
Source: our own 35 attributed competitor reads, re-audited 2 October 2026. The seven 150-creative stops were all rivals: two in vitamins and nutrition, two in feminine care, two in intimates and one in QSR.
Seven pulls landing on exactly 150 is the signature worth recognising. A library does not naturally end on a round number. When a count sits precisely on a cap, it is reporting the tool rather than the advertiser — and a figure that looks suspiciously tidy across several unrelated brands is usually a configuration value in disguise.
Worked examples from our own corpus
- Exact size, nearly all read — a QSR brand at 300 live ads with 288 read. 352 media files from those 288, 37 distinct creatives, 89.5% repeats. Every figure holds because the rate is computed over the files actually fetched.
- Exact and genuinely complete — a lending brand at 3 live ads, all three read. Seven of our sixteen exact libraries were fetched at 100%; this is one. No share or rate computed from three creatives means anything regardless.
- Sample of a known library — a grooming brand at 1,047 live ads, sampled at 475 distinct creatives. The 1,047 is solid, the 475 is a slice, and no repeat rate is available.
- The same category, both ways — in the QSR read, the brand's own library was a census at 300 live ads, so its 89.5% repeat rate is citable. A rival in the same report stopped at the 150-creative cap against 410 live ads, so no repeat rate exists for it. One report, one method, two different kinds of knowledge.
- Capped, size unknown — the beauty marketplace above. 1,258 creatives is real; the library size is not a number we have.
Why this is published rather than assumed
Because we got it wrong. A figure of 2,247 live ads reached one of these pages attributed to the wrong brand — it was a rival's library, picked up by a sweep that recorded values without walking each advertiser individually. It was caught and corrected, and it is the reason our gallery admits only libraries whose size is exact, and reports separately how many of each were read.
The pattern behind that error is worth naming: the risk is not in the measurement, it is in the sentence written about it. The hash was right, the pull was right, and the prose attached the number to the wrong company. Labelling every figure census, sample or capped is how we make that kind of mistake visible rather than invisible.