← Back to Blog
Paid MediaPaidMediaContentStrategyQuantitativeMarketing

Hook Rate vs Hold Rate: What Actually Moves

Across three video creatives in one Meta ad account, hook rate spanned 1.22x. Hold rate spanned 2.65x as reported, and 2.18x once the hook stage is divided back out. The funnel arithmetic, the counterexample, and a diagnostic table.

SPSantosh Paudel· September 7, 2026· 12 min read
Table of contents

Hold rate. If you have time to look at one video metric when you are diagnosing creative, look at hold rate, not hook rate.

Across three video creatives in one Meta ad account, hook rate ran 23%, 24% and 28% — a 1.22x spread. Hold rate on the same three ran 1.12%, 1.62% and 2.97% — a 2.65x spread. Those two spreads are not measured against the same base, and separating them is most of the work here. Isolate the second stage properly and it separates the three creatives 2.18x: close to twice what the first stage does, not the 2.65x the reported numbers suggest. That second figure depends on which denominator produced the panel numbers, which I argue for below rather than prove.

Three creatives, one account. Much of this post is about why that is not enough to conclude much.

Where these numbers come from

I worked as a creative strategist at a Nepali marketing and production agency, running paid social for large domestic consumer brands — FMCG, retail, that end of the market. The figures come from Meta Ads Manager performance panels on that account.

No brand names. This was an agency engagement and those client relationships are confidential, so attaching a name to any number is not mine to do. Categories only.

Three of the panels report video metrics, ordered by hook rate.

Creative ACreative BCreative C
Hook rate23%24%28%
Hold rate1.12%1.62%2.97%
Avg. play time00:0700:0500:10
Video plays545,6022,478,1191,001,830
Amount spent$127.87$114.60$213.82
Cost per 1,000 plays$0.234$0.046$0.213
Campaign objectiveProfile visitsReachProfile visits

B ran on a different objective. A and C were optimised toward Instagram profile visits; B toward reach. Two optimisation targets mean two auctions — my working understanding of how delivery behaves, not something these panels demonstrate — so I cannot assume the same kind of person was on the other end of the impression. Any comparison involving B changes the auction target at the same time as the creative — a confound I cannot remove.

It is also why B's $0.046 per thousand plays — 4.6x cheaper than C's $0.213 — proves nothing about B as a video. That comparison runs across two objectives, which is what the confound invalidates. I put it on the page because it is the arithmetic people reach for, then decline to use it.

Meta defines the counts; advertisers build the ratios

Meta defines the two counts underneath. 3-second video plays counts the times a video played for three seconds, or for 97% of its length if it is shorter than three seconds, with replays excluded. ThruPlays counts plays to completion or to at least 15 seconds, whichever comes first — so for a video of 15 seconds or shorter, a ThruPlay is a full watch.

Neither ratio appears on either page. Advertisers and reporting tools build them on top of Meta's counts, and it shows.

Hook rate is the stable one. All three sources I checked — Vaizle, Exposure and Adrio — give 3-second video plays divided by impressions. I have not seen it defined another way, though three sources is not a survey.

Hold rate is not stable. Vaizle and Exposure both publish it as ThruPlays divided by 3-second video plays. Adrio recommends that same formula but notes that you will also see ThruPlays divided by impressions, and that the two answer related but different questions. One metric name, two denominators, wildly different numbers out of one campaign.

Which formula produced the panel figures, I cannot settle: the panels do not show impressions. I can compare magnitudes. Vaizle and Exposure both tell you to aim at 40-50% under their formula — a target they recommend, not a range they report observing; the panels show 1.12% to 2.97%, thirteen to forty-five times below that, under hook rates of 23% to 28%. That reads far more naturally as ThruPlays over impressions — inference from the size of the numbers, not proof, and I will keep it labelled as such.

A percentage with no stated denominator is not a metric. It is a rumour. The same test applies that I use on search data: a metric earns its place only when a bad reading tells you what to change — the argument under the five SEO metrics I actually track.

The funnel arithmetic, written out

Three stages: impressions, then three-second plays, then ThruPlays. Take one million impressions and apply each creative's own rates — a worked example on a common base so the shapes are comparable, not a report of actual impression counts, which the panels do not show.

Per 1,000,000 impressionsCreative ACreative BCreative C
3-second plays (hook rate)230,000240,000280,000
ThruPlays (hold rate)11,20016,20029,700
Retention given hook4.87%6.75%10.61%

That bottom row is hold rate divided by hook rate: of the plays that started, what share ran to a ThruPlay.

In absolute terms the first stage moves more volume: 50,000 plays per million impressions separate best from worst, on a base of 230,000. At the ThruPlay stage the gap is 18,500 per million, on a base of 11,200. In ratio terms — what tells you whether the creative is doing anything — the first stage spans 1.22x and the second, on its own, 2.18x.

That 2.18x is 10.61% divided by 4.87%, and it is not the 2.65x from the top of this post. If reported hold rate has impressions as its denominator — the reading I argued for above from the size of the numbers, not one the panels confirm — then it runs through both stages and already contains the hook stage: 1.2174 x 2.1783 = 2.65. Quote 2.65x as the movement of the second stage and you have counted the first stage twice. The conclusion survives the correction, slightly smaller — the second stage discriminates about 1.8x more than the first, not 2.2x.

One thing here does not depend on winning the denominator argument. Under either formula the ordering is the same — C ahead of B ahead of A — because hook rates this close barely reshuffle anything when you divide by them. I need the ranking to act, and the ranking is stable.

The counterexample, stated plainly

Creative A has a longer average play time than Creative B — seven seconds against five — and a lower hold rate: 1.12% against 1.62%. If those two metrics measured the same thing, that could not happen. It happened, in a set of three.

A mechanism is available, marked as a hypothesis rather than a finding: average play time is a mean, and two creatives with the same mean can distribute it very differently. One holds a large group for a middling stretch; another carries a smaller group past the ThruPlay threshold. Only the second produces ThruPlays. Arithmetically possible, and nothing in these panels shows it happened — there is no distribution here, only a mean.

Three creatives establish no relationship between the two metrics either way. The safe version: on this account they did not track each other, so I would not substitute one for the other.

One more confound I cannot remove: the panels do not show video length, and ThruPlay's threshold moves with it. For a 12-second video a ThruPlay is a complete watch; for a 40-second video it is 15 of 40. Different lengths would mean these hold rates were measured against different bars. Compare duration-matched creatives on your own account. I could not.

A diagnostic table for your own numbers

The useful move is not memorising a benchmark. Two of the three sources I cited publish one and they disagree: Vaizle says aim for roughly 20-25% hook rate, Exposure calls 25-35% good. Adrio publishes no number at all, arguing that a benchmark without context is usually a trap and that the question worth asking is how one ad compares with your own videos of the same length and objective. Exposure is straightforward about why — there is no official Meta benchmark, so compare against your own 30-day account average. That is the advice I would give too, over a longer window if you have the volume: your own median, same objective, same format.

What the quadrant tells you:

Low holdHigh hold
Low hookNothing is working. Opening frame, thumbnail, first line of on-screen text, sound-off legibility. Fix the first three seconds before anything else.Small audience, right audience. My read is a packaging problem — strong substance, weak entry — but that is a diagnosis I bring to the numbers, not one they hand me.
High hookYou bought attention and had nothing to hand it. Impressions convert to plays, plays convert to nothing.Working. Scale spend, then vary one element at a time to learn which part is load-bearing.

The high-hook / low-hold box is where I have wasted the most money, because it looks like success in the first column of any report. My diagnosis there is usually a promise-payload gap: the opening implies something the body never delivers. That is a hypothesis I bring to the numbers, not one they hand me. Hook and hold rates tell you that people left. Nothing in a panel says why, and nothing in these three says where.

The fix I reach for is the one for weak landing copy: say the specific thing earlier. The text version of the same failure is a piece whose subheads are labels rather than mini-headlines — which is the case writing for skimmers makes for building a skim layer.

The low-hook / high-hold box is the one I have misread more than once. It looks like a dud in the summary and can be the best asset in the account wearing the wrong three seconds. Recut the opening, keep the body.

What this data cannot tell you

The omissions here are large.

  • No conversions, leads, revenue or ROAS. These panels report reach, profile visits, video plays and cost. Nothing downstream of a click is in them. A high hold rate is a signal about attention, not money.
  • No retention curve. No panel holds second-by-second drop-off data. Average play time is one number, not a shape. If you are ever shown a chart plotting where viewers abandoned one of these creatives, it was drawn from imagination.
  • n = 3. One account, one market. The spreads above are a real observation about these three, not a rate you should expect.
  • Different objectives, as covered above.
  • No video lengths, so the ThruPlay thresholds may not be comparable.
  • Unknown campaign duration. No date range appears per campaign.

What survives is modest and still worth acting on: within one account, hook rates sat within 22% of each other while the second stage separated the same creatives 2.18x, so hold rate carried more information per creative. If your numbers behave the same way, put your optimisation effort there. If not, believe your data over my three panels.

Some of this carries over to organic short-form, where the mechanics rhyme and the reporting does not. My short-form video strategy for LinkedIn and YouTube Shorts covers the format and production side there — it argues for a hook in the opening line and says nothing about retention, the half this data speaks to.

FAQ

What is a good hook rate on Meta ads?

The two published benchmarks I checked disagree: Vaizle says aim for roughly 20-25%, Exposure calls 25-35% good — targets they recommend, not ranges they report observing — and Exposure states plainly that there is no official Meta benchmark. So build the baseline yourself: 90 days of video creatives from one account, split by objective and placement, median as your line. The three creatives above sat between 23% and 28% — normal for that account, nothing about yours.

What is the difference between hook rate and hold rate?

Hook rate is three-second video plays divided by impressions: the share of impressions that turned into a play long enough to register. Hold rate measures who stayed to a ThruPlay, which Meta counts at 15 seconds or full completion, whichever comes first. Impressions are not people — one person can receive many — so neither is a headcount. And watch hold rate's denominator: some sources divide ThruPlays by impressions, others by three-second plays, and the two look very different on one campaign.

Why is my hold rate so much lower than my hook rate?

Two candidates, and you can tell them apart. Check your dashboard's formula first. If hold rate is ThruPlays over impressions, a large gap to hook rate is arithmetic rather than a problem — the ratios share a denominator and the second event is a subset of the first. If it is ThruPlays over three-second plays and still sits far below the 40-50% both Vaizle and Exposure tell you to aim at, the body is losing the people the opening won.

Should I optimise for hook rate or hold rate?

On the evidence above — three creatives in one account, and on my reading that the reported hold rates use impressions as their denominator, which those panels do not confirm — retention discriminated between creatives 2.18x against the hook stage's 1.22x, which makes it the more informative diagnostic there. The 2.65x you get from comparing reported hold rates is cumulative: it contains the hook stage too, so do not quote it as a second-stage figure. Neither metric is a business outcome, though: both sit far upstream of revenue, and a creative that wins on hold rate and sells nothing is still a loss.


Got a set of ad panels you are not sure how to read? I will tell you which numbers are load-bearing, which are unit errors, and which your dashboard computes two different ways. Quantitative marketing or get in touch.

Free resource

Get the AI Marketing Prompt Pack

30+ tested prompts for images, captions, video scripts, keywords, and full content systems, delivered instantly.

No spam. Unsubscribe anytime.

Browse all free guides →

Want to implement this with guidance?

Santosh helps founders turn insights like this into real systems.

AI Content Systems

External Resources

Further Reading & Tools

Related Posts

01
12 min
PaidMediaMarketingAnalytics
TodayPaid Media

Meta's Cost Per Result Is Not One Unit

Meta's "Cost per result" box measures a different thing depending on the campaign objective, and it never says which. Six panels from one ad account, reconciled by hand, showing a 1,000x unit trap.

Read article
02
13 min
ContentStrategyContentMarketing
TodayContent Strategy

Content hit rate: how many posts before it means anything

Half of a client's reels found distribution and half died. I turned that into a planning model, with runnable Python, that answers how many posts a month you need before the number stops being noise.

Read article
03
11 min
ContentStrategyQuantitativeMarketing
YesterdayContent Strategy

A Content Marketing ROI Model You Can Actually Run

A full payback model for a content programme — cost inputs, ranking probability, traffic and conversion assumptions, plus a sensitivity table and runnable Python. Every input is labelled an assumption.

Read article