ROAS Dropped? What to Do Before You Cut a Dollar of Spend
When ROAS drops, don't touch your budget yet. The first move is triage, not surgery: confirm the number is real before you assume your ads got worse, then isolate where it fell — one channel, one campaign, one creative, or the landing page. Work five questions in order and you'll know whether you're staring at a tracking glitch, a tired ad, or an actual performance problem. Those are three very different Mondays.
First, don't do the thing you want to do
It's Friday, blended ROAS is down, and the reflex is to yank spend off whatever looks worst. Resist it for one hour. Cutting spend on a channel that only looks broken is how a measurement problem becomes a revenue problem — you starve a campaign that was fine, and next week's drop is real. Panic and diagnosis pull in opposite directions: panic says do something to the spend; diagnosis says find out what moved first. The playbook below is the diagnosis, in the order that keeps you from acting on a bad read.
Check tracking before you touch spend
Half of "ROAS dropped" turns out to be "measured ROAS dropped." Attribution windows shift, a pixel or Conversions API feed drops events, a consent-mode change suppresses conversions, an iOS quirk under-reports — and the ads never changed. Cut spend to fix a number that only broke in the reporting and you've paid real money to solve a phantom. The first move isn't your creative; it's whether the platform's story matches your bank. As one Reddit owner put it after untracked numbers cost real money: "It's impossible to make a good decision if you have bad information."
The five questions, in order
Run these top to bottom. The order matters: each one rules out a whole category of causes so the next question is cleaner.
1. Is the number even real?
Compare platform-reported revenue against Shopify's actual orders for the exact same dates. Match, and the drop is real — keep going. Diverge, and you have an attribution problem, not a performance problem. Stop here and fix the tracking.
2. Is it one channel, or the whole account?
Pull blended ROAS (total revenue over total ad spend) next to what each platform claims for itself. Each grades its own homework, so the two rarely agree — what you're hunting is the gap that changed. If blended fell but Meta and Google both report fine, the leak is between channels: returning-customer revenue slipped, organic softened, or two platforms are claiming the same sale. If one channel cratered while the other held, you've isolated it — questions 3 and 4 are now about that channel only.
3. Where in the funnel did it break — traffic or conversion?
Inside the guilty channel, split the drop into three levers: spend, traffic, and on-site conversion. Did CPMs spike? Did clicks hold but sessions fall? Or did traffic hold while conversion dropped on the site? If CTR and CPM look normal and the fall is all in on-site conversion, your ads did their job — the problem is past the click, in the site, the offer, or the checkout.
4. Is it the creative, or the page?
Two failures look identical in the ROAS number and share no cause. Creative fatigue: frequency climbing while CTR falls — the audience has seen the ad too many times, and the account is quietly asking for new creative before it charges you for the old kind. Landing-page or offer trouble: CTR is fine, people click, then conversion falls off on the page. Frequency-up-CTR-down sends you to the creative brief. Click-fine-conversion-down sends you to the landing page. Fix the wrong one and the number won't move.
5. Is it you, or the calendar?
Before you blame your own account, check the world. Compare the bad window against the same week last month and last year — seasonality gaslights owners, and a "drop" is often a dip that shows up every year on schedule. Check whether CPMs jumped across the auction, where a competitor's launch or a holiday surge raises everyone's costs at once. If the drop matches a seasonal pattern or an auction-wide CPM spike, it's the market, not you — and the answer is patience or a bid adjustment, not a panic cut.
The triage at a glance
| # | The question | Where you look | It's likely this when |
|---|---|---|---|
| 1 | Is the number real? | Shopify orders vs. platform-reported revenue | Platform revenue moved but Shopify's actual orders didn't — a tracking or attribution shift, not a sales drop |
| 2 | One channel or the account? | Blended ROAS vs. each platform's own number | Blended fell but each platform reports fine — the leak is between channels: returning, organic, or double-counting |
| 3 | Traffic or conversion? | CPM, CTR, sessions vs. on-site conversion rate | CTR and CPM held but on-site conversion fell — the site or offer, not the ads |
| 4 | Creative or page? | Frequency and CTR trend vs. landing-page conversion | Frequency up while CTR falls — creative fatigue; CTR fine but page conversion down — the landing page |
| 5 | You or the calendar? | Same week last month and last year; auction CPMs | The drop matches a seasonal dip or an account-wide CPM spike everyone's eating — market, not you |
The honest problem with the manual version
The playbook works with zero software beyond what you already pay for. But by hand it's the better part of an afternoon across four tools — and it lands on your worst week, when you'd rather be fixing the cause than doing forensic reconciliation to find it. "Wearing all the hats. I'm the operator, bookkeeper, dispatcher, mechanic, and laborer all rolled up into one," as one Reddit owner described the job.
Pasting exports into ChatGPT doesn't close the gap either. It'll tell you what a ROAS drop could mean, but you're still the one logging into Ads Manager to pull the numbers, and, as one owner put it on Reddit, "it becomes a slightly smarter Google. Because it doesn't DO anything" (Sterling vs. ChatGPT). You wanted the diagnosis. You got more homework.
The delegated version: one Slack message
Here's the same triage as a scenario. You notice the drop and type this once:
Direct Operating Answer
@Sterling — blended ROAS fell from 3.1 to 2.2 last week. Pull last week against the prior four-week average from Meta, Google, and Shopify. Reconcile platform-reported revenue against Shopify's actual orders for the window. Break the drop down by channel, then by spend, traffic, and on-site conversion. Flag which layer moved most, and whether frequency rose while CTR fell. If it's creative fatigue, draft the creative brief; if one channel cratered, draft the pause list — and wait for my go.
A few minutes later, the thread has the triage done in order:
- The reconciliation first. Shopify's actual orders next to each platform's reported revenue — so you know in one line whether the drop is real or a tracking artifact.
- The channel breakdown. Blended vs. platform-reported, and which channel moved — the leak isolated instead of guessed at.
- The layer that moved, with the reason. Not "Meta down." "Meta CPM held, CTR fell 30% while frequency rose to 4.1 — creative fatigue, not targeting or landing."
- The drafted brief. If it read as fatigue, the creative brief is already written, sitting in the thread — not in your ledger of things to do. Say go and it sends to your buyer.
Then the part that matters if you've been burned before. The work just happens — pulling numbers and building the diagnosis costs you no ceremony, and a drafted brief lands in the thread ready to move. But anything that leaves your business, spends money, or can't be undone — pausing a campaign, adjusting a budget, sending the brief to your buyer — waits for your go in the thread. You reply go. It executes. It's logged. Sterling does everything up to the send. The send is yours.
A skeptical owner on Reddit once wrote the acceptance test for this whole category: "if there's no exception queue, audit log, and big red pause button, it's not automation, it's just a faster way to lose money." That's how Sterling is built — the whole job runs in a Slack thread you can watch, every action lands in the audit log, and pause and cancel are buttons on the dashboard. The diagnosis is fast, and nothing gets sent, charged, or deleted in your ad account without your go.
Direct Operating Answer
The takeaway: A ROAS drop is a triage problem, not a spend problem. Check the number is real, isolate the channel, split traffic from conversion, separate fatigue from the page, then rule out the calendar — in that order. Delegated, it's one Slack message: Sterling pulls Meta, Google, and Shopify, compares the bad window against a healthy one, flags the layer that moved, and drafts the fix — and you keep the one job that matters, the go.
What the delegated version costs
$50 a month gets your whole team a coworker — 20,000 credits that cover the jobs you actually delegate: the ROAS diagnosis, the weekly audit, the campaign drafts. No per-seat charges. If you run low, Sterling pings you in Slack at 80%, and a top-up is $25 for 10,000 credits — decided by you, not discovered on an invoice. If credits run out, Sterling pauses and tells you; it never surprise-bills you.
A bad ROAS week is the best first test, because you already know what the manual version costs you — an afternoon on the week you can least afford it, or a panic cut made before the diagnosis is in. Hand this drop to Sterling instead. Your first 20,000 credits are free, and they run on your real stack, not a demo store. Better yet, put the same weekly Shopify + Klaviyo audit on a schedule and catch the next drift before it's a bad week at all.