Why is my Google Shopping ROAS so high?
Usually because Shopping ads meet buyers at the last step: they saw the photo and price before clicking. Google Ads then counts the sale for up to 30 days, shares credit only among Google ads and keeps returns in the value. High often means late, not more.
By Joris van Huët, Founder & CEOUpdated 7 min read
Run the numbers for your store: the free break-even ROAS calculator.
Usually because Shopping ads meet people at the last step. The shopper saw the photo and price before clicking, and often searched for your product by name. Google Ads then counts the sale for up to 30 days, shares the credit only among Google ads, and keeps returned orders in the value.
Why do Shopping ads look so good in Google Ads?
Start with what the shopper sees. Google's help says Shopping ads show a product photo, title, price and store name. That gives people "a clear view of your product before they click".
In Google's own example, a shopper named Sally clicks only after judging the look and the price. Google says that puts her "further down the purchasing funnel" than the average web user. It adds that this makes users more likely to complete a purchase.
Then look at what Google Ads counts. The default conversion window is 30 days, so a purchase up to 30 days after the click counts. A shopper who clicks today and buys in three weeks still lands in your ROAS.
Credit stays inside Google. Its attribution models share a sale among "multiple ads from the same advertiser". Data-driven attribution, the default for most conversion actions, looks at Search, Shopping, YouTube, Display and Demand Gen ads. The Instagram ad, the newsletter and the friend who recommended you are not on that list.
Every buyer counts the same. Google says Shopping campaigns bid equally for new and existing customers by default. A loyal customer who searches your product and clicks the ad counts like a stranger.
And the value can outgrow the money. Conversion value rules and lifecycle goals can raise the value Google reports. A returned order keeps its value until you upload an adjustment. A thank-you page that reloads can fire the tag twice, unless each purchase carries a transaction ID.
What one store's data shows
The usual answer is that Shopping converts because shoppers are ready to buy, so you should scale it. Here is what one store's GA4 export says about how ready buyers already are.
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 |
|---|---|---|
| Journeys with 1 touch (0.5 days to buy) | 79.5% | Journeys sheet, 1 touch row |
| Journeys with 2 or more touches (12.2% + 5.4% + 3.0%) | 20.6% | Journeys sheet, 2-3, 4-9 and 10+ touches rows |
| Journeys with 4 to 9 touches (16.9 days to buy) | 5.4% | Journeys sheet, 4-9 touches row |
On the Journeys sheet, single-touch journeys hold 79.5% of revenue and take 0.5 days to buy. One visit, one purchase, inside a day.
If that one visit came from a Shopping click, nothing else in the journey could share the credit. Last click, data-driven or any other model hands it the whole sale. Wherever most revenue arrives this way, the ad standing at that single visit looks brilliant.
Journeys of 2 or more touches hold the other 20.6% of revenue on the Journeys sheet. Those with 4 to 9 touches take 16.9 days to buy, well inside Google's default 30-day window.
So a Shopping click near the end of a 16-day journey can still take full credit in Google Ads. Only another Google ad on the path would share it, and the touches that started the journey get nothing there.
The export holds no spend and no channel split per journey, so it cannot say how much of that revenue touched a Shopping ad. It shows how much revenue arrives in one quick visit, which is where a late ad collects full credit. It is one store, not a benchmark.
Why does the usual answer mislead?
Because "ready to buy" describes the shopper, not the ad. The Shopping ad met the intent. Something else, often earlier and often outside Google, created it.
Brand searches make it worse. Shopping ads match searches to your product data, not to keywords, so a search for your own brand can trigger them. Those shoppers were already looking for you. Negative keywords can keep Shopping ads off those searches, and the branded search answer covers when paying for your own name makes sense.
ROAS is also an average. It mixes the searches you win easily with the marginal ones. Extra budget buys more of the marginal kind, so the next euro usually earns less than the average suggests.
And a high number hides costs it never saw. If you use Shopify's Google & YouTube app, the purchase value Google receives is the subtotal minus discounts, without shipping or tax. Your margin, your delivery costs and your returns are not in it.
What can the Shopping number not tell you?
Whether the buyer would have bought anyway, through your free listing, an organic result or the address bar. Google Ads only sees its own click.
Whether the buyer was new. Google Ads only splits new from returning customers once you activate a customer lifecycle goal.
Whether you made money. ROAS on revenue says nothing about margin. Hold it against your break-even ROAS, and against what happens when the campaign is switched off in some regions.
What to do this week
- Count the brand searches in your Shopping campaign. In Google Ads, open the campaign, go to Insights and reports and choose Search terms, then filter for your brand name. Pass: brand searches bring a small share of the campaign's conversion value. Fail: they carry it, so the ROAS mostly measures people who were already looking for you.
- Check what feeds the Conversions column. Click the Goals icon, then Conversions and Summary, and list the purchase actions marked primary. Pass: one purchase action is primary. Fail: two are, for example a Google Ads tag and a GA4 import, so each sale can count twice.
- Put returns next to the value. In Shopify admin, go to Analytics, then Reports, and open a Sales report for the products the campaign sells most. Pass: sales reversals are small next to sales. Fail: they are large, so upload conversion adjustments or discount the ROAS before you judge it.
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: About Shopping ads (Google Ads Help); About conversion windows (Google Ads Help); About attribution models (Google Ads Help); About data-driven attribution (Google Ads Help); Create a Shopping campaign (Google Ads Help); About conversion value rules (Google Ads Help); How to adjust your conversions (Google Ads Help); Use a transaction ID to minimize duplicate conversions (Google Ads Help); Use negative keywords for a Shopping campaign (Google Ads Help); Shopify event parameters (Google for Developers); Measure your lifecycle goals campaigns (Google Ads Help); About the search terms report (Google Ads Help); About primary and secondary conversion actions (Google Ads Help); Sales reports (Shopify Help Center).
Related answers
Frequently asked questions
Does Google Shopping ROAS count repeat customers?
Yes. Shopping campaigns bid equally for new and existing customers by default, and a purchase after a click counts either way. Unless you set a customer acquisition goal, a loyal buyer who searches your product and clicks counts like a new one.Why is my Shopping ROAS higher than my Search ROAS?
Often because Shopping ads show the photo and price before the click. Google's help says this gives shoppers a clear view of the product before they click and makes them more likely to buy. The ad meets people further along, not necessarily more people.Should I raise the budget on a high-ROAS Shopping campaign?
Not on the ROAS alone. It averages the searches you already win, and extra budget buys the next, weaker ones. Raise it in some regions first and compare total Shopify sales there with the regions you left alone.
Go deeper: Incrementality testing, explained.
Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.
Keep reading
Terms in this article
- 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.
- ConversionConversion is a specific, desired action a user takes in response to a marketing message, such as a purchase or a sign-up.
- Google AdsGoogle Ads is an online advertising platform where advertisers bid to display ads, service offerings, and product listings.
- Google ShoppingGoogle Shopping is a Google service allowing users to search for products and compare prices from online retailers.
- IncrementalityIncrementality measures the true causal impact of a marketing campaign. It quantifies the additional conversions or revenue directly from that activity.
- Incrementality TestingIncrementality Testing measures the additional impact of a marketing campaign. It compares exposed and control groups to determine causal effect.
- NewsletterNewsletter is a regularly distributed email publication containing news, updates, and promotional content for subscribers.