Why did my Meta ROAS drop?
Usually one of three things: each buyer cost more, fewer people bought, or Meta counted fewer of the purchases that still happened. The first two cost money; the third only changes the report. Check Shopify's sales for the same days before you change any ad.
By Joris van Huët, Founder & CEOUpdated 8 min read
Run the numbers for your store: the free break-even ROAS calculator.
Usually one of three things happened: each buyer cost more, fewer people bought, or Meta counted fewer of the purchases that still happened. The first two cost you money. The third only changes the report. So check your Shopify sales for the same days before you touch a single ad.
ROAS is a fraction: Meta's help page defines Purchase ROAS as purchase conversion value divided by amount spent. It falls when the top shrinks, the bottom grows, or both.
What one store's data shows
The usual answer to a falling Meta ROAS lives inside Ads Manager: tired creative, dearer auctions, a learning phase that reset. One store's export shows why the first check belongs outside it.
One store's anonymised GA4 export, 1 January 2024 to 21 August 2026. It holds shares of revenue only: no ad spend, no order counts.
| What the export shows | Share of revenue | Source cell |
|---|---|---|
| Paid Social, in last click, first click and touched views | 0.0% | Channels sheet, Paid Social row |
| Direct, in last click, first click and touched views | 57.7% | Channels sheet, Direct row |
| Journeys with 1 touch (0.5 days to buy) | 79.5% | Journeys sheet, 1 touch row |
| Journeys with 2 to 3 touches (12.5 days to buy) | 12.2% | Journeys sheet, 2 to 3 touches row |
Start with Paid Social on the Channels sheet: 0.0% of revenue in every view. GA4 gave paid social visits no measurable share of revenue in that store. The export cannot say whether that store ran Meta ads at all.
Now picture your own export like that while you pay Meta every week. GA4 could neither confirm nor deny a single Meta purchase. Ads Manager would be the only witness to its own results, and its ROAS could move for reasons your bank account never feels.
Direct holds 57.7% of revenue on the Channels sheet, the same share in all three views. Google defines Direct as a visit from a saved link or a typed address. A shopper who saw your ad, skipped the click and typed your address later lands there. If Meta's ROAS falls while Direct holds steady, GA4 cannot tell whether the ads lost their effect or only their credit.
Timing adds a twist. On the Journeys sheet, journeys with 1 touch hold 79.5% of revenue and took 0.5 days to buy. Journeys of 2 to 3 touches hold 12.2% of revenue on the Journeys sheet and took 12.5 days. If your buyers look like the slow group, today's click can turn into a sale long after the week you are judging. Meta's Ads Reporting can date a conversion by when the ad was shown or when the purchase happened. Check which one your report uses.
The export holds no spend, no orders and no ROAS, so it cannot tell you how Meta did for that store. It is one store, not a benchmark.
Why does the usual answer mislead?
Because each usual suspect is real, and each assumes the drop sits in your results, not in Meta's count.
Creative fatigue is real. Meta's help page says it "occurs when an audience has seen the same creative too many times", which can raise your cost per result. Ads Manager flags it as Creative limited or Creative fatigue in the Delivery column.
The auction is real too. Meta says its delivery system seeks the highest volume opportunities first and may move to more expensive ones when those run out. Costs can climb over a campaign's life for that reason alone, and a bigger budget usually reaches the dear ones sooner.
The learning phase is real as well. Meta says ad sets in learning "are less stable and usually have a higher CPA". Only a significant edit sends an ad set back, and a big budget change can count as one.
The catch: all three describe Meta's results getting worse, and none asks whether your sales did. ROAS is Meta's count divided by your spend, so the count can fall on its own:
- Meta changed what a click is. Since March 2026 Meta's click-through attribution counts link clicks only, rolling out to accounts at different times. Billing did not change, so the same spend can now buy a smaller click column. How Meta files a sale walks through the switch.
- Fewer purchases reached Meta. On Shopify's Standard data-sharing level, only the Meta pixel reports purchases, and a browser ad blocker can stop it. The Enhanced and Maximum levels add the Conversions API, which sends the purchase from server to server.
- Someone changed the model. Meta warns that ad sets on different attribution models cannot be compared in one table. An ad set moved to incremental attribution counts by a different rule, so its purchases can shrink overnight.
What can the ROAS number not tell you?
It cannot tell you whether your sales fell. Shopify can: its Total sales over time report shows orders and sales for two date ranges side by side.
It cannot tell you whether the ads caused the sales, before the drop or after it. Meta's own March 2026 announcement calls incrementality experiments, such as its Conversion Lift, the best way to answer that question. A ROAS that slides from a flattering number to a less flattering one is still Meta marking its own homework.
And it cannot tell you about the next euro. ROAS is a blend of everything you spent that week. If the cheap buyers went first, the blend can sag while each sale still pays. It can also hold up while the last euros lose money. Hold the drop against your break-even ROAS, which is 1 divided by your margin, rather than against last month. The Meta ROAS checklist adds the calendar and price checks.
What to do this week
- Lay Meta's drop over Shopify's sales. In Shopify, go to Analytics > Reports and open Total sales over time. Click the Compare to indicator, choose Comparison to past and set the same two ranges you used in Meta. Pass: sales fell about as much as Meta's purchase value, so the drop is real and worth fixing. Fail: sales held while Meta's value fell, so check the counting before you touch an ad.
- Check the purchase pipe. In Events Manager, click the Data sources tab, click your data source and open the Diagnostics tab. Then open Shopify's Facebook & Instagram channel, click Settings and Data sharing settings. Pass: no active issues, and the same data-sharing level as before the drop. Fail: an active issue, or a level that changed near the drop date.
- Judge a full week, not a bad day. Meta advises reading performance over at least a full week. In Ads Manager, open the date filter above the table, switch on Compare and set last week against the week before. Pass: the drop holds across the whole week. Fail: a bad day or two dragged it down, so leave the ads alone.
Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework
Sources, 1 October 2026: Purchase ROAS (return on ad spend) (Meta Business Help Center); Default channel group (Google Analytics Help); Troubleshoot common reporting differences between Meta Ads Reporting and third-party reporting tools (Meta Business Help Center); About creative fatigue recommendations in Meta Ads Manager (Meta Business Help Center); Understand fluctuations in ad performance (Meta Business Help Center); About the learning phase (Meta Business Help Center); Significant edits and learning phase (Meta Business Help Center); Simplifying Ad Measurement for a Social-First World (Meta); Facebook data sharing (Shopify Help Center); About attribution models and attribution settings (Meta Business Help Center); Sales reports (Shopify Help Center); Setting and comparing time ranges for your reports (Shopify Help Center); View diagnostics in Meta Events Manager (Meta Business Help Center); View performance results across date ranges (Meta Business Help Center); Amount spent (Meta Business Help Center).
Related answers
Frequently asked questions
Does raising my Meta budget lower ROAS?
Often, for a while. Meta says its delivery system uses the highest volume opportunities first and may move to more expensive ones as they run out. A large budget change can also send an ad set back into learning, where costs usually run higher. Judge any budget change over a full week.Is a one-day ROAS drop worth acting on?
Rarely. Meta advises reading results over at least a full week, because delivery swings by hour and by day. Its Amount spent page adds that recent results can take up to 48 hours to process. Act when the drop holds for a week and Shopify sales fell too.Should I pause a Meta ad set when its ROAS drops?
Not on the first bad week. Meta counts pausing an ad set for 7 days or longer as a significant edit, so it relearns when you switch it back on. Check Shopify sales and the purchase feed first. If the drop is real, trim the budget or swap the creative.
Go deeper: Incrementality testing, explained.
Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.
Keep reading
Terms in this article
- AnalyticsAnalytics is the systematic computational analysis of data. It reveals customer behavior and measures campaign performance.
- AttributionAttribution identifies user actions that contribute to a desired outcome and assigns value to each. It reveals which marketing touchpoints drive conversions.
- Attribution ModelAn Attribution Model defines how credit for conversions is assigned to marketing touchpoints. It dictates how marketing channels receive credit for sales.
- CausalityCausality is the relationship where one event directly causes another, essential for identifying specific actions that drive desired outcomes in marketing.
- ConversionConversion is a specific, desired action a user takes in response to a marketing message, such as a purchase or a sign-up.
- ExperimentsExperiments are scientific procedures that test hypotheses or demonstrate facts. In marketing, experiments like A/B tests determine the causal effect of campaign changes, enabling data-driven decisions.
- Google AnalyticsGoogle Analytics is a web analytics service that tracks and reports website traffic.
- IncrementalityIncrementality measures the true causal impact of a marketing campaign. It quantifies the additional conversions or revenue directly from that activity.