Skip to content

How to audit a high Google Shopping ROAS, step by step

Work through Google Ads in order: what feeds the Conversions column, how each sale is valued, and which searches and products carry the value. Then compare Shopify and GA4. Fix brand searches, duplicates and returns before you raise the budget.

By , Founder & CEOUpdated 8 min read

Run the numbers for your store: the free break-even ROAS calculator.

A high Google Shopping ROAS usually means late, decided buyers and a generous count. To audit it, check what feeds the Conversions column and how each purchase is valued. Then see which searches and products carry the value, and what Shopify and GA4 recorded. Fix brand searches, duplicates and returns before you raise the budget.

Open Google Ads, GA4 and your Shopify admin in three tabs. Steps 1 to 6 happen in Google Ads, step 7 in Shopify and step 8 in GA4.

Work in that order. A duplicate tag or a value rule changes every number after it, so fix the counting before you study the buyers. Keep a note of each finding with the date range you used, because the windows and settings change what each report shows.

Step by step

  1. List what feeds the Conversions column. Only primary conversion actions are reported in Conversions, and your ROAS columns build on them. Look for two primary purchase actions, such as a Google Ads tag and a GA4 import. Menu path: Goals icon > Conversions > Summary; to demote one, Edit goal > Conversion action optimization > Secondary (observe only).
  2. Read each purchase action's settings. Check Count, Value, Conversion window and Attribution model. For website actions, Every is the default count, 30 days the default window, and data-driven the default model for most actions. Menu path: Goals icon > Conversions > Summary > click the action > Edit settings.
  3. Compare the value with the value before adjustments. Conversion value rules and lifecycle goals can raise the value Google reports. Original conv. value shows the unadjusted value next to it. Menu path: Campaigns table > Columns > add Original conv. value beside Conv. value.
  4. Split new and returning customers. Shopping campaigns bid equally for new and existing customers unless you change it. With a customer acquisition goal active, a segment shows the split. Menu path: Campaigns table > Segment > New vs. returning customers.
  5. Count the brand searches. Shopping ads match searches to your product data, not to keywords, so your own brand name can trigger them. Note the conversion value those searches bring. Menu path: Campaigns > Insights and reports > Search terms. To exclude them in a test: Campaigns icon > Audiences, keywords, and content > Search keywords > Negative search keywords > plus button.
  6. Find the products that carry the value. A few bestsellers can lift a whole campaign's ROAS. Sort by conversion value and read the top items one at a time, with their search terms from step 5 beside them. Menu path: Campaigns icon > Insights and reports > Report editor > View all in Predefined reports (formerly Dimensions) > Shopping > Item ID.
  7. Compare with Shopify's own count. Shopify's campaigns report for Google has a partner row, so you can set Shopify's attribution beside Google's. Its Sales figure comes after discounts and sales reversals, without tax or shipping. Menu path: Shopify admin > Growth > View channel report > Google > partner row.
  8. Check where GA4 files the clicks. GA4 puts Standard Shopping clicks under Paid Shopping and Performance Max under Cross-network. Its session channels credit the last click, paid or organic. If Performance Max also sells your products, add the Cross-network row before you compare. Menu path: GA4 > Reports > Acquisition > Traffic acquisition > Session default channel group.

A worked example

Here is one Shopping campaign for one month, with round numbers made up for illustration.

For illustration: one month, one Shopping campaignConversion valueROAS on €1,000 of spend
Conv. value, as reported€9,0009x
Original conv. value, from step 3€8,0008x
Without brand searches, from step 5€5,0005x
After returns, from Shopify's sales reversals€4,5004.5x

For illustration, the campaign reports €9,000 of value on €1,000 of spend, a 9x ROAS. Step 3 shows, for illustration, that €1,000 of it came from value rules rather than from orders.

Step 5 then finds, for illustration, €3,000 of value on searches for the brand itself. Those buyers were looking for the store by name. Take out €500 of returned orders as well and, for illustration, the campaign stands at 4.5x. Step 4 can cut it again. For illustration, if most of the €4,500 came from returning customers, the campaign is mostly reselling to buyers you already have.

Now compare that with the floor. One store's Break-even sheet works the arithmetic: at a 40% margin, break-even ROAS is 2.5x, since 1 divided by 0.40 is 2.5. That row is arithmetic, not that store's own result.

For illustration, 4.5x still clears 2.5x, so the campaign may well pay its way. But for illustration, half of the 9x on the dashboard was value rules, people searching by name and orders that came back.

Say you want to know whether the remaining 4.5x is caused by the ads. Switch the campaign off in some regions and compare total orders there with the rest. The audit tells you what Google counted. Only a test tells you what the campaign added.

What to check when the report looks wrong

  • Conversions jumped on the day a tag or app went live. A second purchase action may now be primary. Google says conversions created from GA4 start as secondary, so someone switched it on.
  • One order shows up twice. A reload of the thank-you page can fire the tag again. A unique transaction ID lets Google Ads drop the duplicate within the same conversion action.
  • The ROAS rose but Shopify sales did not. Look for a new conversion value rule or a newly activated lifecycle goal, then compare Conv. value with Original conv. value.
  • The New vs. returning customers segment is missing. It only appears once a lifecycle goal is active and the campaign optimizes for purchases.
  • GA4 shows far less Paid Shopping revenue than Google Ads. Performance Max lands in Cross-network, and GA4 credits sessions from every channel. Google Ads counts its own clicks for up to 30 days, so compare trends, not totals.
  • Your brand name is missing from the search terms. Google leaves some low-volume searches out of the search terms report for privacy reasons. Search terms insights groups those into themes, so check there before you conclude brand searches are rare.
  • Shopify's Google row disagrees with Google. Shopify's Sales leave out tax and shipping and take off sales reversals. Google's value comes from your tag, which may differ again.

What to do this week

  1. Write down four numbers for last month. Note the reported value, original value, brand-search value and returned value for your main Shopping campaign. Pass: all four sit in one sheet next to the spend. Fail: one is missing, so the ROAS you report is Google's, not yours.
  2. Upload last month's returns as adjustments. Click the Goals icon, then Conversions and Uploads, press the plus button, choose View templates and take the Conversions adjustments template. Pass: the upload processes and the value drops by the returned amount. Fail: it cannot match orders, so add an order ID to your purchase tag first.
  3. Set one week of Google beside Shopify. In Shopify admin, open Growth, then View channel report and Google, and read the partner row. Pass: the gap is one you can explain with windows and models. Fail: Google sits far above Shopify, so go back to steps 1 to 3.

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 primary and secondary conversion actions (Google Ads Help); About conversion counting options (Google Ads Help); About conversion windows (Google Ads Help); About attribution models (Google Ads Help); Measure your lifecycle goals campaigns (Google Ads Help); About conversion value rules (Google Ads Help); Create a Shopping campaign (Google Ads Help); About Shopping ads (Google Ads Help); About the search terms report (Google Ads Help); Use negative keywords for a Shopping campaign (Google Ads Help); Monitor and optimize your Shopping campaigns (Google Ads Help); Measuring marketing performance (Shopify Help Center); Default channel group (Google Analytics Help); Traffic acquisition report (Google Analytics Help); How to adjust your conversions (Google Ads Help); Use a transaction ID to minimize duplicate conversions (Google Ads Help); Sales reports (Shopify Help Center).

Frequently asked questions

  • How do I see Google Ads conversion value before value rules?
    Add the Original conv. value column to the Campaigns table. Google's help says it shows the unadjusted value before conversion value rules or lifecycle goal adjustments. If it sits well below Conv. value, part of your ROAS is adjustment, not revenue.
  • Can I see Shopping sales from new customers only?
    Inside Google Ads, only with a customer acquisition goal active: then the New vs. returning customers segment appears under Segment. Without one, use Shopify's channel report, which can show new and returning customers for each channel.
  • Why does GA4 show less Shopping revenue than Google Ads?
    GA4 credits sessions from every channel and files Performance Max under Cross-network, not Paid Shopping. Google Ads credits only Google ads, inside its own window. The two answer different questions, so compare their trends, not their totals.

Go deeper: Incrementality testing, explained.

Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.

Keep reading

Terms in this article

Browse the full glossary

Your platforms guess.
We run the math.

Upload a GA4 export and see what each channel caused, next to last-click, in 1–2 minutes. The read is yours to keep.

Free, in your browser: your file is not uploaded. The full read is €99, refundable within 30 days. Prices exclude VAT.
Or book a 30-min call.