A Shopify supplement brand came to us running Meta ads at 1.8 ROAS. Their break-even was 2.4 — calculated against their actual COGS, fulfillment, and platform fees, not just the product margin. Every month they ran paid ads, they lost money on paid customers. They'd been at it for 6 months, assuming the algorithm would eventually find efficiency. It hadn't. Forty-five days after we started: 4.2 ROAS, stable for the following 3 weeks. The account structure didn't change. Three specific things did.
The audit that found the real problem (it wasn't creative)
The assumption going in was that the creative was failing — they'd been told that by two previous consultants. The hook wasn't stopping scroll, the product wasn't being shown correctly, the UGC was too polished.
The audit found something different. We pulled Shopify UTM data for the last 60 days and built a session-by-session conversion breakdown. Two findings:
- Landing page CVR from paid social: 1.4%. Not 2.5%, not the "okay" range. 1.4% — which meant 98.6% of people who clicked the ad left without buying. At their CTR of 3.1%, they were paying for a lot of traffic to leave immediately.
- Frequency on their two top creatives: 8.7 and 9.2 on warm prospecting audiences (Lookalike 1-3%). They'd been running the same two creatives since launch. The algorithm was spending because historical CTR was strong. The audience had already decided.
The creative wasn't the primary problem. A 1.4% CVR landing page and a frequency-fatigued creative library were. No amount of new creative fixes a page that converts at 1.4%. New creative might bring more people to that page — but more people to a broken funnel is just more waste.
Change 1: Landing page offer clarity
The landing page headline was "[Brand Name] — Premium Sleep Supplements." The primary Meta ad ran the hook: "Fall asleep in under 20 minutes — guaranteed." These two statements aren't in the same conversation. The buyer who clicked because of a 20-minute sleep promise landed on a generic supplement page. The brand didn't appear to know what the ad had said.
Two changes made in 48 hours:
Headline replaced: "Fall Asleep in Under 20 Minutes — Guaranteed for 30 Days" — matching the ad's exact promise.
Review count moved above fold: The page had 2,200 reviews hidden below the product description. Pulled them up: "4.8 stars · 2,214 reviews" directly under the headline.
CVR moved from 1.4% to 2.7% in 12 days. Same traffic, same ads. The page was now continuing the conversation the ad had started instead of starting a different one.
The above-the-fold section is almost always the highest-leverage change on any Shopify landing page. Most brands don't touch it because it feels like "the page is fine." The page is almost never fine.
Change 2: Hook restructure on top-spend creative
With CVR improved, we turned to the creative. The top-spending ad opened with the brand name and product shot. Average thumb-stop rate: 19.4%. For reference, a thumb-stop rate below 25% on cold traffic means the hook isn't earning attention.
Worked with the creator to re-record the opening 3 seconds without changing the rest of the ad. New opening: close-up of someone staring at the ceiling at 1am, phone on their chest, clearly not sleeping. No words. No brand. Three seconds of a problem the target buyer recognises. Then the voiceover: "I tried everything for two years."
New thumb-stop rate: 34.2%. Rest of the ad unchanged. The creative wasn't bad — the first 3 seconds were failing, and those 3 seconds determine whether anything else gets seen. See how hooks work in the first 2 seconds for the pattern behind this change.
Frequency on the existing creative was already above 8. Paused it entirely. New version launched cold into a refreshed Lookalike 1-5% audience.
Change 3: Campaign consolidation
Before the engagement: 9 active campaigns, 31 ad sets. Mix of CBO and ABO structures, various audience sizes, several campaigns that had been running since launch without a purchase event in 14+ days.
After the account audit: 4 campaigns paused (zero purchases in 30 days, combined $2,800/month in spend). 3 additional ad sets paused for high CPA (above 2× target). Budget consolidated from 9 campaigns to 2:
- Prospecting: $280/day, Lookalike 1-5%, new creative
- Retargeting: $120/day, 30-day site visitors, separate creative angle
Meta's algorithm works better with concentrated signal. 31 ad sets splitting $400/day gives each ad set approximately $13/day — not enough to generate learning events. Consolidating to 2 campaigns gave Meta enough daily spend per campaign to find patterns.
The result — and what held it
Week 3: 3.6 ROAS. Profitable for the first time. Week 6: 4.2 ROAS, stable. Week 9: 4.0 ROAS (minor creative refresh needed — frequency rebuilding on new asset).
What held it: landing page CVR stayed above 3.1%, maintained by watching the Shopify UTM data weekly. Creative rotation plan established — two creatives minimum in testing at all times, so when primary fatigues, there's a proven replacement ready.
The 45-day timeline was real. The changes weren't complicated. The audit took 3 hours. The landing page changes took 2 days. The creative re-record took one call with the creator. The account restructure took a morning.
The time wasn't spent on new ideas. It was spent finding what was broken and fixing it in the right order.