Google Ads Audit · 6 min read · Published May 25, 2026

How to Calculate ROAS in Google Ads (Properly)

Google's ROAS formula is correct. The inputs are usually wrong. Here is the literal click path to find your number, the 3 input gotchas that distort it, and the honest 3-step way to calculate it.

By Aditya Chaturvedi

Founder, BTB Audits. $150M+ in ad spend managed across Meta and Google

The direct answer

Google Ads calculates ROAS (return on ad spend) as Conversion Value divided by Cost. It shows up as a multiplier, like 4.2x. The math is correct. The inputs are usually wrong. Google's "conversion value" depends on which conversion actions you set up, whether value tracking is on, and which attribution window you use. Most accounts above $20K in monthly spend show a Google ROAS that is 30 to 50 percent higher than the Shopify-actual number. The honest calculation takes 3 steps. Configure tracking, reconcile against Shopify, then adjust for lifetime value when you scale. These patterns repeat across $150M+ in ad spend managed across Meta and Google.

Google's own documentation on Target ROAS bidding states that the strategy works to maximize your conversion value while hitting an average return on ad spend equal to your target, and that it needs at least 15 conversions in the past 30 days for most campaign types. That is the catch. The bidding system, and the ROAS it reports, are only as good as the conversion value you feed it. Most accounts at $20K+ monthly spend have value tracking technically on but functionally broken. So the ROAS Google reports is computed on incomplete data.

Where to find ROAS in your Google Ads dashboard

Many people just want to know where the number lives. Here is the literal click path.

  1. Open Google Ads and go to the Campaigns view.
  2. Click Columns, then Modify columns.
  3. Open the Conversions section.
  4. Check the box for "Conv. value / cost".
  5. Click Apply.

That adds the ROAS column to your campaign table. You can also find it in the Reports section. Go to Predefined reports, then Campaigns, then Performance. The diagram below shows the path.

The formula and what each input means

The formula is simple.

Google Ads ROAS = Total Conversion Value / Total Ad Spend

The trouble is the inputs. Three things distort them.

First, "Conversion Value" depends on what you set up. If you set values by hand, like $5 per Lead or $50 per Purchase, Google uses those. If you pass live values from your cart, Google uses those. If you set up neither, Google cannot calculate ROAS at all. It shows "n/a".

Second, the attribution window changes the number a lot. The default is a 30-day click plus 1-day view. Switch to 1-day click only and ROAS drops 20 to 40 percent, because fewer conversions get credited.

Third, "Cost" is only the platform fee. It does not include your agency, your creative production, or your time. The true cost for honest unit economics runs 15 to 25 percent higher than what Google reports.

Why your Google ROAS doesn't match your Shopify ROAS

You pull up Google. It says 4.2x. You pull up Shopify. It says 2.6x. Same week, same spend. The gap is real, and it has 3 causes.

First, over-attribution. Google credits conversions that would have happened anyway. Brand search and last-click bias both inflate the number.

Second, cross-platform double-counting. The same sale shows up in Google, Meta, and Shopify. Each platform claims it. So each platform's reported revenue is inflated.

Third, view-through windows. Google counts "view-through conversions", where someone saw your ad and bought later. Shopify cannot match those to a click.

The honest calculation is simple. Pull Google-reported conversions. Add up the claimed conversions across every platform. Compare that total to real Shopify orders for the same period. The gap is your over-attribution. We dig into this split in why your ad reports show three different numbers. Run your own gap below.

The table shows how the same account reads at different attribution windows. The Shopify-actual number stays flat, because it is the ground truth. What changes is how hard Google credits clicks.

Reported Google ROAS by attribution window vs the constant Shopify-actual number
Attribution windowTypical reported ROASTypical Shopify-actual ROAS
30-day click + 1-day view (default)4.2x2.6x
30-day click only3.8x2.6x
1-day click only2.4x2.6x
Data-driven attribution3.5x2.6x

How to calculate ROAS the honest way

Three steps get you a number you can trust.

Step 1: Audit your conversion tracking. Turn on value tracking. Make sure conversions fire on the right events, Purchase or Lead, not View Content or Add to Cart. Set the attribution window to match how you report.

Step 2: Reconcile against Shopify. Do this monthly. The gap between Google-claimed and Shopify-actual is your over-attribution baseline. Once you know it, you can read Google's number with a built-in discount.

Step 3: Adjust for lifetime value when scaling. First-purchase ROAS is the wrong metric for scaling calls. A repeat buyer is worth far more than one order. For the full breakdown, see why you're calculating your ROAS wrong.

A clean ROAS number is not the end goal. It is the input to better decisions. If you are also deciding whether to trust Target ROAS as a bid strategy, the answer is in the Smart Bidding Audit. And if you want the benchmark that tells you whether your number is even good, see what is a good ROAS for Google Ads. For the full account walkthrough, start with the Google Ads audit method.

Frequently asked questions

Common questions

About Google Ads ROAS

How do I calculate ROAS in Google Ads?

Google calculates ROAS as Conversion Value divided by Cost, shown as a multiplier like 4.2x. To see it, add the 'Conv. value / cost' column from Columns, then Modify columns, then the Conversions section. The math is correct, but the inputs depend on your conversion value setup and attribution window, so reconcile the number against your real Shopify orders before you trust it.

What is the formula for Google Ads ROAS?

ROAS equals total conversion value divided by total ad spend. If you spend $10,000 and Google records $42,000 in conversion value, that reads 4.2x. The formula never changes. What changes is the conversion value Google records, which depends on whether value tracking is on and which attribution window you use.

Why is my Google Ads ROAS different from my Shopify ROAS?

Three reasons. Google over-attributes conversions that would have happened anyway. The same sale gets double-counted across Google, Meta, and Shopify. And Google counts view-through conversions that Shopify cannot match to a click. Add up every platform's claimed conversions, compare to real Shopify orders for the same period, and the gap is your over-attribution.

Is conversion value the same as ROAS?

No. Conversion value is the total dollar value Google records for your conversions. ROAS is that conversion value divided by your cost. Conversion value is one input. ROAS is the result. If your conversion value is set up wrong, your ROAS will be wrong even though the formula is correct.

Google's ROAS formula is fine. The inputs are where the money hides. If your conversion tracking, attribution window, or cost denominator is off, your reported ROAS is fiction. The Free Quick Scan checks the inputs on your account using public data only.

If you don't have four to six hours, or you want a second pair of eyes that's managed $150M+ across Meta and Google, the Free Quick Scan is what I built for that. I'll record a private 5 to 7 minute Loom walking through the leaks I find on your account using public data only. You'll have it in 48 hours.

Get Your Free Quick Scan →
$150M+ in ad spend managedPrivate Loom, not a PDF templateMoney-back guarantee10+ years on Meta and Google
About the author

Aditya Chaturvedi is the founder of BTB Audits. He has managed $150M+ in ad spend across Meta and Google for DTC, SaaS, and lead-gen brands ranging from $10K per month to $500K per month. The reconciliation gap in this post is the same one BTB Audits runs on every Forensic Report. Read more on the BTB Audits blog.