How We Took a Brand From $56k to $250k/Month in 90 Days: The Full Structure Breakdown

Flat green line. Three months of it.
That was the Shopify sales chart on the screen the morning we took this brand on. No filters, just the default revenue view, and from June through August it ran dead level around $56k a month like a heart monitor on someone having a very boring day. The founder had been pouring more into ads to break the line and it wouldn't move. Spend up, revenue flat. You know the feeling.
Ninety days later that same chart climbed every single day. Net sales roughly $250k for the month, spend up around 200%, and the metric that actually matters, return on ad spend, sat almost exactly where it started. We didn't trade margin for growth. We held the return and quadrupled the volume.
I want to walk you through how, because the thing that moved this account wasn't a clever hook or a secret audience. It was structure. The way the campaigns were arranged so that good creative could find its feet, prove itself, and then get fed. Here's the full breakdown, in the order it actually happened.
What we inherited: the diagnosis
Before any rebuild, the autopsy. The old account was the usual mess I see on brands stuck at a ceiling.
Everything lived in one place. New creative got dumped into the same ad sets as the old, which reset the learning every single time they launched. Acquisition budget was quietly being spent on people who'd already bought, because Meta loves serving your existing customers - they convert easily and they flatter the numbers. And there was no way to tell a genuine winner from a fluke, so nothing ever got scaled with any confidence.
The account wasn't losing money. It just had no machinery for turning a good ad into more spend without breaking everything around it. That's the difference between a brand that's stuck and a brand that's scaling: not the creative, the plumbing.
So we started from a blank account and rebuilt it in phases. I'll give you the rough numbers at each one.
Phase one, weeks 1-3: the clean acquisition core
The first campaign we built is the one that carries the whole account. A prospecting campaign, campaign budget optimisation on, and it holds roughly 80% of total spend. This is the engine. Everything else is support.
We started it at about $1,800 a day in spend, which matched where the old account was sitting, so we weren't shocking anything.
Inside it, the only audiences are broad. No interests yet. The settings that actually matter, the ones people fumble: conversion location website, performance goal maximise number of conversions, conversion event purchase. Not add to cart, not initiate checkout. Purchase. Optimise for the wrong event and you've told Meta to chase the wrong people with real money.
Then the one move that did the most work in these first weeks: we excluded existing customers from the acquisition campaign entirely. Site visitors over 30 days, add-to-carts over 90, purchasers over 180, plus the all-time list out of Klaviyo. All carved out. Now this campaign could only reach genuinely new people, which meant for the first time we knew the acquisition number was actually acquisition, not Meta re-selling us the customers we already owned.
We organised the creative into what we call packs. Every batch of new ads goes into a brand new ad set - pack one, pack two, pack three, stacking over time. A pack does nothing fancy. It just keeps each new round of creative from disturbing the round before it.
The result by the end of week three wasn't fireworks. Spend held around $1,800 a day, the return steadied at roughly 1.9, and the account stopped leaking budget onto existing buyers. We'd cleaned the foundation. Net sales for that first month landed around $90k - already up from $56k, purely from spending the same money on the right people.
Phase two, weeks 4-6: the graduation engine
Here's where the structure starts to compound, and it's the part most founders never build.
Once the packs had run for a couple of weeks, some ads had clearly pulled ahead. The job was to find the real winners and give them more room. We sort every ad by spend and return, and we look for the ones with both: real money behind them and a return above target. Not the ad that spent $40 at a 12x - that's noise, it hasn't proven anything. The ones spending serious budget and holding a strong number.
To check whether Meta actually drove those sales, we switch the reporting to incremental attribution. It only credits Meta for purchases it genuinely caused - someone who saw or clicked the ad - rather than hoovering up every sale in a 7-day window. One ad in this account had spent ~$7,500 at a 2.6 return but only a 2.3 on an incremental basis. Another had spent ~$5,500 at a 3.6, holding a 3.0 incrementally. On the surface they looked close. Incrementally, the second one was carrying the account and the first was coasting on credit it hadn't earned.
So we built a second campaign - the scaling campaign - and hard-duplicated the genuine winners into it. Its only job is to let us pour budget onto proven ads without disturbing the testing happening back in prospecting. We started it at about 20% of the prospecting budget, roughly $360 a day, and let it climb as the winners kept holding.
This is the graduation mechanism, and it's the actual engine of the whole thing. Test broadly in prospecting, identify the genuine winners with incremental data, graduate them into a campaign built to scale them. By the end of week six we'd pushed total daily spend past $3,000 and the blended return was still sitting near 1.9. The line on the Shopify chart had visibly started to climb.
Phase three, weeks 7-9: forcing the test and breaking the ceiling
Two problems show up the moment you start scaling, and both got solved in this stretch.
The first: as budgets climb, Meta loves to dump almost everything on one ad set and starve your new packs of any chance to prove themselves. So when we launched fresh packs now, we'd go into the ad set's budget settings, switch from percentage to a dollar value, and set a daily minimum of about one times our target cost per acquisition - here that was roughly $90. Then we'd check it after four to seven days. If it spent well above the floor, great, we'd lift the limit and let it run. If it sat exactly on the $90 minimum every day, that told us the ads weren't scalable and we'd pull the floor and move on. Either way we forced a fair test instead of letting one fat ad set hog everything.
The second problem is subtler and it's the real reason brands plateau on broad. Over time Meta narrows your broad audience down to the cohort it's most confident about and quietly stops showing your ads to perfectly good people just outside it. Your reach stalls, frequency creeps up, and you're paying more to show the same ads to the same faces. Broad isn't actually targeting 180 million people - it's targeting the slice Meta has decided is "you", and that slice gets smaller as you push.
The fix is interests, but not the obvious way. We added interest ad sets into prospecting, and the trick is to go one step removed from the brand. If you sold premium running shoes, your gut says target other running brands - but Meta is already hitting those, that's the slice it knows. Instead you target something on the outskirts: a luxury 4WD marque, say, because people who spend big on one premium thing spend big on others. Suddenly you're reaching 10-12 million people Meta wasn't considering, and over time it learns that audience is valuable and quietly widens your broad packs to match.
And the rule people get wrong: into each interest you put your proven winning creative, never fresh ads. Hold the creative constant so the audience is the only variable. Otherwise you'll never know whether the interest worked or the ad did.
By the end of week nine, daily spend was north of $5,500, we'd stacked a handful of interests on top of the broad packs, and the broad audiences themselves had started reaching new pockets. Return held in the high 1.8s to 1.9. Net sales for that month came in around $190k.
Phase four: the lanes that made it safe
The last piece isn't a growth lever, it's a discipline, and it's what let us scale without the wheels coming off.
By this point the account had three clean lanes that never overlapped. Prospecting and scaling chasing brand-new people. A retargeting campaign working engaged browsers - site visitors 30 days, add-to-carts 90 - locked down tight. And a retention campaign talking to past buyers, split into recent purchasers and everyone older. Exclusions enforce the whole thing, so acquisition can only ever reach new people.
That separation is what made scaling feel safe instead of terrifying. When we pushed the acquisition campaigns, we knew for a fact we were buying new customers, not re-paying to reach ones we already had. You grow a business by acquiring new people and keeping them with a good product, not by showing your existing buyers the same ad forty times.
Ninety days in, the picture: spend up roughly 200% from where we started, net sales around $250k for the month against $56k at the outset, and a return that barely moved off 1.9 the whole way up. Site traffic up, conversion rate actually up too, because cleaner targeting meant better-matched visitors. We didn't buy growth by bleeding margin. We built a structure that let good creative compound.
Where I'd have you start
If you've got a flat line of your own, don't reach for a new audience or a new hook first. Look at the plumbing.
Ask the blunt questions. Is your acquisition campaign actually excluding everyone who's already bought, or is Meta quietly spending your new-customer budget on old ones? When you launch fresh creative, does it disturb the ads already working, or sit cleanly in its own pack? Can you point to your genuine winners with incremental data, or are you guessing? And have you got a deliberate way to force budget onto those winners, or do you just hope?
That's the whole sequence that took this account from flat to $250k, and most of it is diagnosis before it's building. If you'd rather have someone map your account against this and show you exactly which rung is leaking, that's precisely what a Signal/Noise Audit lays out - the structure, the unit economics, the creative that's actually carrying you, and the few highest-impact moves. Either way, go open your own dashboard first: where's your line flat, and is it the creative, or is it the plumbing underneath it?
.webp)





