META PURCHASES

Meta ROAS dropped, but Shopify sales did not

Last week your Meta ads returned 3.2. This week Ads Manager says 1.9, and nothing obvious changed. Before you pause campaigns, compare the drop with your store. If Shopify sales held up, the ads may be doing fine and Meta is measuring less. If Shopify fell too, the drop is real.

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

  1. 1In Shopify, compare paid online orders and sales for the same two weeks. If they are steady, measurement is the likely cause.
  2. 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.
  3. 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.
  4. 4In Test events, place a test order and read the value and currency of the Purchase. Compare them with the order.
  5. 5In Ads Manager, add the columns Purchases, Purchases conversion value and Amount spent. Work out which of the three moved.
  6. 6Add the column Last significant edit and check whether the drop started then.
  7. 7Check the attribution setting on your ad sets, and whether it changed.
  8. 8Compare weeks that ended at least a few days ago.

Run the free diagnosis

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.

Related

Problem

Meta shows fewer purchases than Shopify

Meta's Purchase count is lower than your Shopify paid orders. Three common causes and a step by step check you can do in Events Manager today.

Problem

Meta counts purchases twice

Meta shows more purchases than you had Shopify orders. Why browser and server events double up, and how to find every sender in your store.

Problem

Low Event Match Quality for Purchase in Meta

Meta rates your Purchase event's Event Match Quality low. See why a Shopify store gets that score and how to check which customer data your purchases carry.

Problem

Which Shopify orders should count as purchases in Meta?

Your Shopify total includes orders that no ad could have led to. See which orders to leave out before you compare Shopify with Meta's Purchase count.

All tracking problems · All guides