The Ecomm Analyst

Growing stores, one honest take at a time.

Why is Google Ads ROAS higher than Meta ROAS?

Google Ads ROAS is usually higher than Meta ROAS because Google is capturing demand that already exists while Meta is creating it. A large share of Google’s reported revenue comes from people searching your brand name or a product they had already decided to buy, and those conversions are cheap. Meta is reaching people who were not looking for anything. The two numbers are measuring different jobs, and comparing them directly will lead you to move budget in the wrong direction.

I see this argument in almost every account I look at. Google posts a 7.0, Meta posts a 2.4, and someone reasonably concludes that Google is three times more efficient and should get more money. Then the budget moves, total revenue does not, and nobody can explain why.

Brand search is doing most of the work

Pull your Google account apart and look at brand terms separately from everything else. On most e-commerce accounts brand search carries a ROAS somewhere between 10 and 30, and it drags the blended Google number up hard.

Those are people typing your name into a search box. They were going to find you. Some fraction would have clicked the organic result immediately below your ad at no cost. Brand search is worth running, mostly as defense against competitors bidding on your name, but treating its ROAS as evidence of Google’s efficiency is circular. It is high precisely because the demand was already there.

Strip brand out and compare non-brand Google against Meta. That gap closes dramatically. On plenty of accounts it closes entirely, and on some it reverses.

Where the demand came from

The deeper problem is that the two channels are not independent. Someone sees a Meta ad on Tuesday, thinks about it, searches your brand on Friday, clicks the Google ad, and buys. Last-click gives Google the whole sale. Meta gets nothing. Both platforms report their own version and neither is describing what happened.

This is why brands that cut Meta because Google looked better often watch Google’s performance decay a few weeks later. The searches were being generated upstream. You did not find a more efficient channel, you found the channel that harvests the demand another channel produced.

A multi-touch view helps here, since it at least distributes credit across the touchpoints rather than handing everything to the last click. ThoughtMetric, which sponsors this blog, reports ROAS by channel and campaign under a multi-touch model rather than platform-reported figures, which is the comparison you actually want, and it runs $99 per month for 50,000 monthly pageviews with all features included at every tier plus a two-week free trial. Any tool that puts both channels in one model on consistent rules will serve the purpose. The requirement is that the numbers come from one place rather than from each platform’s own reporting.

The platforms are not even measuring the same events

Even setting attribution aside, the default settings differ in ways that make the raw comparison meaningless.

Meta counts view-through conversions by default, crediting itself when someone saw an ad without clicking. Google Search does not have a view-through equivalent in the same sense, though Performance Max blends display and video inventory in ways that muddy this considerably. Meta’s default attribution window and Google’s are not the same length. Both count conversions on the day of the click rather than the day of the sale, which shifts revenue between periods differently depending on each channel’s typical consideration time.

Stacked up, these differences alone can account for a meaningful chunk of the gap before you get to anything about channel quality.

How to settle it

Attribution data cannot answer whether a channel is incremental. It can only tell you how credit was assigned under rules you chose. To find out what a channel actually contributes, you have to turn it off somewhere.

The cheapest useful version is a geographic holdout. Pause the channel in a set of regions that represents perhaps ten to fifteen percent of revenue, hold everything else constant, run it for at least three weeks, and compare total orders in the paused regions against a matched set. Total orders, not attributed ones. If revenue in the holdout regions barely moves, that channel was not producing much you were not going to get anyway.

Brand search is the single best candidate for this test and the one most people avoid running, because the result is often uncomfortable. It is also the fastest to read, since the effect shows up within days rather than waiting out a consideration cycle.

My working rule is to compare non-brand Google against Meta and never the blended figures, to treat both platforms’ self-reported numbers as marketing material rather than measurement, and to make budget shifts between channels on holdout evidence instead of ROAS rankings. The ranking tells you which channel books credit most easily. That is not the same as which one grew the business. I went through the mechanics of running the test in brand search is the easiest thing to test and the hardest thing to be honest about.

Leave a comment

Navigation

About

Six years in e-commerce. Three Shopify stores across different niches, one scaled past seven figures. I’ve tested hundreds of ad creatives, obsessed over email flows, and learned more from my failures than my wins.

Now I focus on conversion optimization, retention marketing, and the analytics behind it all. This blog is where I share what actually works, backed by real numbers. No fluff, no guru energy.