An ad hook is the opening of an ad — the first line of a static, the headline of a search ad, or the first three seconds of a video — and almost every hook that works belongs to one of seven styles. Categorising them is not an academic exercise: once every ad in your account carries a style tag, the gap in your creative mix becomes visible in a single count, and that gap is usually the cheapest test available to you.
Last reviewed September 7, 2026. Every example below is a real ad recorded in the Sprites ads library, quoted exactly, with the run length measured on that date.
The seven ad hook styles
| Style | What it does | The tell | Where it fails |
|---|---|---|---|
| Question | Borrows attention by opening a loop the viewer wants closed. | Starts with why, how, ever, do you, are you, still. | Rhetorical questions the viewer can answer “no” to and scroll on. |
| Statistic | Buys credibility in one line by leading with a number. | A figure in the first six words. | Numbers with no referent, or numbers about you rather than about the reader. |
| Pain point | Names the friction before naming the product. | Starts with stop, never, tired of, no more. | Pain the audience does not actually feel, or feels but has accepted. |
| Before and after | Compresses a transformation into one sentence. | From X to Y, in minutes, not years, instead of. | Transformations that are not believable at the price. |
| Social proof | Substitutes other people’s judgement for the viewer’s. | Join, trusted by, used by, a count of customers. | Small numbers, and audiences who do not respect the crowd being cited. |
| UGC | Removes the ad frame by sounding like a person, not a brand. | First person, lower case, a handle, a hashtag. | Production values that give the game away in the first second. |
| Direct offer | Skips persuasion for people already in the market. | A free tier, a trial length, a discount, a deadline. | Cold audiences with no reason to want the thing yet. |
Seven real ads, one per style, all of them long-running as of September 7, 2026:
1. Question hooks
A question works because an unanswered question is uncomfortable. The good ones are specific and slightly unexpected, and they are about something the viewer has noticed but never named. The bad ones are questions the viewer can dismiss in a word — “Want more sales?” earns a no and a scroll.
Live example. Framer opened on “Ever wonder why some sites feel polished and others don’t?” and kept that ad running for 86 days.
The structure worth stealing there is observation, then cause: the ad names a difference the viewer has felt (some sites feel polished), then supplies the explanation as the product’s territory. Template: “Ever wonder why [thing your audience has noticed]?”
2. Statistic hooks
A number in the first six words does two jobs at once: it interrupts, and it implies somebody measured something. Three numbers in a row does it harder, which is why the pattern of stacking figures shows up so often in B2B.
Live example. Legora opened on “75% efficiency gains, 80,000 employees, 50+ countries.” and kept that ad running for 81 days.
Note what makes that one work: the figures are about a named customer’s outcome, not about the advertiser’s funding or headcount. A statistic hook fails when the number is self-regarding. Template: “[Outcome figure], [scale figure], [scope figure]. That’s what [category] looks like at scale.”
3. Pain-point hooks
The most reliable style in software, because software is mostly bought to stop something. The discipline is to name a specific friction rather than a general dissatisfaction — “never dig for files again” beats “work smarter” because the first one is a scene and the second is a slogan.
Live example. Cursor opened on “Never dig for files again.” and kept that ad running for 58 days.
Template: “Never [specific irritating action] again.” The test of a good pain hook is whether your customer would recognise the sentence as something they have actually said out loud.
4. Before-and-after hooks
A transformation compressed into one line. The lever is the gap between the two states, and the risk is that a gap large enough to be interesting is often large enough to be unbelievable. Anchoring the “after” to a time — minutes, a day, a week — makes the claim concrete rather than grand.
Live example. Lovable opened on “Turn your idea into a live Shopify store in minutes” and kept that ad running for 150 days.
Template: “Turn [thing they already have] into [thing they want] in [short time].” If you cannot demonstrate the after-state in the ad itself, this style will underperform.
5. Social-proof hooks
Social proof is a shortcut through scepticism, and its strength scales with the number and with the relevance of the crowd. “Join over a million editors” works on an editor; a million anonymous users works on nobody. Below roughly five figures, a named customer usually outperforms a count.
Live example. ElevenLabs opened on “Join over 1,000,000+ editors making voiceovers using ElevenLabs.” and kept that ad running for 219 days.
Template: “Join [specific number] [specific role] doing [specific job].” The specificity of the role is doing as much work as the number.
6. UGC hooks
The point of a UGC hook is that it does not read as an ad in the first second. Lower case, first person, a handle, a hashtag, a phone camera. The reason it survives so long in consumer feeds is that the format itself is the hook — the words barely matter.
Live example. Whatnot opened on “my luxury make up haul on @whatnot” and kept that ad running for 457 days.
That one has been running for well over a year, which is exceptional in this dataset: only three of the fifty-nine advertisers with dated Meta ads have anything past a year. Template: “my [category] haul / setup / routine with [product]”. Ruin it by adding a logo animation to the front.
7. Direct-offer hooks
No persuasion, just terms. This style is misjudged constantly because it is tested on cold audiences, where it has no chance, and then written off. On a warm or in-market audience it is frequently the cheapest hook you own.
Live example. Opus Clip opened on “Get 60 Minutes of Free Credits Monthly!” and kept that ad running for 132 days.
Template: “Get [specific quantity of value] free [cadence].” Specific quantities beat adjectives: “60 minutes of credits” is a thing, “a generous free tier” is not.
How to tag your own account
- One style per ad, chosen at launch. Force the single choice; an ad tagged three ways cannot be counted, and retro-tagging never gets scheduled.
- Put the tag where the data lives. A naming convention works fine:
concept_hookstyle_format_v1is enough to group on later. - Count before you judge. Spend and cost per result by style, not by ad. Six ads sharing a style is a cohort; one ad is weather.
- Find the empty column. The style with no ads in it is your next test, and it costs nothing to discover.
- Re-count quarterly. Mixes drift towards whatever won last, which is how an account ends up running seven versions of one idea.
The count is the deliverable. A tally that reads “30 of our 34 ads last quarter opened on a direct offer” is worth more than any individual insight about any individual ad, because it names something you can fix this week.
Testing hooks without fooling yourself
Three rules keep a hook test honest. Hold everything else constant — same footage, same angle, same offer, different opening — or you are testing a bundle and learning nothing. Run at least two ads per style, so a style’s result is a cohort rather than one ad’s luck. And read thumbstop rate first: it isolates the hook from everything downstream, which is exactly what you are trying to measure. The wider metric set is in what is creative analytics.
To find the styles worth testing next, read the market rather than guessing: analyzing competitor ads by run length tells you which styles keep earning budget in your category, and the ads library has the raw material for eighty-four advertisers.
Generating and testing hooks with an agent
Tagging, counting and briefing are weekly work, and they are the first things dropped when the account gets busy. Sprites’ creative analytics keeps the count current, writes hooks in the styles your account is missing, and launches the test with your approval; the ad generator turns an approved angle into the finished headlines and scripts. Book a demo to see it against your own creative mix.
Frequently asked questions
What is an ad hook?
The hook is the opening of an ad: the first line of a static, the headline of a search ad, or the first three seconds of a video. Its only job is to buy the next three seconds. It is the element with the most leverage over cost per result, because every other part of the ad is only seen by people the hook kept.
What's the best way to categorize ad hook styles?
Use a small taxonomy you can hold in your head and tag every ad with exactly one style. Seven categories is enough: question, statistic, pain point, before-and-after, social proof, UGC, and direct offer. Tag on launch rather than retrospectively, and force a single choice per ad — an ad tagged three ways cannot be counted.
How many hook styles should I test at once?
Two or three per batch, with at least two ads carrying each style so the result is a cohort rather than a coin flip. Testing all seven at once splits your spend so finely that nothing reaches significance, and testing one at a time takes a quarter to learn what a batch teaches in a fortnight.
Which hook style performs best?
There is no category-wide winner, and any article that names one is selling something. What is reliably true is that the style your account has never run is where the headroom is, because the styles you already run are already priced into your results.
How do I know if my hook is the problem?
Look at thumbstop rate — three-second views divided by impressions — before anything else. A weak thumbstop with a healthy hold rate says the hook is failing and the rest of the ad is fine, which is a recut rather than a reshoot. A strong thumbstop with a weak click-through says the hook is working and the promise behind it is not.
Can AI write ad hooks that work?
It writes plausible hooks quickly, which is worth a great deal when the alternative is a blank page. What makes them good is the input: a model that has read the long-running ads in your category and knows what your account has already tested will produce hypotheses worth spending on, and a model given only your product name will produce category-average copy.