Soft Power.
Independent fashion label, ROAS stuck at 1.4×, scaling spend was killing margins. We rebuilt the account from the pixel up and took blended ROAS to 4.4× — then scaled spend 4×.
- Client
- Independent fashion label
- Period
- 11 weeks → ongoing
- Channels
- Meta · Google · TikTok
- Spend managed
- £62k → £248k / mo
The problem.
Brand was selling well organically. The minute they pushed ads, ROAS collapsed. Meta blamed iOS 14, the previous agency blamed creative, the founder blamed the previous agency. Real diagnosis: tracking was leaking 38% of conversions (no CAPI, Pixel deduplication broken), creative was made monthly instead of weekly, and every campaign was running Advantage+ Shopping with a single broad audience.
Brief: "Get us to 4× ROAS so we can scale spend without bleeding cash."
Soft Power.
Fig. 01 — Brand site we ship traffic into. Custom-built, sub-1s LCP.
What we did.
The fix wasn't one thing. It was seven boring things done right, in the right order, before touching budget.
- CAPI + server-side · Meta Conversion API behind a Cloudflare worker, dedup with event_id, EMQ score 8.4+
- Account restructure · 3 prospecting CBOs, 1 retargeting ABO, killed Advantage+ until creative was ready
- Creative cadence · 15 statics + 5 UGC + 5 motion variants per week, hooks tested ruthlessly
- Google as harvest · brand + non-brand search, PMax fed clean signal, no shopping spray
- TikTok as discovery · Spark Ads only, no studio-shot content, native creators
- Landing pages · 3 dedicated lander variants per top-spending creative, AB tested weekly
- Attribution sanity · weekly post-purchase survey + last-7d MMM, platform metrics are the floor, not the truth
The channel mix.
By month three, the budget split stabilised around a 65 / 25 / 10 mix. Each channel pulls a specific weight in the funnel: Meta does discovery and most of the conversion, Google harvests intent (mostly brand, plus a tight non-brand set), TikTok feeds the top of funnel.
Execution.
The account is now run on a weekly cadence. Monday: creative drop. Tuesday: kill underperformers. Wednesday: review attribution vs platform. Thursday: scale winners. Friday: report. We've been running it for nine months now without a single panic call.
- Cadence · weekly creative refresh, monthly attribution audit, quarterly MMM
- Reporting · Looker dashboard, refreshed every 4 hours, founder-readable
- Creative ops · UGC briefs sent every Friday, footage in Monday, edits live Tuesday
"They didn't make us prettier ads. They fixed our pixel, killed 70% of our campaigns, and gave us back a P&L we could actually plan against. The first month was uncomfortable. The next eight were the best of the brand."Founder & CEO — Independent fashion label