Reference · updated 2 October 2026
The creative attributes that decide whether an ad works
An ad's performance is decided by a small number of describable choices: how it opens, what format it is, who is on camera, where it was shot, and whether the product appears in the first few seconds. Those are attributes, and unlike “the creative” they can be counted, compared across a library, and priced against cost per order.
This is the taxonomy Galvor tags against. It is published because a measurement method that is not published cannot be checked — and because the argument for attribute-level reads only holds if you can see what the attributes are.
The four dimensions a pattern is found on
Most tools tag creative and then sort by return on ad spend at the ad level. That tells you which ad won, not why. Grouping instead happens on four fields, because those are the ones where a shared value across several winners is a finding rather than a coincidence.
| Attribute | Values it can take | What it describes |
|---|---|---|
| hook_type | problem-statement, question, claim, demo, story, offer | How the first seconds open — the single most-cited lever in a library. |
| format | talking-head, demo, ugc-testimonial, product-only, founder, skit, before-after, listicle | The shape of the ad as a piece of film. |
| cast | everyday-creator, professional-talent, founder, expert, none | Who is on camera, which usually matters more than what they say. |
| setting | at-home, studio, outdoor, retail | Where it was shot. Often the cheapest variable to change and the most costly to get wrong. |
What else is read on every ad
- product_visible_early — whether the product is in frame in the opening seconds. A true/false read, and one of the most consistent separators between a winning and a losing cut.
- cta — the call to action as it actually appears, and whether it is spoken or supered on screen. Spoken and supered behave differently.
- claim — the main promise the ad makes, in the ad's own words.
- why_it_might_work — on a close read, the mechanism, grounded only in what is visible.
- risk — the weakest thing about the creative. Recorded because the reason an ad fails is as useful as the reason one wins, and far less often written down.
When a shared attribute counts as a pattern
A value is only called a pattern when at least a third of the library shares it. Below that threshold the claim is arithmetic noise dressed as insight.
There is also a floor on the library itself. Fewer than eight decoded ads cannot carry a pattern claim at all, and the honest output for a small library is that there is not enough there yet — which is itself worth telling a brand. Only 5–8% of ads become winners, so a brand running under roughly 20 creatives a month statistically expects fewer than one winner a month, and there is nothing to find.
Winner rate: Motion, Creative Benchmarks 2026 — 578,750 ads across 6,015 accounts. See creative volume benchmarks for volume by spend band.
Why price the attribute instead of the ad
An ad-level number tells you to pause one ad. An attribute-level number tells you what to do next: a problem-statement open that holds across most of a library's strongest cuts is a brief, not a verdict. The same read prices what lost as well as what won, which turns a dead ad into a decision about next quarter's production rather than something to archive.
A note on what is and is not measurable from outside. Attribute pricing requires the advertiser's own conversion data. Everything on this site that is derived from the public Meta Ad Library — library sizes, format mixes, how concentrated a competitor's creative is — is observable by anyone; cost per order is not, and we do not infer it. Where a figure on these pages comes from a brand's own account, it says so.
Pricing a hook pattern, a casting choice or a pacing decision to cost per order is, as far as we can establish, unclaimed in this market. Everyone else stops at tagging.