Blog / Blog / Why Is My ROAS Down Today?

Why Is My ROAS Down Today? A Daily Root-Cause Framework for Shopify Brands

Here's the direct answer: your ROAS dropped today for one of five reasons — your tracking broke, the auction got more expensive, a specific ad or ad set decayed, your website funnel leaked, or your product mix shifted. The fastest way to find which one is to check them in that exact order, because each layer can fake the symptoms of the ones below it.

Most advice for a ROAS drop is a pile of possibilities: check fatigue, check CPMs, check targeting, check creative. All true, none ordered. So merchants check them in random order, find something that looks off, and "fix" a thing that wasn't the cause.

We watch Shopify brands run this diagnosis every morning through DataDrew — some literally ask it daily, as a habit. This is the sequence that actually isolates the cause, usually in about 15 minutes.

TL;DR

  • Check in order: tracking → auction → ads → site → product mix. Each layer can masquerade as the next.
  • "I changed nothing" is almost never true — Meta re-enters learning on small edits, and your site, stock, and competitors change without telling you.
  • If sessions are steady but conversion rate fell, the problem is on your site, not in your ads.
  • Grade the day on Shopify revenue, not platform-reported revenue — platform numbers overcount by 30–100% and lag by 24–72 hours.
  • One bad day is noise. The same layer failing three days running is a trend.

Layer 1: Can You Trust Today's Numbers at All?

Before diagnosing performance, verify the measurement. Attribution and tracking problems are the most common false alarm — the ads are fine, the reporting is broken.

  • Reporting lag. Meta's attributed conversions for today are always incomplete; purchases attributed to a click can land up to 7 days later. A "bad" morning ROAS often self-corrects by tomorrow. Compare the same hours yesterday, not the full day.
  • Pixel and event health. In Events Manager, confirm Purchase events are firing at normal volume. A theme update, a new app, or a consent-banner change can silently kill events.
  • Platform incidents. Check Meta's and Shopify's status pages before touching anything. An ads-reporting outage looks identical to a performance collapse.
  • The cross-check that settles it: does Shopify's order count agree? If Shopify shows normal revenue while Meta shows cratered ROAS, you have a tracking problem, not an ads problem.

If the numbers check out, move down a layer.

Layer 2: Did the Auction Get More Expensive?

Same ads, same audience, worse ROAS — often the market moved, not you.

  • CPM vs your 7-day average. A CPM spike with steady click-through rate means you're paying more for the same attention: seasonal auction pressure, a competitor's launch, or the start of a big promo period.
  • Learning phase resets. Edited a budget more than ~20%? Swapped a creative? Duplicated an ad set? Meta re-enters learning and performance goes volatile for days. This is the top answer to "my CPA doubled overnight and I changed nothing" — a small edit counted as a big change.
  • Auction overlap — your ads bidding against each other. Multiple ad sets reaching the same audience compete in the same auction and inflate each other's costs. In one account we audited, two overlapping ad sets were paying 44% more per thousand impressions to outbid themselves. Check Meta's auction-overlap insights or compare audience definitions across active ad sets.
  • Frequency. Cold-audience frequency above ~3.5 with CTR sliding 15%+ is fatigue territory — the auction charges you more because engagement predicts poorly. (If this is the diagnosis, the fix is creative, not budget — see our guide to creative fatigue signals and thresholds.)

Layer 3: Which Ad Actually Moved?

Account-level ROAS is an average that hides the culprit. Break the drop down.

  • Sort ads by yesterday-vs-trailing-7-day spend and ROAS. A drop is usually concentrated in one or two ads, not spread evenly.
  • If a previously winning ad decayed: fatigue, comment-section problems, or a landing page it points to changed. A winning ad that stops working has about five impostor causes besides fatigue — check them before killing it.
  • If a new ad is dragging the account: it's buying cheap, low-intent reach that dilutes blended ROAS. Judge it on its own cohort, not the account average.
  • No single ad moved, but everything slid a little? That's Layer 2 (auction) or Layer 4 (site) behaving like an ads problem.

Layer 4: Sessions Steady but Conversions Fell? It's Your Site

This is the layer almost every "ROAS dropped" article skips — and it's where we see some of the most expensive misdiagnoses.

The tell: traffic held, conversion rate fell. Ads did their job delivering the click; the site stopped converting it. Walk the funnel in order:

  1. Sessions — normal? Then stop blaming targeting.
  2. Add-to-cart rate — fell? Look at product pages: price changes, sold-out variants, a broken image gallery, a new app slowing the page.
  3. Checkout rate — fell? Test checkout on your phone right now. Payment-gateway hiccups, shipping-rate errors, and discount codes that expired mid-campaign live here.

A real example: one apparel brand we work with saw revenue dip sharply between 1pm and 3pm and assumed ads were dying. The RCA traced it to a site change shipped that same morning — new color swatches on product pages had broken add-to-cart behavior for a slice of mobile users. The ads never changed. The rollback fixed "ad performance."

If sessions fell and conversion held, it's upstream (delivery, budget caps, ad disapprovals). If both fell, check layers 2 and 3 again.

Layer 5: Did Your Product Mix Shift?

Ads sell products. When the products move, ROAS moves — and nothing in Ads Manager will tell you.

  • Stockouts on hero SKUs. Ads pointing at out-of-stock or low-stock products keep spending while conversion evaporates. Cross-reference today's top-spending ads against current inventory.
  • Product-level movement. Compare yesterday's top-10 products by revenue against the trailing week. A hero product dipping 30% drags blended ROAS down even when every ad is "fine."
  • Promo boundaries. The days right after a sale ends are structurally worse — you pulled demand forward. Compare against the same day last week, not the sale you just ran.

The 15-Minute Daily RCA, in One Table

#CheckWhereRed flag
1Shopify revenue vs platform revenueShopify admin vs Ads ManagerThey disagree → tracking issue
2Purchase events firingMeta Events ManagerVolume drop → pixel issue
3CPM vs 7-day avgAds Manager+25%+ with flat CTR → auction
4Learning-phase statusAd set delivery column"Learning" on old ad sets → recent edit
5Audience overlapAd set audiencesSame audience, 2+ ad sets → self-bidding
6Ad-level ROAS spreadSort by spend, yesterday vs 7d1–2 ads own the drop → creative
7Sessions → ATC → checkoutShopify analyticsSteady sessions, falling CVR → site
8Top-10 product movementProduct analyticsHero SKU dip or stockout → mix

One pass through this table beats an hour of staring at Ads Manager. And grade the final verdict on blended ROAS from Shopify revenueplatform-reported ROAS can't be trusted as an absolute number.

When One Bad Day Becomes a Real Problem

A single red day is usually noise — attribution lag, a slow news day, weather. The rule we've seen work: investigate daily, act on three-day trends. If the same layer flags three days running (MER below breakeven for 2+ weeks is the cut threshold in our budget cut-or-feed framework), that's when you change spend.

Automating the Daily RCA

Every check above is a query against data you already have — Shopify orders, Meta and Google performance, site analytics, inventory. That's why the brands who do this daily don't do it by hand: they ask Drew, DataDrew's AI analyst, "why is revenue down today?" and get the full five-layer RCA — product movement, ad-level breakdown, funnel metrics, and a verdict — in one answer. Several run it as a scheduled morning alert: if yesterday landed 20% below the 7-day average, the root-cause report is waiting before they've opened Ads Manager.

FAQ

Why is my ROAS down but nothing changed?
Something changed — just not by your hand. The most common invisible changes: attribution still filling in (today always looks worse), a budget/creative edit resetting the learning phase, auction costs rising, or a site/app update breaking part of the funnel.

How long should I wait before reacting to a ROAS drop?
Diagnose immediately; act on trends. One day is noise. The same cause showing up 3+ consecutive days — or MER below breakeven for two weeks — justifies moving budget.

Should I judge ROAS from Meta or from Shopify?
Shopify. Platform-reported revenue overcounts (both platforms claim the same orders) and lags. Blended ROAS = total Shopify revenue ÷ total ad spend is the number that can't lie to you.

DD
Sumit Bansal Co-founder @ Datadrew. Ex-AdYogi, worked with 200+ e-commerce brands on growth.

Take CONTROL of your Shopify growth today