Most people think great campaigns come from better optimization.
They don't. Or rather, optimization can take a campaign from good to better. It almost never takes a campaign from broken to working.
We learned this the hard way, by manually building, watching, breaking, and rebuilding more than a hundred campaigns over the last year. Different industries, different budgets, different products. The teams who launched with strong fundamentals won. The teams who launched with messy foundations and tried to "optimize their way there" lost. Almost without exception.
Here's what we noticed.
The setup decides the outcome
Look at any account that's struggling. Open the campaign list. Read the campaign names.
If you can't tell what each campaign is for in three seconds, the account has a problem that no bid strategy will fix.
It sounds petty. It isn't. Naming is downstream of clarity. When campaigns are vaguely named, it's usually because the people building them didn't have a sharp answer to "what is this campaign trying to do, for whom, and why is it different from the next one?"
Most accounts we've audited have between 30 and 50% of their campaigns in this category: overlapping intent, fuzzy themes, three campaigns that could honestly be one. The optimizer doesn't know which version of "your audience" is the real one. So it spreads spend, hedges, and learns slowly.
A high-quality account looks structurally calm
Three things keep showing up in the accounts that perform:
- Clear segmentation. Campaigns map to actual user intents, not internal categories. "Coffee subscriptions, returning visitor, Search" is a campaign. "Brand stuff" is not.
- Tight message-to-intent alignment. What the user typed (or signaled) lines up with what the ad says, and lines up with where they land. Three steps, one story. Most accounts break that chain at step two.
- Fewer assumptions in setup. Audiences, locations, schedules, exclusions: each one is a guess until proven. The good accounts make fewer of those guesses, and the ones they do make, they revisit.
None of this is glamorous. None of it is what shows up in "10 ad hacks for 2025" posts. But it's what we keep finding behind the campaigns that quietly work month after month.
The optimizer is downstream
This is the part that took us the longest to internalize. Every "optimization" decision the platform makes is downstream of how you set the campaign up.
Bid strategy can't compensate for blurry intent. Asset rotation can't compensate for generic copy. Performance Max can't compensate for a bad offer. The optimizer is a function of the inputs you hand it. Strong inputs, useful outputs. Weak inputs, expensive learning.
Most teams skip past this because the platform UI makes the post-launch knobs feel like the high-leverage moves. They're not. They're just high-frequency. There are more of them, you touch them more often, so they fill up your day. But the magnitude of impact per touch is small compared to the setup-stage decisions you only make once.
A worked example
Take a real-shaped scenario. A DTC brand launches a Performance Max campaign for "premium kitchenware". Targeting: broad. Asset library: stock photography from the website plus generic copy ("upgrade your kitchen", "shop premium quality"). Budget: $300/day.
Three weeks in, blended ROAS is 1.6x. The team's instinct is to "optimize." They tweak bidding, switch from tROAS to tCPA, then back. They add audience signals. They pause the worst-performing assets. ROAS moves to 1.8x. Then drifts back.
What's actually wrong: the campaign is selling "premium kitchenware" to anyone who's vaguely interested in cooking. There's no specific buyer profile, no specific use case, no clear competitor displacement. The optimizer is doing exactly what it should with the inputs given. The inputs are the problem.
A version-two of this campaign with three changes (tightened to "first home kitchen", new asset set built around moving-in scenarios, copy that names the friction of starting from zero) lands at 3.2x ROAS in week two. Same product. Same platform. Same optimizer. Different setup.
That's the gap setup decides.
What we look for now
If we're auditing an account in ten minutes, we look at three things in this order:
- Do the campaigns answer "what, for whom, why now"?
- Does the message in the ad match what someone clicking would expect to see?
- Does the account have a small number of well-instrumented campaigns, or a sprawl of overlapping ones?
If the answer to all three is yes, the account is probably fine and we're looking for refinements. If the answer to any of them is no, no amount of optimization is going to fix it. Pause. Restructure. Ship clean. Then optimize.
Good optimization can improve a strong foundation. It rarely rescues a weak one.
That's the whole thing.
KaiNet · Campaign patterns
