Your ROAS dropped. Nobody can say why.
Meta says 2.1 where it said 3.4 last week. You have seven tabs open, three theories and no answer — and the meeting is in an hour. Drew has an answer, with the working shown, and it was waiting by 8am.
TOMORROW BY 8AM Connect today and your first ads brief is waiting before you open your laptop
What you’re about to do by hand
This is the pass an experienced operator makes when the number moves. It takes most of an afternoon, it gets interrupted, and it usually ends with a theory rather than a cause.
Meta Ads Manager, re-cut by every date range you can think of, hunting for where the line actually bent.
Google Ads, to check whether it moved too — which would mean something broader than one channel.
Shopify analytics, because the platforms and the order ledger never quite agree and you need to know which one to believe.
The account change history, scrolling for whatever someone edited last Thursday that is only surfacing now.
Creative reporting, eyeballing frequency and CTR across the ad sets carrying most of the spend.
A spreadsheet where you paste it all, because none of these tools will sit next to each other.
Slack, explaining to the founder that you are “still digging” and will have something by tomorrow.
Nowhere in those seven tabs: your margins, your stock levels, or which of these products bring customers back.
The data was never the hard part. Running the whole diagnosis, in the right order, before the answer stops being useful — that is the hard part.
What Drew checks, and in what order
Order matters more than coverage. Most wasted afternoons come from starting at creative when the answer was in measurement, or rebuilding an ad set that was only ever having an ordinary Tuesday. Drew walks the same ladder an experienced media buyer walks, top to bottom, every morning.
-
Measurement
Did performance change, or did the reporting change?
An attribution-window change, a conversion-tracking outage, a tagging change on the site, or conversions still being reported late will all look exactly like a performance drop. Nothing below this rung is worth reading until this one is clear.
-
Variance
Is this a signal, or is this a Tuesday?
The move gets compared against how much this account normally swings — not against last week’s best day. Accounts that have always been volatile produce “drops” every few days, and reacting to each one is how performance gets destabilised.
-
Account changes
Did someone touch it?
Budget edits, new ad sets, bid-strategy switches, audience changes, ads newly rejected or paused. Changes made three to seven days ago frequently surface as today’s problem, which is exactly why they get missed.
-
Creative
Is the account fatigued?
Frequency, CTR trend, how much spend sits behind creative that has been running a long time, and how much of the audience is seeing something for the first time. Fatigue is the most common real cause — and the most commonly guessed at before the rungs above have been ruled out.
-
Auction and demand
Did the market move?
CPM trend, seasonal demand, and whether the whole category got more expensive. If costs rose across every campaign at once, the problem is not inside any single ad set and restructuring one will not fix it.
-
Conversion path
Did the site stop converting?
Conversion rate, average order value, and the state of the products the ads actually point at. A hero SKU going out of stock, or a landing page quietly changing, drops ROAS without a single thing being wrong in the ad account.
-
Product mix
Did what you sell change?
Spend drifting toward lower-margin products, or toward first-purchase-heavy ones, pulls blended ROAS down while the business underneath may be fine. This is the rung that needs margins, inventory and repeat behavior — which is why an ads-only tool cannot reach it.
-
Learning state and timing
Should you act at all right now?
If a change was made recently and the account is still learning, intervening again resets the clock and costs more than waiting. Knowing when to leave the account alone is part of the diagnosis, not an absence of one.
One diagnosis, end to end
Not an alert saying the number moved. A cause, the business context around it, a recommendation, and a decision waiting for you.
Meta prospecting CPA rose 34% week over week. Blended ROAS 3.4 → 2.1.
Tracking healthy, no attribution-window change. Move is 2.4× this account’s normal weekly variance — real, not noise. No account edits in the last 14 days.
Creative fatigue on the top 3 ad sets, which carry 71% of prospecting spend. Frequency 4.7, CTR down 31% over 12 days.
Those ad sets push SKU-114 — 62% contribution margin, and buyers of it repeat 3× more than average. Worth defending rather than cutting.
Stock: 41 days. No constraint on scaling back up once creative refreshes.
Hold total budget. Shift 30% of the fatigued ad sets’ spend to the two newest creatives already beating account-average CTR. Full refresh queued for Thursday. No structural changes — the account is healthy underneath.
Execution is rolling out now. Drew implements approved changes — budget moves, pauses, scaling and descaling — within guardrails you set. You decide how much Drew is allowed to do.
Sometimes the honest answer is that nothing is wrong
A falling ROAS is not automatically a fault to fix. Three cases where reacting costs more than sitting still — and where a tool that only sees your ad account will tell you to act anyway.
You scaled
ROAS falling as spend rises is arithmetic, not a failure. The question that matters is whether the marginal dollar is still profitable — and that is a different calculation from the one on the dashboard.
Your mix moved
Spend shifted toward a lower-margin or first-purchase-heavy product. Blended ROAS drops while contribution margin and lifetime value hold. Nothing needs fixing; the average just changed shape.
It’s still filling in
Conversions get reported late, so the most recent 72 hours are always the worst-looking window you own. Plenty of accounts get restructured over a number that would have corrected itself by Friday.
ROAS drops, answered
The questions operators ask when the number moves.
Next time, have the answer by 8am
Connect Shopify, Meta and Google today. Drew reads your history tonight and your first Daily Ads Brief is waiting tomorrow morning — about your actual account, not a sample. Free plan, no credit card required.
Book a demo