For media buyers and creative strategists
Why did your ad win? Read the set, not the ad
A single ad cannot say why it won, because a video file holds no spend, no ROAS and no retention curve. What a file holds is the composition. So read a set instead: mark the ads that won, add one or two that did not, and the analysis counts what the winners share and the others do not. The hook type, the cuts a second, the median shot, the second the product first appears. Each of those is a count over the set rather than an opinion about one file, and every count can be checked by scrubbing to the second it names.
Published 8 min read
The short version
- A video file holds no spend, no ROAS and no retention curve. It holds the composition, and the composition is what gets measured.
- One ad analysis fills 34 fields, and it fills the same 34 every time, which is what lets ten ads be counted rather than read one by one.
- The hook of every ad is sorted into one of 15 kinds and up to 4 channels, so a set can be counted by it: six of your eight winners open on a demonstration is a number.
- Up to 10 ads in one set. Each one is read on its own first, then one grid puts the same question to all of them.
- A control is half the method. Two ads that agree prove less than two that do not, so add the ads that lost.
Why one ad cannot answer it
The question is about performance. The file is about composition. Those are two different things.
Open the ad that won and watch it. You see a hook, a cut, a face, a price. What you do not see is the spend behind it, the ROAS it returned, the hook rate at three seconds or the curve of people leaving. None of those are in the file. They are in your ad account.
So any tool that watches one video and tells you why it won is doing one of two things. It is reading your numbers, which it can only do if you gave them to it. Or it is inventing a reason that sounds right, which is worse than nothing, because it sounds right.
What is in the file is how the ad is built. That part is measurable to the frame, and it is the part you can carry into the next one.
How to read a set, in four steps
About a minute an ad, and the analysis is saved, so tomorrow's question opens no video again.
Collect the winners
Four to eight ads that performed, as links. A Meta Ad Library link, a TikTok, an Instagram reel or a file from your own disk all work the same way.
Add a control
One or two ads that did not perform, from the same account and ideally the same product. This is the step people skip, and it is the step that makes the rest a comparison instead of a description.
Run them as one set
Every ad is read on its own first, then one grid puts the same question to all of them. Up to ten in a set. A yellow bar marks the rows where the ads do not agree, and those rows are where the answer is.
Ask the set a question
How many open on a face. How many name the price in the first five seconds. Each of those reads the finished cards and opens no video, so it costs almost nothing and comes back in seconds.
The order matters. A reading first, a question second. The first pass is what makes every later question cheap, and it is the same rule as sessions: the video is watched once, and everything after that reads what was already found.
What gets counted across the set
Two kinds of number, and it is worth knowing which is which.
| What | How it is produced | Example over a set |
|---|---|---|
| Hook type | Read, then sorted into one of 15 kinds | Six of eight winners open on a demonstration |
| Hook channels | Read, up to 4 at once: picture, speech, on-screen text, sound | Every winner carries the hook on the picture as well as in the speech |
| Beats | Read, from a list of 7, each with a start and an end in seconds | Every winner reaches proof before 8 seconds |
| Cuts a second | Counted off the file, frame by frame | Winners sit between 0.8 and 1.4, the control at 0.3 |
| Median shot | Counted off the file | The spread across the set, in seconds |
| Product first visible | Counted off the file | Winners show the product inside 2 seconds |
A counted number is never asked of a model. The cuts, the cuts a second, the shortest, middle and longest shot, the duration and the second the first caption appears are all measured off the file rather than read off a picture. A model asked to count cuts answers with a guess that then sits beside real measurements wearing the same confidence.
The example column is the shape of an answer, not a result we are reporting. What your own set says is what your own set says.
The two lists that make a winner repeatable
What carries to the next product, and what belongs to this ad alone.
Every analysis ends with two lists, and they exist to be read together.
reusable is what transfers: the structure, the pace, the shape of the promise, where the proof lands, how the ask is phrased. That is the template. It is the half you brief the next creator with.
specific is what does not: this demonstration, this face, this price, this season. It is the list that stops a winner being copied blindly, which is the ordinary way a winning format stops working on the second attempt.
A tool that only gave you the first list would be a tool that tells you to remake the same ad. The second list is why the first one is safe to use.
What goes wrong the first time
A set with no control is a description. Eight winners that all open on a face tells you nothing until you know that the ads that lost also open on a face. This is the most common way a set produces a confident wrong answer.
One winner is not a pattern. A hook that lands at 0.4 seconds in one creative is a fact about that creative. Four of them doing it is a count, and a count is what a brief can be written from.
Your numbers go beside the reading, never into it. Paste the spend and the ROAS next to the answer if you want them in the same document. They are quoted, and they are never invented: nothing in the file can produce them.
An ad that could not be read is not an ad with nothing in it. What could not be answered is named rather than left blank, which is what keeps a quiet ad and an unreadable one from looking the same.
The verdict
Reading one winning ad tells you how that ad is built, which is useful and is not the question anybody is asking. The question is what your winners share, and that is a count: over eight ads with two controls, the share that open on a demonstration or reach proof before eight seconds is a number rather than an impression. Nothing in the file can tell you why it converted. Everything in the file can tell you what to brief next, and that is the half a person cannot produce reliably from watching.
Common questions
Can AI tell me why my ad won?
From a set, yes. One file on its own cannot, because a video holds no spend, no ROAS and no retention curve. Mark the ads that won, add one or two that did not, and what comes back is what the winners share and the others do not, counted rather than guessed.
How many ads do I need for a useful comparison?
Four to eight winners and at least one control. Up to ten in one set. Fewer than four and a shared trait is as likely to be chance as a pattern, and with no control there is nothing to compare a shared trait against.
What does it measure about an ad?
Thirty-four fields, the same ones every time: the hook and the channels it arrives on, every beat with its start and end in seconds, every claim quoted at the second it is legible, the offer, the ask, the proof, and whether the ad works with the sound off. Beside those it counts the cuts, the cuts a second, the median shot and the second the product, the brand and the first face appear.
Does it work on ads from the Meta Ad Library?
Yes. A facebook.com/ads/library/?id=… link is a video like any other, and so is a TikTok, an Instagram reel, a YouTube video or a file on your own disk. Mixing sources in one set is normal.
Can I ask a question about a set later?
Yes, and it costs almost nothing. An analysis is saved, so a later question is answered from the finished cards with no video opened again. That is what makes it worth running a set properly the first time.