Why it happens
ROAS is a division, and both sides can move. Meta's help defines purchase ROAS as "purchase conversion value divided by amount spent", based on purchase events from the Meta Pixel or Conversions API that Meta attributes to your ads. ROAS falls when Meta records fewer purchases, when it records a lower value per purchase, or when spend rises without either. Each has a different fix.
Fewer purchases reach Meta. A theme update, a new checkout, a removed app or a changed consent banner can stop part of your purchases from reaching Meta. Sales continue in Shopify, but Meta sees fewer, so the value it attributes drops. This is the most common cause of a sudden fall with steady sales. Meta shows fewer purchases than Shopify covers the reasons.
The value per purchase changed. If a tag switched from sending the order total to the subtotal, or stopped sending a currency, each purchase is worth less to Meta. The purchase count stays, ROAS falls. See Meta purchase value does not match the order total.
Duplicates went away. If two tags used to send each purchase and one was removed, Meta now counts each sale once. ROAS falls to its real level. The old number was the wrong one. Meta counts purchases twice explains how to tell.
The attribution setting changed. Meta credits a purchase to your ad only within a set number of days after a click or view. A shorter window means fewer attributed purchases for the same sales. See Meta attribution setting changes purchases.
A significant edit restarted learning. Meta's help says a significant edit is when you pause an ad set or change the optimisation event, audience or creative, and that changes to bid strategy or budget may also count, depending on their size. During the learning phase, Meta says, ad sets are less stable and usually have a higher cost per result.
Recent days are not complete. Purchases can be credited to an ad days after the click, so the last few days often look weaker and improve later. Purchases show up days later in Meta covers the delay.
Part of it is modelled. Meta says that where events cannot be counted directly, because of partial or missing data, it may use statistical modelling for some events and their values. A change in how much data Meta receives can move the modelled part too.
Check it yourself
- 1In Shopify, compare paid online orders and sales for the same two weeks. If they are steady, measurement is the likely cause.
- 2In Events Manager, open your dataset's Overview tab and compare the Purchase count for the two weeks. A drop there, with steady Shopify orders, means fewer purchases reach Meta.
- 3Open the History tab. Meta lists changes to your pixel and Conversions API, with dates and who made them. Look for anything on the day the drop started.
- 4In Test events, place a test order and read the value and currency of the Purchase. Compare them with the order.
- 5In Ads Manager, add the columns Purchases, Purchases conversion value and Amount spent. Work out which of the three moved.
- 6Add the column Last significant edit and check whether the drop started then.
- 7Check the attribution setting on your ad sets, and whether it changed.
- 8Compare weeks that ended at least a few days ago.
FAQ
Should I pause the campaigns?
Not before you know whether sales fell. If Shopify sales held and Events Manager shows fewer purchases, pausing hurts campaigns that still sell.
My ROAS fell after I removed an old app. Is that bad?
If the old app sent a second copy of each purchase, the new ROAS is closer to the truth. Compare Meta's purchases with your orders to be sure.
Why does ROAS look better a week later?
Meta keeps attributing purchases to past days as they arrive, and part of the result is modelled. Recent days fill in over time.
Can a higher budget lower ROAS?
Yes. Spend is the other side of the division, and Meta's help says a large budget change can be a significant edit that restarts learning.
Is Meta's ROAS my real return?
No. Meta's ROAS uses the purchase value Meta attributes to its own ads, partly modelled, by your attribution setting. Your store's return is your Shopify sales against what you spent, from every channel. Watch both, and treat a gap between them as a signal to check measurement.
Does iOS change ROAS?
Meta says purchase ROAS may not be calculated in some cases, such as results for ads delivered to devices with iOS 14 or later. See iOS purchases not attributed in Meta ads.