From 2 videos that ever worked to 160+ ads in four months.
A fast-growing app needed ads that sell. We figured out what to say, who should say it and how to film it so it doesn't look like an ad — then let real results pick the winners.








People had seen the same ads over and over.
The client is an AI app that turns a few selfies into professional headshots. It spends a large monthly budget on Meta ads and wanted to roughly double it. The ads couldn't keep up: almost all of them were still images, and only one or two videos had ever worked.
For marketersAccount ran on fatigued statics; top creatives at frequency ~2; no creative diversity, no read on why winners won.
- Mostly static ads, all of them fatigued
- Only 1–2 videos had ever worked
- Top ads seen twice by the same people
- No way to tell why a winner won
- Find video winners across audiences
- Learn what message, format and face sell
- Keep a pipeline of fresh hypotheses
- Hand over data the team can act on
We don't guess. We read what customers already wrote.
Before writing a line, we study why people buy and what stops them. Their own words become the script.
For marketersAbout half of the first 70 concepts trace to a specific data point: buyer segments, review themes, objection clusters from ad comments.
What buyers already say
Buyer surveys, reviews, comments under the ads, past ad results and what competitors run.
Why they buy, and what stops them
Who the buyer is, where they use the product, and the three doubts that kill the sale.
Scripts in their words
Every concept points back to something a real customer said or did. No brainstorm guesses.

Real starting points sell the result. We asked creators for their actual car, couch and bathroom selfies and put them next to the output. "Left was taken in a car" became a whole series.

People don't fear looking worse. They fear looking different. So the message became "same person, same face, just professionally lit" — never "a new you".

Viewers should recognise themselves in two seconds. Scripts name real jobs — realtor, sales lead, founder — and show the headshot where it lives: a LinkedIn profile, a listing site.
Nobody can predict the winner. So we test 70 ideas and let sales decide.
Each video checks one idea: a different reason to buy, a different style or a different person. After two weeks you know which ones bring customers.
For marketers8 angles × 6 formats × 2 creators, 15 hypotheses, gender-swapped scripts to isolate the creator effect, 3 awareness levels, Angle_Format_Creator_Hook naming.
See the 8 reasons to buy we tested
| Reason to buy | The idea | Example hook from our scripts | Built from |
|---|---|---|---|
| Pain | The cost of an old photo | "I've been putting this off for two years." | Buyers who avoid photoshoots |
| Before / after | Show, don't tell | "How I turned my worst photo into my best LinkedIn headshot." | Real before photos from customers |
| Speed | Done before your coffee cools | "15 minutes. From opening the site to a new LinkedIn photo." | "It was so fast" in customer words |
| Occasion | A deadline you can't move | "I had 48 hours before the interview…" | Job seekers among buyers |
| Social proof | Results people can see | "This one LinkedIn change increased profile views in 2 weeks." | Word of mouth among buyers |
| Aspiration | Look like who you are now | "POV: your LinkedIn finally looks like someone they'd want to hire." | Where buyers use the photo |
| Skeptic | Answer the doubt head-on | "Same person. Same face. Just professionally lit." | "Will they recognize me?" |
| Career stats | Research-backed urgency | "Why do less qualified people get more opportunities?" | Published first-impression studies |
Because ads get skipped. We copy what people watch for fun — and hide the proof inside.
An ad that looks like an ad gets skipped. So every format comes from organic TikTok and Reels — question stickers, trend memes, street-style signs, a FaceTime call — and almost every one carries the proof: the selfie next to the headshot.
For marketersNative-first formats (UGC talking head, POV, VO + B-roll, trend memes, chat/FaceTime UI) with before/after built in; every video delivered in 9:16 and 4:5.

Answering a follower
Looks like a creator replying to a question, not a brand selling.

POV moment
The viewer steps into the scene: checking LinkedIn before an interview.

Left vs right
Real selfie on the left, generated headshot on the right. No words needed.

Worst to best
Our best video of batch 1: real bad photos, then the result.

Two profiles
Same profile, same stats, only the photo changed.

The research angle
Studies on screen for viewers who need a reason, not a feeling.

Ranking meme
Selfie, phone portrait, AI headshot. The last one wins on its own.

True or false
A paper sign stops the scroll and makes people guess.

Written hook
One bold fact on a sign, read in under a second.

Reaction, then reveal
Seven seconds of genuine surprise, then the phone flips to the site.

Calling April me
One actress, two looks: the burnt-out job seeker and the one who got the offer.

Texting a friend
"Babe, you actually got into Google! How?" — the ad is a voice-note thread.
Native first
Start from a format the platform already rewards: stickers, POV, memes, chats.
Proof inside
A before/after or a real profile in every video, because the transformation is the product.
Real people, real rooms
Creators shoot at home with their own old photos. Nothing looks staged or stock.
Every part of the screen has one job.
The overlays are designed in-house: same caption style, same before/after rings, the creator's real name on every profile. Viewers learn the visual language and read each frame in a second.
1 2 3 4 5 - Hook in the top third. A native question sticker, read before the face.
- Face in the centre, eye-line to camera, a real room behind.
- One idea per caption, white boxes like organic posts.
- Proof: before → after avatars in red and green rings, real name and job title.
- Soft CTA in the caption, never a banner.
1 2 3 4 5 - "Before" profile on top — the old photo in a real LinkedIn layout.
- Creator points at the change, so the eye follows her hand.
- Green highlight on the outcome: "increased profile views in 2 weeks".
- "After" profile below, same name, same bio, only the photo differs.
- Bottom 20% left clear for the platform's buttons; key text stays inside the 4:5 crop.
A lot. The same words from the wrong person cost almost 2× more per customer.
We pick people for how they sound, not how many followers they have — and we tested the same scripts with both creators to prove it.
For marketersCreator-angle fit: weighted CPA per angle by creator; the same pain script ran at 0.45X with one creator and 0.85X with the other.

Chris
Sounds like a friend calling you out.
- Pain: "I've been putting it off for 2 years"
- Deadlines: "Interview in 2 days"
- Recruiter fear

Kaylee
Makes it feel easy and a little fun.
- Speed: "15 minutes"
- Before / after transformations
- Aspiration and results
X = the account’s average cost per sale. Kaylee’s before/after average is pulled up by one overfunded video; her best one ran at 0.55X.
Short, personal, in the customer's own words.
This product is bought on impulse by busy professionals. So scripts hit a feeling in the first second, prove it with a real photo, and finish in under 20 seconds.
- "Interview in 2 days. No headshot." 0.4X
- "Recruiters notice your photo first." 0.45X
- "From my worst selfies to my best headshot." 0.55X
- "My LinkedIn views tripled." 0.65X
- "Recruiters judge you in 100 ms." 0 sales
- "Your career is not a coincidence." 3.9X
- "Does it actually look like you?" 1.2X
- Anything longer than 20 s 1.25X
The pattern: personal and specific beats statistics and lectures. "You've been putting this off" makes people feel seen; "studies show" makes them scroll.
Every video gets a verdict: do more fix stop.
After each round we read the sales data for every video and decide what to make next. This is part of the real results table.
For marketersScale / iterate / kill per creative with next step; weekly marginal CPA, frequency and hold-rate checks; budget follows CPA, not volume.
| Video | Message · style · person | Cost per sale | Verdict |
|---|---|---|---|
| WorstToBest | Before/after · voiceover · Kaylee | 0.55X | Do more |
| RecruitersNotice | Pain · talking head · Chris | 0.45X | Do more |
| AllUpdated15Min | Speed · voiceover · Kaylee | 0.65X | Do more |
| PuttingOff2Yrs | Pain · talking head · Kaylee | 0.75X | Fix |
| OldVsNewLinkedIn | Before/after · talking head · Kaylee | 1.05X · high volume | Don't add budget |
| CareerNotCoincidence | Career stats · voiceover · Chris | 3.9X | Stop |
Winner = brought customers at 0.7X or less, i.e. 30% cheaper than the account average. One in three videos the client launched. The rest showed what not to make again.
Voice-over beat talking to camera
0.7X vs 0.95X per customer — even though talking-to-camera got twice the budget.
Short wins
Under 20 seconds: 0.85X per customer. Longer: 1.25X. New rule: nothing over 20 seconds.
Showing the change beats talking about LinkedIn
0.55X vs 1X per customer. Round 2 focused on before/after stories.
Ads that bring customers cheaper than the rest of the account.
Measured on the real ad account, where several agencies and in-house teams compete for the same budget. X = the account’s average cost per customer.
Keep what sells, add new faces and new styles.
Round 2: five creators, ten new trend formats, ~63 videos. Every script went to the person who sells that message best.






You don't need to know ads. You need a team that tests them.
Bring your product. We bring the research, the scripts, the creators, the native formats and the numbers — and tell you what to make next.
Your reviews, comments and ad history.
50–70 hypotheses you approve.
Hooks in variants, faces matched to messages.
Native formats, before/after inside, 9:16 + 4:5.
Scale, iterate, kill — and the next batch.