ROAS Formula: How to Calculate It and When Not to Trust It
Get the ROAS formula, a worked example and checks that show if your Google Ads figure is real: a fixed value on every order can turn a true 4.5 into 3.75.
ROAS (return on ad spend) is the revenue your ads bring in divided by what you paid for them: ROAS = conversion value ÷ ad spend. If every 1 you spend brings back 4.5 in tracked revenue, your ROAS is 4.5, also written as 450%. It measures revenue, not profit, and it is only as accurate as the order amounts your site sends to Google Ads. A fixed value on every order, an order counted twice or one oversized payment makes the ROAS in your report wrong.
ROAS is one of the core numbers in a store’s unit economics, and one of the easiest to misread.
What does ROAS mean?
Return on ad spend shows how much revenue each unit of ad spend brought back. It has two parts:
- Revenue is the sum of the conversion value of your orders: the amount your site sends to Google Ads with each purchase. Google Ads shows the total in the Conv. value column.
- Spend is what Google charged for clicks and impressions over the same period.
Google Ads Help (Understand your conversion tracking data) defines the Conv. value / cost column as total conversion value divided by the total cost of ad interactions. That column is your ROAS as a plain ratio.
Two limits follow from this definition:
- It is ad revenue, not store revenue. ROAS counts only the orders Google Ads credits to its ads. Purchases without an ad click, from organic search, direct visits or newsletters, stay outside it. The same help page notes that the Conversions column may also include modelled conversions where Google cannot observe every one.
- It leaves out the cost of goods. Purchase prices sit outside the ad account, so ROAS counts a profitable order and a loss-making one the same way.
How do you calculate ROAS?
ROAS = conversion value ÷ ad spend
- Pick one period and one scope: a campaign, a product group or the whole account.
- Take the conversion value for that scope and period.
- Take the ad spend for the same scope and period.
- Divide value by spend. Multiply by 100 if you want a percentage.
Example store, not client data.
A tableware store with 3,000 products spends 40,000 a month on Google Ads. Its 300 tracked orders bring 180,000 in conversion value. ROAS = 180,000 ÷ 40,000 = 4.5. For every 1 spent, 4.5 came back in revenue, or 450%.
Account ROAS is a ratio of totals, not an average
The formula works the same at every level: you divide totals rather than average the ROAS of each part. Split the example store’s account into two campaigns:
| Spend | Conversion value | ROAS | |
|---|---|---|---|
| Campaign A | 30,000 | 150,000 | 5.0 |
| Campaign B | 10,000 | 30,000 | 3.0 |
| Simple average of the two ROAS figures | 4.0 — wrong | ||
| Account: 180,000 ÷ 40,000 | 40,000 | 180,000 | 4.5 — right |
The simple average gives the small campaign as much weight as the big one. Dividing total value by total spend weights each campaign by the money that went through it.
How is ROAS written: 4.5, 450% or 4.5:1?
All three forms describe the same result. Pick one and keep it across your reports.
| Form | Example store | Where you meet it |
|---|---|---|
| Ratio | 4.5 | The Conv. value / cost column in Google Ads |
| Percentage | 450% | The target you enter for Target ROAS |
| x:1 | 4.5:1 | Marketing guides, such as Shopify’s |
Google’s guide (Tips on measuring Smart Bidding performance) says to multiply Conv. value / cost by 100 to get a target ROAS percentage. That percentage is what you enter when you set a Target ROAS. In Google’s example (About Target ROAS bidding), 5 in sales for each 1 of ad spend means a target of 500%. Shopify’s guide (Return on Ad Spend: How To Calculate Your ROAS) writes a 200% result as 2:1.
The mix-up to avoid: a ROAS of 4.5 is not 4.5%. If a report shows 4.5 and a settings field asks for a percentage, the number to enter is 450%.
ROAS, ACoS, POAS and ROI: which question each answers
Spend and conversion value also give you ACoS, the share of revenue that went on ads. ACoS is 1 ÷ ROAS:
| ROAS (ratio) | ROAS (%) | ACoS |
|---|---|---|
| 2 | 200% | 50% |
| 3 | 300% | 33.3% |
| 4 | 400% | 25% |
| 4.5 | 450% | 22.2% |
| 5 | 500% | 20% |
| 8 | 800% | 12.5% |
ROAS and ACoS are the same fact seen from two sides. POAS and ROI answer other questions, because they add the cost of goods, which sits outside the ad account:
| Metric | Formula | Question it answers | Example store |
|---|---|---|---|
| ROAS | conversion value ÷ spend | How much revenue came back for each 1 spent? | 4.5 (450%) |
| ACoS | spend ÷ conversion value × 100% | What share of revenue went on ads? | 22% |
| POAS | gross profit ÷ spend | How much gross profit came back for each 1 spent? | 1.6 |
| ROI | (revenue − all costs) ÷ all costs × 100% | What did you earn on top of everything the sales cost? | depends on which costs you count |
Google itself blurs the line. Its help page on conversion data describes Conv. value / cost as an estimate of return on investment. Yet its own ROI definition (Return on investment (ROI)) subtracts the cost of goods.
In Google’s example, a product costs $100 to make and sells for $200. Six sell through ads, so sales are $1,200 against $200 of ad spend. ROAS is 1,200 ÷ 200 = 600%, and ROI is (1,200 − (600 + 200)) ÷ (600 + 200) = 50%. The same sales give 600% on one measure and 50% on the other.
Why isn’t ROAS the same as profit?
ROAS divides revenue by spend. Profit also depends on the cost of goods, delivery, payment fees and returns, and all of that sits outside the ad account. Two stores with the same ROAS can end the month far apart on profit.
Take the example tableware store: 180,000 in revenue on 40,000 of ad spend, a ROAS of 450% and a gross margin of 35%. That revenue leaves 63,000 of gross profit. After paying for the ads, 23,000 is left to cover everything else.
Ad spend eats the whole gross margin at a ROAS of 1 ÷ 0.35 = 2.86, or 286%. Below that, orders from ads lose money on the goods and the ads alone. A store with a 60% gross margin reaches that point at 1 ÷ 0.60 = 167%. The full calculation, and which costs belong in it, is in break-even ROAS.
So whether 450% is a good result depends first on your margin. Benchmarks from comparable stores are in what counts as a good ROAS. ROAS also moves with average order value, conversion rate and cost per click. Which of those to work on first is covered in how to increase ROAS.
When can the ROAS in your Google Ads report not be trusted?
The formula is simple. The trouble is on the value side: Google Ads knows only the values your site sends. According to Google’s help page on Target ROAS, that bid strategy predicts future conversions and their values from the conversion values you report. So a wrong value skews the report and the bidding at the same time.
These are the usual cases, each shown on the example store. Its real ROAS is 4.5: 300 orders, 180,000 in conversion value and 40,000 of spend.
Every order carries the same value
According to Google Ads Help (About conversion values), a conversion action can use the same value for each conversion or a different value for each. Google says a store selling products at different prices should use different values. Without the order amount from your site, Google Ads uses the default value you entered for every conversion.
Say the purchase action carries a fixed 500 instead of the real amount. The report shows 300 × 500 = 150,000 in conversion value and a ROAS of 3.75, while the real figure is 4.5. The wrong number looks plausible, and that is the danger. The bid strategy also sees a 200 order and a 2,000 order as the same.
One order is counted twice
A second primary conversion action fires on the same purchase: an import from analytics, an old tag, an app from your e-commerce platform. If every order is counted twice, the example store’s report shows 600 orders, 360,000 in conversion value and a ROAS of 9.0. That is twice the real figure, while the sales stayed the same.
One payment is many times a normal order
A wholesale shipment, a test order or a checkout glitch arrives as one conversion. Add a single 60,000 order to the example month and conversion value becomes 240,000, so ROAS reads 6.0. One conversion out of 301 lifted the account’s ROAS by a third.
The column counts more than purchases
The Conversions column counts primary conversion actions and is the one Smart Bidding uses. According to Google Ads Help (About “All conversions”), All conversions also includes secondary actions and view-through conversions. A ROAS read from the All conv. value / cost column can therefore include value from actions other than purchases. If an add to cart is set as a primary action, the Conversions column counts it alongside purchases too.
The last few days are still incomplete
In its main conversion columns, Google Ads reports a conversion against the day of the click, not the day of the purchase. Spend is counted by click date too, which keeps spend and value comparable (Understand your conversion tracking data).
But orders from recent clicks keep arriving, in some cases for days or even weeks, according to Google’s Smart Bidding guide. So the last few days usually show a lower ROAS than they will end up with. Google itself leaves out the last few days when it recommends a target ROAS.
The value includes tax or delivery
Say the site sends the full order total with VAT or a delivery fee in it. Then ROAS also counts money that passes through the store to the tax office or the courier. Whether to include them, and how that changes the target your bids aim at, is covered in what conversion value should include.
The portal hides ROAS when the order value isn’t real
In the portal’s conversion check, ROAS appears only while the order amount behind it can be trusted. There are two modes:
| Mode | What the portal sees | Revenue | ROAS | Conversions | CPA (cost of one order) |
|---|---|---|---|---|---|
| Value is real | The real order amount is passed | Shown | Shown | Shown | Shown |
| Value is default or mixed | One and the same number is substituted under the orders | Greyed out, marked “not trusted” | Not shown | Shown | Shown |
In the second mode, the portal runs the account by the number of orders and the cost of one order. Its reasoning: a ROAS counted on a made-up amount would mean “lying more neatly than the original report already does”.
Four checks feed conversion trust, the portal’s measure of how far your conversion numbers hold up. The first one decides the mode:
- Fixed value. The portal compares the number in the conversion settings with what actually arrives. It also catches the reverse case: the settings say “pass the real amount”, yet every order still carries the same number.
- Double counting. It looks for two primary goals counting the same purchase and lowers trust in the campaigns where that happens.
- Oversized payments. When a product’s conversion value for a day exceeds the account’s median order value × 30, the portal flags it. It goes on a separate list with its date, campaign, product and multiple of the median. The list exports to CSV, so you can work through it in your account.
- Funnel steps. It separates purchases and leads from everything else and shows which goals are primary and really fire.
Each product campaign also gets an order-value corridor. From 10 conversions on, the portal compares the campaign’s average order value with the account’s median order value. An average below 0.3× the median points to a fixed value; one above 8× is too high for a real basket.
If the example store’s median order value were 600, the corridor would run from 180 to 4,800. The oversized-payment flag would start at 18,000 of conversion value for one product in a day. A single 60,000 order would be 100 times that median.
Conversion trust for the whole account is weighted by spend, the same logic as account ROAS. A campaign counts exactly as much as the money that runs through it. So a dozen tidy small campaigns cannot hide one large one with broken values.
What to check before you act on your ROAS
- Check that the purchase action gets real order amounts. In Google Ads, go to Goals → Summary, open the purchase conversion action and choose Edit settings → Value. Make sure “Use different values for each conversion” is selected and that your site sends the amount with each order. Google describes the tag side in Track transaction-specific conversion values.
- Compare Value / conv. with your store’s average order value. Use the same period for both. If Value / conv. matches the default value to the cent, Google Ads is recording the default value instead of real amounts.
- Count the primary purchase actions. If two of them can fire on one order, the same order may be counted twice.
- Look for single orders far above your median order value. Decide on each one: keep a real order, and keep a test or wholesale order out of your bidding.
- Read Conv. value / cost, not All conv. value / cost, when you judge sales.
- Leave out the last few days when you compare periods, and compare whole weeks.
- Compare ROAS with your break-even ROAS, worked out from your own margin, before you call it good or bad.
See what share of your numbers you can trust. Sign in with Google in one click. The portal changes nothing without your consent.
Sources
- Understand your conversion tracking data — Conv. value / cost is total conversion value divided by total cost; the Conv. value and Value / conv. columns; the Conversions column counts primary actions and may include modelled conversions; conversions are reported by click date, as is spend. Checked 2 October 2026.
- Tips on measuring Smart Bidding performance — multiply Conv. value / cost by 100 for a ROAS percentage; some conversions arrive days or even weeks after the click, so recent performance might look weaker. Checked 2 October 2026.
- About Target ROAS bidding — the 500% example; Target ROAS predicts conversions and values from reported conversion values; the recommended target leaves out the last few days. Checked 2 October 2026.
- About conversion values — same or different value for each conversion; stores with different prices should use different values; without the code, the default value is used for all conversions. Checked 2 October 2026.
- Track transaction-specific conversion values — the path to the “Use different values for each conversion” setting and the default value. Checked 2 October 2026.
- About “All conversions” — All conversions includes secondary actions and view-through conversions; the Conversions column is used by Smart Bidding. Checked 2 October 2026.
- Return on investment (ROI) — Google’s ROI definition and the $1,200 / $200 example. Checked 2 October 2026.
- Return on Ad Spend: How To Calculate Your ROAS — the 2:1 notation for a 200% ROAS. Checked 2 October 2026.
- GetProfit portal methodology — the two value modes, the four conversion checks, the median order × 30 flag, the 0.3×–8× order-value corridor from 10 conversions, spend-weighted trust.
Average Order Value: Formula, Google Ads Mismatch and ROAS
Calculate average order value for ad traffic and see why Google Ads shows a different figure from your shop's, such as one default value for every order.
Ecommerce Unit Economics: From Margin to Break-Even ROAS
Find the ROAS where your ads break even: a 25% contribution margin needs 400%. Then see what one order earns after cost of goods, delivery, fees and ads.
How to Calculate Cost per Acquisition and Break-Even CPA
Find out what one order costs you in Google Ads and the most you can pay for it: average order value × margin, minus delivery and other per-order costs.
Profit-Based Bidding in Google Ads: Four Ways Compared
See which way to make Google Ads bid on profit fits your store, and why conversion value rules cannot carry product margin.
Product Bundling Around a Bestseller to Raise Order Value
Earn more per order from the shoppers your bestseller brings: a worked example of how big a bundle discount can be, and when to add the bundle to Shopping ads.
Ecommerce Pricing Strategy for Google Shopping Ads
See whether to change price, shipping or discounts first in Shopping ads. In our data on 213,913 products, a smaller share sold if priced far above the market.