A few days ago I posted this.
40,000+ impressions. 53 comments. (Original post link here)
I love dropping a hot take about Meta on LinkedIn and watching it resonate (or not) with people.
But two comments made me want to write this.
Not because they disagreed with me. Because they were right. And the nuance is REALLY valuable here.
First, credit where it’s due.
Dara Denney is one of the best performance creative consultants in DTC. Full stop. The way she connects creative decisions to data is some of the sharpest thinking in the space. Follow her everywhere (especially YouTube).
Barry Hott coined “Make Ugly Ads” and changed how an entire generation of DTC brands thinks about creative. He’s managed close to a billion in ad spend. AG1. Harry’s. True Classic. When Barry has a take on ad performance, it matters.
(Yes, I want to do a podcast with both of them)
They both pushed back on my post in different ways.
Here’s what they said. And my take.
The nuance.
My original take: never analyze losing ads in isolation. The math doesn’t work. You’ll almost always learn the wrong lesson from a single loser.
Still true.
Dara said something I skipped. She looks at variations and figures out why some scaled while others didn’t. That way, she’s building the muscle to understand the scaling mechanism relative to the winning ad, which can be a very valuable way to build up learnings.
Additionally she catches things like bad text overlay and thinks it’s worth another pressure test. That also makes a lot of sense.
Barry: there’s a ton to learn from changing a losing ad and making it a winner.
If you take an ad that didn’t win and you make it into a winner, you can compare direct metrics that do have high significance, even at low spends, such as the hook rate or the hold rate.
Both right. Here’s the distinction I think you should take away.
There’s a massive difference between analyzing a loser and running a test with a loser as your baseline.
Analyzing a loser: “this failed, I think it was the hook, lets not do that again.” You’re reverse-engineering noise and cutting off a potentially valuable future idea.
Using a loser as a test baseline: “I have a hypothesis. I’m going to make one significant change and run a clean A/B.” You’re generating new data.
When Dara catches an execution problem across multiple ads, she’s acting on fixing a process issue not trying to cement a new ‘rule’.
The updated rule: don’t take a definitive learning from a single losing ad. But use it as a starting point for a real test? Absolutely.
Just don’t make fixing losers your primary creative activity. The highest-leverage work is always on your winners. Here’s why.
Signal vs. noise. The mental model behind everything.
One question drives every ad decision I make.
Do I have enough signal to learn something, or am I looking at noise?
Here’s how I think about it:
Individual winners = signal. Enough spend behind it. The algorithm actually tested it. The data means something.
Individual losers = noise. Low spend. Barely tested. A hundred possible reasons it failed. You can’t build a reliable hypothesis from it.
(Caveat is that hook rates are normally reliable at low spend given high impressions still)
Aggregate losers = signal. A pattern across many losing ads is statistically meaningful. Act on the pattern. Not on any single ad.
This governs everything below.
How to actually analyze a winning ad.
When an ad is spending well and converting, dig in.
Here’s what I’m extracting from every winner, and why each one matters.
The hook. First 3 seconds. Problem? Statement? Visual pattern interrupt? The hook is the highest-leverage element in video. Understand why it works and you can port it across ten new ads.
The angle. The core idea underneath the hook. Pain point. Transformation. Specific use case. Objection handling. Two ads can have totally different hooks but the same angle. This is the strategic layer.
The format. UGC, talking head, text-on-screen, product demo, before/after. Format matters because Andromeda now uses creative diversity as a targeting signal. More on this later.
The persona. Who’s delivering the message? Persona shapes who organically sees and resonates with the ad, not just who you’re technically targeting.
The product presentation. Featured early or late? Solving the problem on screen? Front and center or incidental? Matters more in some categories than others.
The selling point. Speed, cost, ease of use, transformation, social proof. This tells you what your customer actually cares about, not what you assume they care about.
Articulate all six for a winning ad. You now have the blueprint for your next ten.
The branching framework.
Find a winner. Don’t start from scratch. Branch off that root.
The six variables above are the variables that I have found to be particularly helpful.
What you are looking for in YOUR variables is two fold. First, variables that cause Andromeda to see ads as genuinely different from each other. Change one of them meaningfully and you’ve created a new ad the algorithm tests independently, that may reach a different audience, and that teaches you something concrete. Second, variables that cause a large difference in performance when you change them (that means you are testing important things).
In practice:
→ Same angle, new format. UGC testimonial crushing it? Test a static with the same angle. Or text-on-screen.
→ Same angle, new persona. 35-year-old mom working? Test a 28-year-old professional. A skeptic who converted.
→ Same angle, new hook. Three different ways to open the same idea.
→ Same angle, new selling point. Performance claim landing? Try leading with social proof. Or simplicity.
→ Same angle, new product presentation. Show it earlier. Show more of it. Different context.
→ Same format, completely new angle. Format works. Now stress-test a different core message.
Only branch on variables that drive meaningful performance differences. Cosmetic changes don’t count and won’t teach you anything. (For most accounts, makeup or furniture this rule will likely not apply, know YOUR variables).
Here’s how this actually plays out in practice across our accounts.
With UGC, when we find a winning ad we’ll brief it two ways. Some creators get very direct instructions: recreate the core structure of what’s working. Others get a loose brief: take inspiration from this, but take it in whatever direction feels most authentic to you. That second group consistently surprises us. We get net new winners that look completely different from the original. Different hook, different energy, different visual style. The only thing they share with the source ad is the angle that we knew resonated. If we’d just handed everyone the direct brief, we’d have left those winners on the table.
With statics, we run a similar split. Take a winning static and create three similar variations: change the headline and CTA, keep the visual style mostly intact. Then create three very different variations: only the core USP stays the same, everything else changes. We find winners across both batches, and often you wouldn’t know any of them came from the same original if you looked at them side by side. We call them new concepts. But they’re still branching. The learning from the original is embedded in all of them.
Why does this compound better than starting from scratch every time?
You’re isolating variables. Every branch teaches you something specific. Starting from scratch gives you diversity but no learning. Branching gives you both.
How to actually use the ad library.
Most people use it wrong.
The most common mistake: Trying to perfectly replicate a competitor’s “top ad”. By the time you see a competitor’s ad in the library, it’s already in market. You’re already behind. Plus, that ad is unique to them, if it’s their top its probably because something about it specifically resonates with their offering/credibility/whatever.
What you’re actually looking for: format, structure, and strategies.
And don’t just look at competitors.
How are the best-performing brands in adjacent categories structuring their ads?
What formats are they using?
That’s something you can translate. The specific selling points are theirs most of the time. The format is up for grabs.
Three things that changed how I use it:
Sort by impressions. Meta recently added high-to-low impression sorting. Deep impressions mean the ad either ran for a long time (still working) or scaled hard (it worked). Either way, worth your attention.
(This is assuming they aren’t intentionally hiding with a "high impression audience network” strategy on their worst ads)
Look for longevity, not novelty. The best ads aren’t the newest ones. They’re the ones running for 4-6 months in a competitive category. That’s durability. Study the structure.
Look outside your category. This one is underrated and most people miss it entirely.
One of the ad libraries I look at often is Ritual. They are not a competitor to any of our clients. But they spend heavily, they grow consistently, and they care about how their ads are built. When we see a format performing at their scale, we know it’s been pressure-tested across millions of impressions. We take that format and translate it into whatever category we’re actually in.
If you’re selling dog supplements, you can learn from Ritual. If you’re selling toothpaste, you can learn from Ritual. If you’re in any health-adjacent DTC category, you can learn from Ritual.
The point isn’t to copy Ritual though, its simply that you don’t need to constrain yourself to direct competitors. You need to find brands that are growing, spending intentionally, and putting real thought into their creative. Study those. Then translate.
One more thing worth flagging.
AI is making ad production faster than ever. Easy-to-duplicate formats get saturated almost immediately. The format everyone is copying this month is tired by next month.
This is an argument for bigger creative swings. Ads that require a real point of view or genuine production effort have more runway. They’re harder to commoditize.
Don’t confuse effort with expensive, though. Expensive cameras do not mean strong ads. A great team, really trying to speak to a specific audience, and putting effort into that is what I mean.
When an angle is truly dead.
One exception to the “don’t analyze individual losers” rule.
If you’ve tested an angle across multiple formats, personas, and hooks and it keeps underperforming, that’s not noise anymore. That’s a pattern. Cut the angle.
My threshold: 7+ meaningful tests across different variables. One failure isn’t signal. But seven is a strong pattern.
If you’ve cycled through the branching framework on a given angle and it keeps losing, you have aggregate signal. That angle doesn’t resonate. Document it and move on.
This is also where Dara’s point comes back in. If you’re seeing a consistent execution problem across multiple ads, that’s aggregate signal. Fix the specific problem. Run a clean A vs. B. Let the data confirm it.
The goal isn’t the perfect ad.
Here’s the trap smart media buyers fall into.
You run enough tests. You start to think you can find the perfect ad. The perfect length. The perfect persona. The perfect format. You converge on one answer.
Then you only run that ad. And you’ve built a fragile account.
Three reasons this fails.
First, Andromeda tracks creative similarity across your entire account. If your ads all look the same, the system sees them as redundant and your CPMs climb. Creative diversity is now a structural requirement for account health, not just good creative strategy.
Second, you’re only speaking to one customer. Your “perfect” ad resonates with one persona at one stage of awareness. Your actual customer pool is full of people at different stages, with different objections, responding to different things.
Third, you stop learning. The compounding value of a good creative testing system isn’t any single insight. It’s the accumulating understanding of what drives purchase for your specific customer. That’s a durable asset. A single “perfect” ad is not.
So the goal isn’t the perfect ad.
The goal is a library of winning ads that speak to different people, in different formats, across different angles. Diverse enough that Andromeda has real creative choices. Built from your winners so every new test compounds what you already know.
Learn from individual wins. Learn from aggregate losses. Spend your energy on what’s already working.
That’s the whole system.
Do this this week.
$10k-$50k/month:
Pull your top 3 ads. For each one, write down all 6 variables: hook, angle, format, persona, product presentation, selling point.
If you can’t articulate all 6, dig deeper, this is important.
Plan your next 3 creative tests as branches off those winners. Change exactly one variable per test.
$50k-$250k/month:
Open the Meta Ad Library. Pick 3 DTC brands outside your direct category that are spending heavily and growing. Sort by impressions. Look at the top 5 ads for each. Write down only the formats and hook structures. Ignore the messaging. Ask yourself which formats could translate into your category.
Tag every ad you launch across all 6 variables before it goes live. In 90 days you’ll see which variables are driving the biggest swings.
$250k+/month:
Run a creative diversity audit. Group all active ads by format and by angle. If more than 40% of your active spend is in a single format or angle, you have a fragility problem. Your CPMs will confirm it.
Establish an angle retirement process. 7+ tests, consistent underperformance, it gets retired. Build the list. Reference it before greenlighting new briefs.
More signal. Less noise. More learning per dollar spent.
Only game worth playing.
I write about what’s actually working every week. Share it or tag me on LinkedIn if this was useful. Best compliment you can give.











Thanks for the information. Very insightful.