← All articles
Guides · 6 min read

Stop trusting platform-reported ROAS. Use MER.

M

Metrifact Team

September 11, 2026

Why Google Ads, Meta, GA4, and Shopify disagree on conversions for the exact same period, the mechanics behind the disagreement, and why MER (total revenue divided by total ad spend) is the one number that doesn't depend on picking a side.

Google Ads will tell you how many conversions it drove last month. Meta will report a different number for the exact same period. GA4 shows a third figure, and Shopify’s actual order count is a fourth. None of these platforms are lying. Each one measures something slightly different and calls it a conversion. Chasing the “correct” platform-reported ROAS is an argument nobody wins. MER, total revenue divided by total ad spend, sidesteps the fight and tells you whether the whole machine is actually profitable.

The four numbers don’t match

Here’s an illustrative example, not measured data: over the same 30 days, Shopify’s own order count, the number of orders that were actually placed and paid for, comes in at 210. GA4 shows 205 conversions for the period, tracked from real on-site behavior. Google Ads reports 150 conversions. Meta reports 130.

Neither ad platform claims more purchases than the store actually had. Both numbers, on their own, look completely plausible. Add them together and you get 280, a third more than the 210 orders that actually happened. Nobody invented 70 extra sales. Google and Meta are both claiming credit for some of the same real orders, the ones a customer touched through both platforms before buying once. GA4 and Shopify stay close because both are grounded in what actually happened on the site, not in a platform’s claim about who deserves credit for it.

Why they disagree

Google Ads and Meta each run their own attribution window, commonly a week for a click and a single day for a view, though exact settings vary by account. A conversion falls inside that window and the platform claims it, whether or not any other platform also touched that same customer.

View-through conversions make this worse. A platform can credit itself for a sale after someone merely saw an ad and never clicked it, as long as the purchase happens inside the view-through window. Two platforms can each claim the same single sale this way, both correctly by their own rules.

A shopper who saw a Meta ad, clicked a Google ad two days later, and then bought gives both platforms a legitimate basis, under their own attribution logic, to claim the full conversion. Neither is built to split credit with the other by default.

GA4 disagrees with both for a different reason. It applies its own attribution model across the touchpoints it can see in its own tracking, which rarely lines up exactly with what either ad platform recorded on its own server. That’s also why GA4 tends to land closer to Shopify than to either ad platform: it’s still measuring behavior on your site, not a platform’s own claim of credit.

Shopify isn’t attributing anything. It’s recording that a payment was captured. That’s the only number in this list that isn’t a modeled estimate of who deserves credit.

MER cuts through it

MER is total revenue divided by total ad spend, across every channel at once, not per platform. Take the same illustrative account: $50,000 in revenue over 30 days against $10,000 in total ad spend gives a MER of 5. One number, no attribution model, no argument about which platform gets to claim which sale.

MER doesn’t care which channel gets credit for a given order. It only asks whether the total spend produced enough total revenue to be worth it. That’s also its limit, not just its strength: it answers one question well and stays quiet on everything else, covered next.

Pulling it in one conversation

Pulls actual revenue and order count straight from Shopify

Show me total sales and order count from Shopify for the last 30 days.

Shows GA4's own channel attribution next to revenue, a third read on the same period

Show me GA4 sessions, conversions, and revenue by default channel group for the last 30 days.

Pulls total spend from both ad platforms so MER has a real denominator

What did we spend in total on Google Ads and Meta Ads over the last 30 days?

Breaks down site sessions and conversion rate by UTM source, not by which platform claims the click

Break down sessions and conversion rate by UTM source and campaign for the last 30 days.

If you haven’t connected these platforms yet, setup for each takes about two minutes: see How to Connect Claude to Google Ads and How to Connect Claude to Meta Ads. GA4 and Shopify are both read-only connections. Nothing here writes anything back to either one.

What MER can’t tell you

MER tells you whether the whole machine is working. It doesn’t tell you which channel is responsible.

Two campaigns can offset each other inside a single MER number. One channel bleeding money and another overperforming can average out to a MER that looks perfectly healthy while a real problem sits underneath it, invisible from the aggregate alone.

You still need platform-level direction to decide where budget actually goes: which channel is trending up, which is trending down, and what GA4’s channel grouping shows underneath the single aggregate number. MER tells you whether to worry. It doesn’t tell you where to look. Skipping this step and reallocating budget off MER alone is how you cut the channel that was actually working.

Acting on it

Shifts budget toward the channel GA4 and MER agree is working

Increase the Google Ads budget on that campaign from $150 to $250.

Cuts spend on the channel dragging the aggregate down

Cut that Meta ad set’s daily budget from $300 to $150.

Both go through the same preview-then-confirm process: nothing is applied until you confirm the exact change in the conversation. Google Ads and Meta Ads are the two platforms where Metrifact can make this kind of change. GA4, Search Console, and Shopify only ever answer questions.

FAQ

How do I calculate MER? +

Total revenue divided by total ad spend, both summed across every channel over the same date range. A store that made $50,000 in revenue while spending $10,000 across Google Ads and Meta combined has a MER of 5. No per-platform breakdown, no attribution model, just the two totals.

What counts as a good MER? +

There’s no universal number. It depends on your gross margin: a business with thin margins needs a much higher MER to be profitable than one with high margins on each sale. Work out your own breakeven MER from your margin before comparing yourself to a number you saw somewhere else.

What's the difference between MER and ROAS? +

ROAS is revenue divided by spend for one channel, using that channel’s own attributed revenue, the exact number this post argues you can’t fully trust on its own. MER is total revenue divided by total spend across every channel, with no attribution involved at all. ROAS tells you how one platform says it performed. MER tells you what actually happened to the business.

Does MER replace ROAS entirely? +

No. ROAS still matters for tuning bids and budgets inside a single platform once you already trust the direction you’re moving in. MER is the aggregate check that tells you whether the platforms’ combined story matches reality, not a replacement for platform-level optimization.

Does this work without Shopify? +

MER itself only needs total revenue and total ad spend, so it doesn’t strictly require Shopify. Metrifact’s most direct source for real order-level revenue is Shopify’s own sales data. Without it, GA4’s own revenue tracking can stand in if ecommerce is configured there, though that’s a modeled estimate, not a record of a captured payment the way a Shopify order is.

What if I only run one ad platform, not both? +

MER still works exactly the same way: total revenue over total spend, whichever platform that spend came from. The four-numbers problem in this post is smaller with a single platform, but Shopify, GA4, and that platform’s own reporting can still disagree with each other.

Try it on your own accounts

Connect Google Ads, Meta, GA4, Search Console and Shopify to Claude in two minutes. 7-day trial, no card.

Start free trial
M

Metrifact Team

September 11, 2026