We’re live on Product HuntSupport us

What Is Hook Rate (Thumb-Stop Rate) in Meta Ads?

PerformanceAugust 15, 20269 min readBy Klipio team
What Is Hook Rate (Thumb-Stop Rate) in Meta Ads?

Hook rate is the percentage of people who watched at least the first 3 seconds of your video ad, out of everyone it was shown to. You calculate it as 3-second video plays divided by impressions, multiplied by 100. Media buyers also call it thumb-stop rate, because it measures whether the opening of your ad was strong enough to stop someone's thumb mid-scroll.

It's not a metric Meta hands you by default. You have to build it, and the way you build it matters more than most people realize.

What Does Hook Rate Actually Measure?

Hook rate measures attention capture, nothing more. It tells you whether the first frame, first line, or first movement of your video was interesting enough to keep a thumb from scrolling past it.

It does not tell you whether the ad sold anything. A video can post a huge hook rate and a terrible cost per purchase, because a shocking first three seconds and a compelling offer are two different skills.

Think of hook rate as the top of a funnel that lives entirely inside the video itself: hook (did they stop) → hold (did they keep watching) → click → conversion. Each stage has its own metric, and hook rate only covers the first one.

How Do You Calculate Hook Rate?

The standard formula is:

Hook rate = (3-second video plays ÷ impressions) × 100

Worked example: your ad gets 50,000 impressions and 15,000 people watch at least 3 seconds.

15,000 ÷ 50,000 = 0.30

0.30 × 100 = 30% hook rate

That's it. The math is simple. The part that trips people up is the denominator, not the arithmetic.

Why Isn't Hook Rate a Default Column in Ads Manager?

Meta ships native video metrics like 3-second plays, ThruPlays, and video-play percentages at 25/50/75/100%. It does not ship a ready-made "hook rate" column, because Meta doesn't publish an official hook or fatigue benchmark at all — this is entirely an agency and media-buyer convention built on top of native fields.

That means you build it yourself, once, as a custom metric, and then reuse it on every ad account.

How Do You Build Hook Rate as a Custom Column?

  1. Open Ads Manager and go to any results table (ad, ad set, or campaign level).
  2. Click the Columns button — it shows your active preset, something like "Columns: Performance."
  3. Choose Customize columns near the bottom of that dropdown.
  4. In the picker, click + Create custom metric (bottom-left).
  5. Name it "Hook Rate," pick a Format, and enter the formula.

For the formula, use 3-second video plays divided by impressions, then multiply by 100 yourself in the formula. Set Format to Number, not Percentage.

Save it, tick "Save as preset," name the preset, and apply it. Only Admin or Advertiser-level access can create custom metrics on an ad account. For the full mechanics of building any custom column — not just hook rate — see our guide to custom columns in Meta Ads Manager.

  1. 1
    Impressions landThe ad is shown, no scroll-stop yet
  2. 2
    3-second plays countedNative Meta metric, tracks the hook
  3. 3
    Hook rate calculated3-sec plays / impressions x100, custom metric
  4. 4
    Hold rate calculatedThruPlays / 3-sec plays x100, tracks retention
  5. 5
    Judged on cost per resultOnly pause or scale after checking this, not the hook
How hook rate fits into the video-ad measurement chain

What Counts as a Good Hook Rate?

Benchmarks here vary a lot by source, placement, and whether autoplay is on, so treat every number below as a range to test against, not a target to hit.

BandRangeWhat it usually means
KillBelow 20-25%Weak opening; the ad isn't stopping the scroll
AverageAround 24% (some datasets)Typical, not something to be proud of
Good25-40% (one large dataset centers on 30-40%)A solid hook, worth holding in rotation
Elite45%+Rare; usually a strong visual or pattern-interrupt opener

Two ads with the identical hook rate can produce very different sales results. Hook rate alone tells you nothing about whether the ad made money — it only tells you people stopped scrolling. Always read it alongside hold rate and cost per result before you decide anything.

What Is Hold Rate and How Is It Different?

Hold rate measures whether people who stopped kept watching. It's the second stage of the funnel, right after hook rate.

The common formula is ThruPlays divided by 3-second plays, times 100 — though some media buyers calculate it against impressions instead of 3-second plays, so check which one you're building before you compare numbers across accounts.

Hold rate = (ThruPlays ÷ 3-second video plays) × 100

Worked example: 15,000 people hit 3 seconds, and 4,500 of them reach a ThruPlay (a complete view, or 15 seconds, whichever comes first).

4,500 ÷ 15,000 = 0.30

0.30 × 100 = 30% hold rate

Reported "good" bands for hold rate range from roughly 25% up to 40-50%, depending on the source and how it's calculated — another metric where you should baseline your own account before treating any published number as a target.

A high hook rate with a weak hold rate usually means the opening oversold something the rest of the video didn't deliver. A weak hook rate with a strong hold rate among the people who did stop means the opener is the problem, not the story.

How Does Hook Rate Fit Into Creative Fatigue?

Hook rate falling against its own baseline is one of the earliest warning signs that a video ad is fatiguing. It tends to move before frequency crosses a warning threshold and before cost metrics visibly rise, which is why it belongs in the same weekly check as link click-through rate (link CTR) and frequency.

The catch: judge winners and losers on cost per result, not on hook rate by itself. Cost per result is spend divided by whatever your ad set optimizes for — it's only the same thing as cost per acquisition (CPA) when the optimized result is a purchase; for a traffic or lead campaign, cost per result measures something else entirely. Meta can keep spending on a high-hook-rate ad with a bad cost per result if you only gate on engagement. Use hook rate as an early-warning signal, and let cost per result (or CPA, when that's genuinely what you're optimizing for) make the actual pause-or-keep call.

We go deeper on the full fatigue picture — frequency thresholds, the leading-versus-lagging signals, and a testing cadence — in what is creative fatigue.

Where Do You Find New Hooks Once Yours Fatigues?

New hooks are the fastest lever against a fading hook rate, faster than a whole new concept and cheaper than a new format. The opening 3 seconds — the first line, first visual, first pattern-interrupt — carries most of the link CTR swing on its own.

One honest source of fresh hooks: competitors who are still running the same ad weeks after you first saw it. The Meta Ad Library shows every active ad's "Started running on" date, and an ad still live after several weeks is very likely still working for its advertiser — that's the closest public signal to "hasn't fatigued and is probably profitable," since the library shows no spend or engagement numbers for normal ads. For the mechanics of finding those rivals in the first place, see how to see competitors' Facebook ads.

Our free Meta Ad Library Downloader adds a download button to every ad inside the library, so you can pull the actual opening seconds of long-running competitor ads instead of guessing at what a "strong hook" looks like from memory. Bulk mode collects a whole search into one ZIP with a searchable swipe board. Copy the hook style and the argument, not the exact footage or wording. If you'd rather work from a paid database instead of the free library, our comparison of ad-spy tools breaks down which ones are worth it.

FAQ

What is a good hook rate on Facebook and Instagram ads?

There's no single number Meta publishes, but commonly cited ranges put 25-40% as good, with some datasets centering "good" around 30-40% specifically. Below roughly 20-25% is usually treated as a kill signal. Baseline against your own account's recent video ads before trusting any outside benchmark.

How do I calculate thumb-stop rate?

Thumb-stop rate is the same thing as hook rate: 3-second video plays divided by impressions, multiplied by 100. If 20,000 people see your ad and 6,000 watch at least 3 seconds, that's 6,000 ÷ 20,000 × 100 = 30%.

Is hook rate the same as CTR?

No. Hook rate measures who stopped scrolling in the video's first 3 seconds; link CTR measures who clicked through to your site or landing page. An ad can have a strong hook rate and a weak link CTR if the video is entertaining but the offer or CTA doesn't land.

Why doesn't Meta show hook rate as a default column?

Meta doesn't publish an official hook-rate or fatigue benchmark at all — the metric is a media-buyer convention built from native fields (3-second plays and impressions) that Meta does track. You build it yourself as a custom metric in Ads Manager, once, then reuse the preset.

What's the difference between hook rate and hold rate?

Hook rate measures the first 3 seconds — did they stop scrolling. Hold rate measures what happens after — did they keep watching to a ThruPlay. A video needs both: a strong hook gets attention, a strong hold means the attention didn't drop off immediately.

Should I pause an ad just because its hook rate is falling?

Not on hook rate alone. A falling hook rate against the ad's own baseline is an early warning sign worth watching, but the actual pause decision should come from cost per result (CPA specifically, if the campaign optimizes for purchases) — Meta can keep spending on an ad with a great hook rate and a bad cost per result if engagement is the only thing you're checking.

Save the ads you research — free

The Klipio extension adds a download button to every ad in the Meta Ad Library: one click per ad, or bulk-save a whole search as a ZIP with a searchable swipe file inside. Free, no sign-up.

Get the free extension