Methodology
How Galvor's research is made
Galvor's research reads the ads a brand is running in public ad libraries. Each ad is decoded against one published set of attributes. Every figure is labelled as exact, sampled or capped. No spend, sales or cost figure is inferred, because none can be seen from outside an ad account.
This page is a summary. Each section links to the page it comes from, which carries the detail and the figures.
Updated
Where the ads come from
Each research post takes one brand, looks at the ads it is running right now, and works out who they are for and why. Everything comes from public ad libraries and public posts.
The corpus behind the benchmarks comes from the public Meta Ad Library, public Instagram and public comments. None of it comes from any brand's ad account.
Live counts are as at the date each library was read. An ad library moves daily.
From: What 41 D2C brands' public ad libraries actually contain and the research index.
How an ad is decoded
Every ad is tagged against the same attributes. Patterns are looked for on four of them.
hook_type
How the first seconds open. Problem-statement, question, claim, demo, story or offer.
format
The shape of the ad as a piece of film. Talking-head, demo, ugc-testimonial, product-only, founder, skit, before-after or listicle.
cast
Who is on camera. Everyday-creator, professional-talent, founder, expert or none.
setting
Where it was shot. At-home, studio, outdoor or retail.
Also read on every ad: whether the product is in frame in the opening seconds, the call to action, the main claim, why the ad might work, and its weakest point.
A value is only called a pattern when at least a third of the library shares it. Fewer than eight decoded ads cannot carry a pattern claim at all.
In the corpus, each brand is decoded alongside two named competitors on the same vocabulary, so the comparison is like for like.
From: The creative attributes that decide whether an ad works and What 41 D2C brands' public ad libraries actually contain.
How ads are counted
Repeats are removed before counting. Byte-identical repeats are collapsed first, so the number reported is distinct creatives, not raw ads. In one library we read, 300 live ads carried 37 distinct creatives.
Live totals and decoded totals are different numbers, and both are recorded. A library size is a count the Ad Library reports. A decode describes only the ads we actually fetched.
From: How to read a competitor's Meta ad library properly.
How large libraries are sampled
Most of the ad libraries we read fit in one pass. Past roughly a thousand live ads a library is sampled, not measured. Every figure we publish falls into one of three states, and it is labelled on the page.
Exact
The library never exceeded our pull limit. The size is exact. A deduplication rate is valid over the ads actually read.
Sampled
A deliberate partial pull of a large library. The size is exact, from the Ad Library's own count. A deduplication rate is not valid.
Capped
The pull hit our ceiling and no live total was available. The size is unknown, above the cap. A deduplication rate is not valid.
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.
From: When a library is too big to read whole.
What cannot be seen from outside an ad account
Spend, impressions, conversions, cost per order, CAC and return on ad spend are not in the library. They are absent, and we do not infer them.
How long an ad has been live is visible. It says nothing about results, and we do not treat a long-running ad as evidence that it converted.
Pricing an attribute against cost per order requires the advertiser's own conversion data. Where a figure on these pages comes from a brand's own account, it says so.
From: How to read a competitor's Meta ad library properly and The creative attributes that decide whether an ad works.
Independence
The research is independent and comes from public advertising. A brand appearing in it does not mean it is a Galvor client or has worked with us.
Each research post says whether we worked with the brands in it. The reasons a post gives for a brand's choices are our reading, not the brand's.
From: the method note at the end of each research post.
Corrections
A figure of 2,247 live ads once reached one of these pages attributed to the wrong brand. It was a rival's library. It was caught and corrected. Labelling every figure exact, sampled or capped is how we make that kind of mistake visible.