Your first ad is a guess. Somebody in your niche has already paid to find out which guesses work, and Meta publishes the answer for free. The Ad Library shows every active ad on Facebook, Instagram, Messenger and Threads, with the date it started running. An ad that is still running after a month is an ad somebody keeps paying for, and nobody keeps paying for an ad that loses money.
So before you make anything, do a teardown. It takes about 30 minutes and costs nothing. I ran this one on October 19, 2026 for a busy niche, AI headshot apps: about 200 active ads in the US for the search "ai headshot". Every screenshot below comes from that search. The method comes from Steven Cravotta, who builds subscription apps and teaches it to his students: find the long runners, take them apart with four questions, and build yours on the same frame. Copy the frame, never the words.
Search your niche, sort by impressions
- Open facebook.com/ads/library. No account needed.
- Pick the country you sell in, set All ads, and type the words your buyer would search for: "ai headshot", not "generative portrait platform".
- Leave Active status: Active ads on. Open Sort by and check that Impressions: high to low is picked. It was already picked on my search; the other option, Most recent, buries the ads with reach under this morning's tests.
- Scroll and write down the advertisers that show up again and again. In the first 66 cards on my search, Career Pic AI had 22, GIO 13 and Roomvu 7. Those are the ones spending.

Ads that sell your kind of product do not always name the category. Run a second search with the words your buyer uses for the problem ("linkedin photo", "resume photo"), and use Filters to narrow by language, platform or media type when a search is noisy.
Keep only the ads that have run 30+ days
Every card shows Started running on. Subtract it from today. A ten-day-old ad proves nothing, because everybody tests. An ad still live after 30 days has survived a month of the advertiser looking at its numbers. Of the first 66 cards on my search, 26 had run for 30 days or more, and once repeats of the same ad are removed, a handful of real long runners are left.
Then look for the second signal: "N ads use this creative and text". That means the advertiser copied the same ad into more ad sets, which is what you do with a winner. Career Pic AI's "dated photo" ad below has run since August 2, and two of its versions that started on September 11 each show 24 ads using the same creative and text.

Some advertisers forget an ad, and some brands run ads they do not expect to pay back. Trust an ad more when the same text shows up in several dated versions or as a large copy count, and when the advertiser has other ads that follow the same frame.
Ask four questions of every ad
Open each long runner, play the video if there is one, and write down four answers:
- Hook. What stops the scroll: the first line of text and the first two seconds of the video. Who is it about, the viewer or the product?
- Framework. In what order does the ad tell its story? Problem first, result first, a person talking, a list?
- Call to action. What exactly does it ask for, and what takes the risk away: a price, a free preview, a refund?
- How the product is shown. A screen recording, a before and after, a person using it, a static image?
Cravotta's observation from subscription apps is that most winners follow one frame: hook, value proposition, problem, solution, then a before and after. The before and after is the step people skip, and it is the one that makes the result believable.
The teardown: AI headshot ads
Here are the four questions on five ads from the search, four long runners and one new ad for contrast. Ages are as of October 19, 2026.
| Ad | Running | Hook | Framework | Call to action | Product shown as |
|---|---|---|---|---|---|
| Career Pic AI | 78 days | A dated or casual photo can quietly cost you the callback. | Problem, one-line solution, three objections answered, price | $4.99 one-time, refund on request | 32-second video of the finished headshots on the results page |
| Career Pic AI (LinkedIn) | 38 days, 24 copies | Your LinkedIn photo is the first thing a recruiter sees. | Same frame, new hook | $4.99 one-time, refund if you don't love them | The same results, a different first line |
| Roomvu | 193 days | For Mortgage Brokers who want to look professional and unique. | Name the buyer, show the result | Sign Up | 34-second video that opens on an AI-made portrait |
| Kevin Titus Photo with Evoto AI | 49 days | Removing glasses glare in Photoshop used to be a chore for me. | Creator story: problem, solution, before and after, offer | Free credits and 20% off through the creator's link | 37-second video from the creator |
| Headshot Photos | 17 days | A cheap AI tool can fake the suit. | Attack the cheap option, then the offer | $34 one-time, 40 photos, money-back guarantee | Static image with one finished headshot |
Career Pic AI, 78 days. The hook is a fear the viewer already has: the photo is costing them the callback. One sentence of how ("upload one selfie and get 10 professional headshots"), three checkmarks that answer the objections before anyone asks (no studio and no $500 photographer, full commercial rights, a refund on request), then the price: $4.99 one-time. The video is just the result, a grid of finished headshots scrolling past.
The same advertiser, a second hook. Career Pic AI's LinkedIn version keeps every part of the frame and changes only the first line: "Your LinkedIn photo is the first thing a recruiter sees." That is what a winner looks like from the outside: one frame, several hooks, each one aimed at a different moment.

Roomvu, 193 days. The oldest ad on the search names the buyer in the first three words: "For Mortgage Brokers". Roomvu runs the same ad for real estate agents and for insurance agents, one ad per profession. If your product serves a few clear groups, this is the cheapest hook there is: say their name.

Kevin Titus Photo with Evoto AI, 49 days. This is the user-generated frame done straight: a working photographer, in first person, describes the chore (glasses glare), says what the tool does about it, and hands over an offer through his own link. The ad runs under his name with the brand's next to it, so it reads like a recommendation, not a banner.

Headshot Photos, 17 days. A strong counter-position: "A cheap AI tool can fake the suit. It can't fake the person clients are deciding to trust." Write it down, but do not model yours on it yet. Come back in two weeks. If it is still running, it earned a place in your table.
- The hook is about the viewer: the callback, the recruiter, the mortgage broker.
- One sentence of how, with a number in it: one selfie, 10 headshots.
- The objections are answered in the ad: no studio, a refund, a one-time price.
- The product is shown working. Not a logo, not a feature list: the result.
Turn ten screenshots into one pattern table
Screenshot each long runner's card, the whole card, so the start date and the copy count are in the picture. For video ads, note what happens in the first three seconds, because a screenshot only shows the cover frame. Then hand the pile to a chatbot that reads images:
I'm attaching [N] screenshots of ads from the Meta Ad Library. Every one has run for 30 days or more in my niche: [niche]. Today is [date]. For each ad, fill one row of a table with these columns: - Advertiser - Days running (from "Started running on") - Copies (the number in "N ads use this creative and text", or 1) - Hook: the first line, word for word - Who the hook is about: the viewer, the product or the advertiser - Framework: the order of the parts, using only these labels: hook, problem, solution, proof, before/after, objection, offer, CTA - Call to action and risk reversal (price, trial, refund) - How the product is shown: screen recording, before/after, person talking, static image, other Then, under the table: 1. The three things at least half of the ads do. 2. One thing none of them do. 3. Which ad I should model mine on, and why, in two sentences. Do not guess. If a screenshot cuts off text, write "not visible".
Past ten ads the table stops changing. If your niche has fewer long runners, add the next niche over that sells to the same person.
Write yours on the same frame
Now keep the structure and swap in your facts. Three ads, one frame, three different hooks, so the test in step 7 tells you which first line works.
Here is the pattern table from my teardown: [paste it] My product: [name], [one sentence: what it does] Who pays: [the person] The painful moment they feel the problem: [one sentence] Proof I actually have: [numbers, results, reviews; only real ones] Price and risk reversal: [price, trial, refund] Write 3 ads on the frame of [the ad you picked]. Same order of parts, my facts only, none of their words. For each ad: - primary text, with the hook inside the first 125 characters - a headline under 40 characters - what the first 3 seconds of the video, or the image, must show - the before and after, in one line Give each ad a different hook: one about the pain, one that names the buyer's job, one about the result.
- Rewrite the drafts in your own voice. Keep the numbers real: if you cannot prove "in 2 minutes", do not say it.
- Make the creative show the product working. A 15 to 30 second screen recording of the real result beats a polished logo animation. Every long runner above shows the result.
- Pick the problem before the ad. Cravotta's rule: when the problem really hurts, the ad only has to show the viewer it is about them. If your three hooks feel weak, the problem may be the thing to fix.
An ad that reads like a competitor's makes people think of the competitor, and their copy and creative are not yours to use. Copy the order of the parts, the kind of hook and the way the product is shown. Everything else is yours.
Run it at $10 a day, read it after a week
- One campaign, one ad set, your three ads. Let Meta choose the placements.
- $10 a day for seven days, and no edits for the first few days. Every change restarts Meta's learning, and at this budget you will not leave the learning phase anyway (Meta wants about 50 results a week for that). So read the ads, not the algorithm.
- After seven days, read three numbers per ad: how many people clicked out of those who saw it, what a click cost, and how many clicks turned into a signup or a sale on your page.
- Switch off the hook with the worst click rate, write two new hooks on the same frame, and run another week. When one ad keeps bringing signups at a cost you can afford, put it in more ad sets. That is the "N ads use this creative" you saw in the library.
I run Nick Launches' own Meta ads at about 10 Canadian dollars a day. It is small enough to keep running while you learn, and big enough to show which of three hooks people stop for.
A bigger budget answers the same question faster but not better. Your first week is about which hook works, and three hooks at $10 a day answer that. Spend more once you have an ad that turns clicks into signups.
The whole thing, in order
- Search your buyer's words, sorted by impressions (1)
- List the advertisers that repeat (1)
- Keep the ads live 30+ days, note the copy counts (2)
- Four questions per ad (3, 4)
- Ten screenshots into the pattern table (5)
- Pick one ad to model (5)
- Three ads, one frame, three hooks (6)
- A creative that shows the result (6)
- Real numbers only (6)
- One ad set, $10 a day (7)
- No edits for the first days (7)
- Read click rate, cost per click, signups (7)
- Replace the weakest hook, run again (7)
Launching this week? Ads work better on a page people already trust. Put the product on the weekly board first, it is free and the listing is permanent, and run a site audit on the page your ad will send people to.
FAQ
No. The library at facebook.com/ads/library opens without logging in. Pick a country, choose All ads, type a keyword or an advertiser name, and you see every active ad that matches, with the date it started running.
Thirty days is a good line. Most ads are switched off within a couple of weeks because they do not pay back. The stronger signal is an advertiser copying the same creative into many ads: the library shows it as 'N ads use this creative and text'.
Not for ordinary product ads in the US. The library sorts results by impressions but does not print spend for them. Spend and audience details are published for ads about social issues, elections or politics, and more detail is shown for ads delivered in the EU.
Copy the structure, never the words, the images or the brand. The order of the parts, the kind of hook and the way the product is shown are patterns anyone can use. Their exact copy and creative belong to them, and an ad that looks like theirs sends buyers to them.
Search the words your buyer uses for the problem instead of your category, then look one niche over. Steven Cravotta says he scaled his quit-vaping app by copying the frame of a much bigger quit-drinking app. If there are still no ads, test small: no ads can mean nobody makes paid work there yet.
Sources
- Meta Ad Library, search "ai headshot", United States, active ads, sorted by impressions, read October 19, 2026
- Steven Cravotta's app accelerator emails of October 15 and 17, 2026: the painful problem rule, the four questions and the user-generated frame
- Meta Ads Guide for text lengths, and Meta Business Help Center on the learning phase
Disclaimer: Nick Launches is not affiliated with any advertiser shown. The screenshots are from the public Meta Ad Library on October 19, 2026. Ads start and stop every day, so the dates and counts are one reading, not a ranking.