
To test ad hooks, change only the first three seconds and keep the body, the offer and the call to action identical across every variation. Ship 5 to 8, give each about 2,000 impressions, and read hook rate at 48 hours. Conversion is the wrong first metric for a reason you can price: the sample that settles a hook rate question costs about EUR 24 of media per variation, and the sample that settles a cost per result question costs roughly two hundred times that.
The rest of this post is the arithmetic behind those three numbers, with the inputs exposed so you can put your own CPM and your own base rates in.
What holding everything else constant actually means
A hook test that changes the hook and anything else is not a hook test. It is a concept test with a hook-shaped label on it, and the winner tells you nothing you can reuse.
Identical means identical from frame 91 onward: same clips in the same order, same voiceover take for the body, same music bed, same caption font and position, same end card, same landing page, same ad copy above the video, same audience, same placement, same optimisation event, same budget per variation. Change the music in two of six and the test now has two variables and six cells, which is not enough cells to separate them.
Two things people forget. The first is the primary text and headline in the ad unit: if variation three has a punchier headline, some of its lift is the headline. The second is length. If a longer hook pushes total runtime from 18 seconds to 21, completion rate moves for a reason that has nothing to do with the opening. Cut the hook to a fixed frame count and let the body start at the same timecode in every file.
Where teams do break this rule deliberately, say so in the test doc. A hook and its matching first caption line are hard to separate and often should not be, since the caption is part of what the viewer reads in the opening second. Just be explicit that the unit under test is hook plus caption, not hook alone. The creative testing entry covers the wider version of this discipline.
How many hook variations, and where 5 to 8 comes from
A hook read needs roughly 2,000 impressions per variation. That is the only input you need to work out how many variations your budget can actually resolve inside 48 hours, because the impressions you can buy in two days is your daily test budget times two, divided by your CPM, times a thousand.
Set the two equal and almost everything cancels:
variations you can read in 48 hours = daily test budget / CPM
At a EUR 12 CPM, a EUR 100 per day test budget reads 8.3 variations. A EUR 60 budget reads 5. That is where the 5 to 8 range comes from, and it is a budget constraint rather than a rule of creative taste.
| Variations in the test | Impressions to a hook read | Media at a EUR 12 CPM | Days at EUR 100 per day | Days at EUR 250 per day |
|---|---|---|---|---|
| 5 | 10,000 | EUR 120 | 1.2 | 0.5 |
| 6 | 12,000 | EUR 144 | 1.4 | 0.6 |
| 8 | 16,000 | EUR 192 | 1.9 | 0.8 |
| 12 | 24,000 | EUR 288 | 2.9 | 1.2 |
| 20 | 40,000 | EUR 480 | 4.8 | 1.9 |
| 30 | 60,000 | EUR 720 | 7.2 | 2.9 |
If you spend EUR 250 a day on testing, ship twenty. We would. The problem with twenty on a EUR 100 budget is not statistical, it is that the read lands on day five, and by day five the variations that started serving first have accumulated frequency the late ones have not. Our 2026 fatigue benchmark, a synthesis of published platform and agency figures rather than our own measurement, puts the start of decline at a weekly frequency of 2.5 on Meta prospecting and a CTR decline of 15 to 20 percent across the first two weeks. A five-day test measures delivery order alongside hook quality. A two-day test mostly does not.
Substitute your own CPM and budget in the creative testing calculator rather than trusting the EUR 12 in the table above. Cheap prospecting inventory at a EUR 6 CPM doubles the variation count you can read.
Which metric to read first, and what each read costs
Every rate metric in an ads manager is a proportion, so the smallest true difference a sample can settle follows from the base rate. The standard error of the difference between two proportions is the square root of 2p(1 minus p) divided by n, and a 95 percent read needs about 1.96 of those. Run that on the four metrics people try to judge a hook test with.
| Metric | Events from 2,000 impressions | Smallest difference 2,000 impressions can settle | Impressions per variation to settle a 20 percent relative difference | Media per variation at a EUR 12 CPM |
|---|---|---|---|---|
| Hook rate, 28 percent base | 560 three-second views | about 2.8 points | about 500 | about EUR 6 |
| Completion rate, 12 percent base | 240 completions | about 2.0 points | about 1,400 | about EUR 17 |
| Outbound CTR, 1.62 percent base | 32 clicks | about 0.8 points | about 12,000 | about EUR 144 |
| Cost per result, 3 percent landing conversion | 1 purchase | nothing usable | about 400,000 | about EUR 4,800 |
Read the third column downward. At 2,000 impressions a hook rate gap of 3 points is real and a gap of 2 points is noise, so 28 against 33 is a decision and 28 against 30 is a coin toss. The CTR row is the interesting one: the interval is 0.8 points wide on a 1.62 percent base, which is half the base rate. The bottom row is worse than useless, because the interval is nearly three times the underlying rate.
That is the whole argument against conversion as the first metric, in money. Six variations to a hook rate read is 12,000 impressions, about EUR 144 of media. Six variations to a cost per result read is 2.4 million impressions, about EUR 28,800. The read order is not a philosophy about funnels. It is the order the metrics become affordable in.
So: hook rate at 48 hours, completion rate off the same sample, outbound CTR at day five to seven once the top two or three variations have accumulated their 12,000 impressions, cost per result only on the survivor, and only because it is running anyway.
What to do with a hook that wins attention and loses conversion
The diagnostic is clicks per hundred viewers who stayed, which is CTR divided by hook rate. Platform medians give you the reference values.
| Placement | Median hook rate | Median video CTR | Clicks per 100 who stayed past three seconds |
|---|---|---|---|
| Meta Reels | 28% | 1.78% | 6.4 |
| Meta feed | 28% | 1.62% | 5.8 |
| TikTok | 33% | 0.84% | 2.5 |
| YouTube in-stream | 22% | 0.42% | 1.9 |
A Reels hook running at 40 percent hook rate and 1.2 percent CTR converts 3.0 viewers per hundred against a 6.4 median. It is not a good hook with a bad body. It is a hook recruiting people who were never going to buy, and the fix is to narrow it: keep the visual that earned the 40 percent, put the qualifying noun back in the first caption line, and accept a hook rate in the low thirties.
The opposite case reads differently. A 22 percent hook rate at 1.6 percent CTR is 7.3 per hundred, above the median. That hook is not broken, it is under-delivered. Keep the script and change frame one only, which is a much narrower test than rewriting the opening.
Do not throw away the broad winner either way. Log it as a hook that reaches people, then generate three narrowed versions of it as its own round with the hook variation generator. A 40 percent hook that converts at 3.0 per hundred and a 30 percent hook that converts at 6.5 per hundred deliver 1.20 and 1.95 clicks per hundred impressions respectively, so the narrowed version is worth about 60 percent more traffic on the same spend.
Where Genyad fits, and what it will not do
Genyad is our product, so read this as disclosure. It exists because the arithmetic above assumes you can produce 5 to 8 finished variations that differ only in the opening, which is the part most teams cannot do in a day. You upload footage once, it transcribes and tags every clip, and each variation comes out as a fresh script, shot selection, voiceover, caption set and export drawn from that library rather than a re-cut of one timeline. One variation costs 1 credit. The free plan gives 5 variations plus one AI-generated video with no card, which is exactly one round of the test described here. Starter is EUR 29 for 15 credits and Growth is EUR 99 for 65 credits, and credits never expire. Editing and re-exporting cost nothing, which matters when your held-constant body needs a fix in all six files.
What it does not do. No AI avatars or synthetic presenters, so if the hook you want to test is a person you have never filmed, this is the wrong tool. No static banner formats. No product-URL import and no product-feed or CSV-driven template rendering. No predicted performance scores, so nothing here will rank your six hooks before they run, which is the point: the ranking is the test. And no direct publishing to Meta or TikTok, so you export the files and upload them yourself.
Frequently asked questions
How long should a hook test run before you call it?
Read hook rate at 48 hours, provided each variation has cleared roughly 2,000 impressions by then. If it has not, the test is under-budgeted rather than inconclusive, and the fix is fewer variations rather than more days. Let the top two or three keep running to about 12,000 impressions each before you compare click-through rate.
Why is conversion the wrong first metric for a hook test?
Because the sample it needs is about two hundred times larger. Settling a 20 percent difference in cost per result takes roughly 400,000 impressions per variation, about EUR 4,800 at a EUR 12 CPM, against about 500 impressions and EUR 6 for hook rate. You will run out of budget long before the conversion numbers separate, and the interim numbers will look decisive when they are not.
Should the hook test change the caption as well as the footage?
Only if you declare the caption as part of the unit under test. The first caption line is read inside the same second as the opening frames, so separating the two often costs more cells than it is worth. What you must not do is change the caption in some variations and not others, then report the result as a footage finding.
How many impressions does one hook rate read actually need?
About 2,000 per variation is a safe working number, and it settles a gap of roughly 3 percentage points at a 28 percent base rate. Around 500 impressions is enough to settle a 20 percent relative difference, so 2,000 gives you headroom for uneven delivery. Below about 1,000 impressions a variation, treat the ranking as provisional.
Does a hook that wins on hook rate always win overall?
No, and the ratio of CTR to hook rate is how you catch it. Platform medians put Meta Reels at 6.4 clicks per hundred viewers who stayed past three seconds and TikTok at 2.5, so a variation well below its placement's figure is recruiting the wrong people. Narrow that hook rather than scaling it.