01The starting pointWhat they tried first
At €5K a day the account was healthy. 3.1× ROAS, steady CPA and a daily greens drink women 35+ reordered.
So the team did what most teams do when something works. They pushed it harder, all in the space of 2 weeks:
- Doubled the budget on the best campaigns, sometimes overnight
- Duplicated the top ad sets to "force" more delivery
- Opened Germany with the same ads and the same page
- Raised the card limit and kept going
Spend went to €12K a day. ROAS went to 1.6×. At that spend level, the reported profit was negative.
By the time we got involved, they had already briefed a new batch of creative. The instinct was to blame the ads. Creative was only part of the problem.
02The progressionThree numbers on one page
| Stage | Run by | Daily spend | ROAS |
|---|---|---|---|
| Where it worked | In-house | €5K | 3.1× |
| After their budget push | In-house | €12K | 1.6× |
| After our rebuild | Us, with the in-house team | €30K | 2.8× |
The final ROAS was below the original 3.1×, but the account was operating at six times the original daily spend. Compared with the low point, daily spend grew 2.5× and profit moved from −€4,040 to €5,900 per day. Section 08 explains why both the ratio and the euro result matter.
03DiagnosisWe built a timeline before we changed anything
A ROAS drop has a dozen possible causes, and most of them sit outside the ads. Rewriting hooks before you know which one you have makes the next result harder to read.
So the first week was a timeline. Every campaign edit went on it, next to every operating event: offer changes, discount share, the new market, stock-outs, payment failures, account warnings and tracking changes.
Then we walked the purchase path from impression to order, looking for the step that broke first:
| Where it can break | What we inspected | What we found |
|---|---|---|
| Delivery | Interruptions, learning resets, CPM and frequency by day | Four daily spending-limit incidents and two payment failures in two weeks interrupted delivery. The campaign change log also showed overlapping budget and creative edits. |
| Ad → click | Hook rate, CTR, whether the opening shows the product and the reason to buy | 70% of spend went to one concept; seven-day frequency rose from 2.0 to 3.8. Link CTR fell from 1.8% to 1.1% on that concept. |
| Click → product page | Does the page open on what the ad promised? Language, currency, pack shown | German ads sent traffic to a Dutch page. The pack total and delivery estimate appeared only after the first checkout step. |
| Page → checkout | Pack selection, total cost, delivery terms, payment friction | German checkout completion was 35% across 1,000 starts; 650 sessions exited before purchase. The offer and delivery explanation were rewritten together. |
| Tracking | Pixel/CAPI match quality, purchase events vs. Shopify orders | Event-ID deduplication and first-order flags were checked. €576K net first-order value and 9,600 orders reconciled to the low-point model; no tracking uplift was added. |
Swipe the table sideways to see every column →
04Root causeWhat was actually broken
Three things, and only one of them was creative.
1. Delivery kept getting interrupted
Big overnight budget jumps reset learning on the main campaigns. On top of that, the account hit its spending limit 4 times and card payments failed 2 times in 2 weeks. Each time, delivery stopped mid-day and Meta had to pick the campaign back up and re-pace it. The ROAS they saw was partly the cost of campaigns that never ran steadily for long.
2. One idea was carrying the whole account
70% of spend sat on variations of a single concept. At €5K a day the audience could absorb it. At €12K, frequency went from 2.0 to 3.8 and the same people saw the same message until they stopped responding.
3. The new market landed on the wrong page
German visitors saw a Dutch product page and delivery terms. The advertised starter kit was not preselected in the pack selector.
05RebuildThe rebuild at a glance
Each of the three causes needed its own fix, and the fixes depended on each other. New creative would not have held on campaigns that kept stopping, and a steadier setup would not have helped with a single tired concept.
| Area | Their own push | After the rebuild |
|---|---|---|
| Budget changes | Doubled overnight on the best campaigns | Steps of 20% after matured data |
| Campaign structure | Duplicated ad sets, tests mixed with scaling | One broad CBO scaling campaign per market (NL, DE, FR), one ABO campaign for creative angle testing and one retargeting campaign |
| Creative | One concept carrying 70% of spend | Three buying reasons, each matched to a page section |
| New market | Same ads, same page | Localized page per market: language, currency, delivery terms |
| Ad accounts | One account with a spending limit | Our agency accounts, with backup accounts mirrored |
| Funding | Card on file, billing thresholds | Top-ups planned ahead of each budget step |
Swipe the table sideways to see every column →
We started with the structure and the account setup, so the new creative would launch onto campaigns that could run steadily. In the first 7 days, delivery ran without interruptions and CPM moved from €16.00 to €12.80.
06RebuildCreative and the page behind it
We kept the offer the same. Changing product, price and ads at once would have made it impossible to tell what worked. Instead we changed how the product was explained, and matched each explanation to its own page section.
"If your chin looks like this, and your pooch looks like this, and you can't stop farting, you better listen."
Creator video in her kitchen. Names the everyday symptoms women her age recognise, then shows two scoops going into water every morning. Lands on the "how to use" section.
"After menopause your body needs more protein to hold the same muscle, not less."
A "did you know" static for women 35+, with protein per serve and what it supports. Lands on the ingredient panel.
"Get your free Welcome Kit."
Both tubs with the free elixir spoon, so the first order is clear before the click. Lands straight on the pack selector.
For Germany, every ad got its own localized page: language, currency and delivery terms matching what the ad said. The comparison used equal-size cohorts of 10,000 landing sessions each. First orders rose from 350 to 500, so page conversion rose from 3.5% to 5.0% (+1.5 percentage points). This is a cohort comparison, not causal proof.
07ScalingThe scaling blueprint
The first push failed because budget moved faster than the business could absorb it. The second time, every step had to pass a gate.
The rules
- Increase by at most 20% per step, and only on campaigns with 3 days of matured data
- One change at a time. A budget step and a new creative never launch on the same day
- Funding goes on the balance the day before a step, never the day after
- Stock and fulfilment confirmed for the next level before the budget moves
- If CPA breaks target for 2 days, hold and diagnose before going further
| Level | Gate to pass before the next step | Ready behind the scenes |
|---|---|---|
| €12K/day | Stable delivery on new setup, CPA back under €24 | Backup accounts mirrored |
| €18K/day | 3 days at target with matured purchases | Two new concepts past testing |
| €24K/day | Purchase CPA holds, frequency under 2.5 | Stock for 4 weeks at this volume |
| €30K/day | Profit per day still rising | Creative cadence at 3 concepts/week |
Swipe the table sideways to see every column →
- Week 5
The step that didn't hold
The €24K→€28.8K step was +20%. CPA reached €26 for two matured days, above the €24 target. Spend returned to €24K for a six-day hold. The next increase followed three daily cohorts below target.
- Week 9
Where it settled
Stabilized at €30K/day and 2.8× net first-order ROAS. The €12K, €18K, €24K and €30K levels are milestones, with intermediate increases of no more than 20%. Final CPM €10 and CPA €21.42.
08EconomicsWhy ROAS alone misleads
The founder's first reaction to 2.8× was disappointment, because they had started at 3.1×. A ratio hides the size of the business behind it. Here's a simple worked example at a 45% margin before ads:
| Worked example | Spend | Net revenue | ROAS | Amount remaining after ads |
|---|---|---|---|---|
| Period A | €1,000 | €3,000 | 3.0× | €350 |
| Period B | €2,000 | €5,600 | 2.8× | €520 |
The worked example shows how a lower ROAS can still produce a larger euro result. For this brand, the low-point and recovery comparison was:
| Stage | Daily spend | ROAS | Profit per day |
|---|---|---|---|
| Low point | €12K | 1.6× | −€4,040 |
| After rebuild | €30K | 2.8× | €5,900 |
We agreed on this measure with the founder before the first budget step, and judged every step on it.
From 1.6× to 2.8× ROAS at 2.5× the spend.
We rebuilt this account from €12K to €30K/day, moving daily profit from −€4,040 to €5,900. Send me your spend, ROAS and CPA before and after your last budget increase. I'll help identify whether the drop points to delivery interruptions, creative fatigue or conversion friction.
Review my ROAS drop →09ResultsResults
| Measure | Low point | After | Change |
|---|---|---|---|
| Daily spend | €12K | €30K | ×2.5 |
| ROAS | 1.6× | 2.8× | +1.2× |
| CPM | €16.00 | €10.00 | −37.5% |
| Purchase CPA | €37.50 | €21.42 | −42.9% |
| Profit per day | −€4,040 | €5,900 | +€9,940/day |
Profit is reported after media spend, product and operating costs, creative production, our fees and the allocated account setup cost. ROAS, CPM and CPA use media spend only. Profit improved by €9,940 per day, equivalent to €298,200 across the 30-day comparison windows.
A lower ROAS can still produce more daily profit when scale and all acquisition costs are considered together.
10TakeawaysWhat to take from this
- Don't fix a ROAS drop with new hooks first. Build the timeline and find the step that actually broke.
- Steady delivery matters. Big budget jumps, spending limits and payment issues all interrupt it, and the results show it.
- One concept can't carry a bigger budget. Spread spend across distinct buying reasons before you scale.
- Scale through gates, not leaps. Funding, stock and creative ready before the budget moves.
- Judge on profit, not the ratio. A lower ROAS at a higher spend can be the best month you've had.