---
title: "How to improve ROAS: fix products, not the ratio | Product Metrics"
description: "Improving ROAS only counts when performance and profitability improve. Work per product against break-even, then measure profit directly with POAS."
canonical: "https://www.productmetrics.io/blog/how-to-improve-roas"
pageType: article
language: en
publisher: "Product Metrics"
author: "Berend Vrakking"
datePublished: 2026-10-07
dateModified: 2026-10-08
image: "https://www.productmetrics.io/og/blog/how-to-improve-roas.png"
---

> Content index: https://www.productmetrics.io/llms.txt

# How to improve ROAS: fix products, not the ratio

## Key takeaways

- A higher ROAS can mean less profit. Check each product against its break-even ROAS (1 ÷ contribution margin); POAS (ROAS × contribution margin) has a break-even of 1.0.
- In the example below, stopping the product with the lowest ROAS lifts account ROAS from 4 to 5 and cuts profit from €5,000 to €0.
- Six levers: know each product's break-even, lift margin through price and costs, count returns and shipping, shift priority between products, send every order to Google Ads, keep the feed accurate.
- After a change, Google Ads Help says to allow one to two conversion cycles before judging the result.

To improve ROAS in a way that pays, work per product against break-even ROAS (1 ÷ contribution margin) and count a change only when profit rises with it. The ratio alone is easy to push up: stop spending on a profitable product whose ROAS sits below the rest, and the ratio climbs while profit falls.

You can rerun every example below in the [break-even ROAS calculator](https://www.productmetrics.io/break-even-roas-calculator).

## A higher ROAS can mean less profit

ROAS leaves out what the products cost, so the account ratio and the account's profit can move in opposite directions. Say a shoe shop sells a pair of Nike trainers and a pair of Adidas trainers in one Shopping campaign. The Nike pair has a 20% [contribution margin](https://www.productmetrics.io/glossary/contribution-margin): of every €100.00 it sells for (excl. VAT), €20.00 is left after the shop pays for the shoes, shipping, fees and returns. Ad spend has to come out of that €20.00, so Nike breaks even at 5 (1 ÷ 0.20). The Adidas pair keeps €50.00 of every €100.00, a 50% margin, so it breaks even at 2. Each gets €10,000 of ad spend. Illustrative data.

| Scenario | Spend | Revenue | ROAS | Profit after ads |
|---|---|---|---|---|
| Before: Nike (20% margin) | €10,000 | €50,000 | 5 | €0 |
| Before: Adidas (50% margin) | €10,000 | €30,000 | 3 | €5,000 |
| Before: account | €20,000 | €80,000 | 4 | €5,000 |
| Stop Adidas: account (Nike only) | €10,000 | €50,000 | 5 | €0 |
| Double Adidas spend: account | €30,000 | €110,000 | 3.67 | €10,000 |

Adidas has the lower ROAS, so stopping it looks like the fix, and account ROAS duly rises from 4 to 5. But Adidas was the only pair making money: it clears its break-even by 1, while Nike sits exactly on its own.

**Figure: Account ROAS before and after changing the Adidas trainers' ad spend.** Each bar is the ROAS of the whole account. Stopping the Adidas trainers lifts it from 4 to 5, and doubling their spend lowers it to 3.67. On ROAS alone, stopping Adidas looks like the fix.

| Change to the Adidas trainers | Account ROAS |
| --- | --- |
| Before | 4 |
| Stop Adidas | 5 |
| Double Adidas spend | 3.67 |

_Source: Calculated as revenue ÷ ad spend, from the products in the table. Illustrative data_

The better move runs the other way. Adidas clears its break-even and Nike doesn't, so Adidas is the product to increase priority on. If its ROAS held at 3 while its spend doubled, account ROAS would fall to 3.67 and profit would double.

**Figure: Account profit after ads before and after changing the Adidas trainers' ad spend.** Each bar is the account's profit after ad spend. The highest ROAS gives the lowest profit: €0 after stopping Adidas, against €5,000 before and €10,000 with double the spend.

| Change to the Adidas trainers | Account profit after ads |
| --- | --- |
| Before | €5,000 |
| Stop Adidas | €0 |
| Double Adidas spend | €10,000 |

_Source: Calculated as revenue × contribution margin − ad spend, from the products in the table. Illustrative data_

> **Sidenote:** The doubled-spend scenario assumes spend and revenue both double, so Adidas keeps its 3 ROAS. What it does show is the direction: profit and ROAS moved opposite ways. POAS, which is ROAS × contribution margin, tracks profit directly, and break-even POAS is 1.0. See [POAS vs ROAS](https://www.productmetrics.io/blog/poas-vs-roas).

## Start from each product's break-even

Break-even ROAS is the line every improvement is measured against. [Contribution margin](https://www.productmetrics.io/glossary/contribution-margin) is the share of the price (excl. VAT) left after cost of goods and the variable costs of the order, and break-even is 1 over that: a 25% margin gives 1 ÷ 0.25 = 4.

Without this number, "improve ROAS" has no direction. A 3 product is a winner at a 50% margin and a loser at 20%. [Break-even ROAS per product](https://www.productmetrics.io/blog/break-even-roas-per-product) shows how to work it out, and [what is a good ROAS](https://www.productmetrics.io/blog/what-is-a-good-roas) shows how to read the result. The gap between a product's ROAS and its break-even is the thing you are trying to move.

## A higher price lowers the ROAS a product needs

A higher margin lowers the bar. A product at €100.00 with €80.00 of costs per order has a 20% margin and breaks even at 5. At €110.00 the margin is 27.3% and break-even is 3.7. At €120.00 it is 33.3% and 3.

**Figure: The ROAS one product needs to break even at five prices.** Each bar is the ROAS a product with €80.00 of costs per order needs to break even at that price. Moving the price from €100.00 to €120.00 lowers it from 5 to 3.

| Price excl. VAT | ROAS needed to break even |
| --- | --- |
| €100.00 | 5 |
| €105.00 | 4.2 |
| €110.00 | 3.67 |
| €115.00 | 3.29 |
| €120.00 | 3 |

_Source: Calculated as price ÷ (price − €80.00 of costs per order), assuming the same number of orders. Illustrative data_

Nothing in the ad account changed, yet the product now sits further above break-even. Lower costs per order do the same job: cheaper shipping, a better supplier price or lower payment fees all lift the margin.

Price is a business decision with its own risk, because it changes how many people buy. The formula only shows what the margin does to the ROAS the product needs, so check the product's ROAS again after any change. Discounts work in reverse: the price falls, the costs stay put, and break-even rises. [What is a good ROAS](https://www.productmetrics.io/blog/what-is-a-good-roas) has an example.

## Returns and shipping belong in the margin

They are variable costs like any other, and a product that looks fine on cost of goods alone can slip below break-even once they are in.

A product sells for €100.00 with €55.00 of cost of goods. That is a 45% margin and a break-even of 2.2. Add €10.00 of shipping, payment fees and packing and the margin is 35%, so break-even is 2.9. Add €5.00 per order for returns (say 10% of orders returned at a cost of €50.00 each) and it is 30% and 3.3.

**Figure: The ROAS one product needs to break even as each cost is counted.** Each bar is the ROAS a €100.00 product needs to break even with those costs counted. Shipping, fees and returns lift it from 2.2 to 3.3, so a product at 2.8 clears the first bar and misses the other two.

| Costs counted in the margin | ROAS needed to break even |
| --- | --- |
| Cost of goods only | 2.22 |
| Plus shipping, fees and packing | 2.86 |
| Plus returns | 3.33 |

_Source: Calculated as 1 ÷ contribution margin. Illustrative data: price €100.00 excl. VAT, cost of goods €55.00, shipping, fees and packing €10.00, returns €5.00 per order (10% of orders returned at €50.00 each)_

A product at 2.8 passes the first test and fails the next two. Use your own return rate and costs, and keep the price on the same basis (excl. VAT) as the conversion values in your ad account. The calculator has fields for returns, reverse logistics, shipping and fees.

## Move priority towards products that clear break-even

The biggest lever is which products get the priority. Compare each product's ROAS with its own break-even, then act per product: increase priority on the ones that clear it so they get more of the spend, lower priority on the ones far below it (or fix their price or costs first), and collect more data on anything with too few clicks to judge.

| Product (margin) | Break-even ROAS | ROAS | Ad clicks | Action |
|---|---|---|---|---|
| A (40%) | 2.5 | 4 | 3,200 | Increase priority |
| B (20%) | 5 | 3.2 | 2,900 | Lower priority |
| C (30%) | 3.3 | 6 | 40 | Collect more data |
| D (25%) | 4 | 4.2 | 1,800 | Keep and review |

**Figure: Four products: the ROAS each one needs against the ROAS it gets.** Each product has two bars: the ROAS it needs to break even and the ROAS it gets in the ad account. A clears its break-even by 1.5 and B misses it by 1.8. C looks best at 6 but has too few clicks to judge.

| Product (contribution margin) | ROAS needed to break even | ROAS in the ad account |
| --- | --- | --- |
| A (40%) | 2.5 | 4 |
| B (20%) | 5 | 3.2 |
| C (30%) | 3.33 | 6 |
| D (25%) | 4 | 4.2 |

_Source: Illustrative data. Break-even calculated as 1 ÷ contribution margin_

"Far below" needs judgement. A product just under its break-even may only look that way because recent orders haven't arrived yet, so give it time before you lower priority. A product that stays well below it over a long stretch of data is the one to act on, and the fix may be its price or costs rather than its ad spend.

Product C has the best ROAS and the least evidence. At 40 clicks, a couple of orders can produce 6, so I wouldn't move spend towards it yet. Product D clears its break-even by only 0.2: keep it and check it again.

Four rows fit in a table; four thousand need segments. [Product Segmentation](https://www.productmetrics.io/product-segmentation) runs the A-to-D comparison for every product: Product Metrics ML places each one in one of six segments by its ad clicks and its ROAS or POAS, and writes the segment to a Merchant Center [custom label](https://www.productmetrics.io/glossary/custom-labels) that your campaigns can use. It writes only the labels you approve, and you decide what each label does. It works on ROAS straight away and switches to POAS once you connect margins. For Performance Max, see [which products get the spend](https://www.productmetrics.io/blog/performance-max-for-ecommerce).

## Missing orders make good products look bad

An order that never reaches Google Ads lowers ROAS without touching profit. ROAS is conversion value ÷ ad spend, so a missing order shrinks the top of the ratio and leaves the bottom alone.

Consider a product with a 25% margin, so a 4 break-even. It spends €1,000 and the ads bring in €4,500 of revenue, but Google Ads receives only €3,600 of it. It reads 3.6, below break-even, when the true figure is 4.5. You would lower priority on a product that makes money.

**Figure: One product's ROAS with and without the orders Google Ads missed.** The dashed line is the ROAS of 4 the product needs at a 25% margin. Google Ads receives €3,600 of the €4,500 the ads brought in, so it reads 3.6 and red shows a shortfall. Counting every order gives 4.5, and green shows the profit.

| Orders counted | ROAS of the product |
| --- | --- |
| Reported in Google Ads | 3.6 |
| All orders the ads brought in | 4.5 |

Reference line: ROAS needed to break even at a 25% margin (4).

_Source: Calculated as €3,600 ÷ €1,000 and €4,500 ÷ €1,000 of ad spend, against 1 ÷ 25% margin. Illustrative data_

Ad blockers can stop conversion tags from firing. The [ad blocker conversion tracking test](https://www.productmetrics.io/ad-blocker-conversion-tracking) shows what each blocker stops and lets you run the check in your own browser, and the [SDK debugger](https://www.productmetrics.io/sdk-debugger) decodes a request. [Full Signal Tracking](https://www.productmetrics.io/server-side-tracking) sends conversions server-side from a unique endpoint on your own domain and gets through every adblocker.

Fixing this changes the measurement, not the profit, which was there all along. Which channel gets the credit for an order stays Google Ads' call. Whether the ads caused an order at all is a question for an [incrementality test](https://www.productmetrics.io/blog/incrementality-testing).

## Keep the feed accurate

Shopping ads are built from the [product feed](https://www.productmetrics.io/glossary/product-feed), so keep titles, prices and availability accurate. The feed basics are in [how to optimise Google Shopping ads](https://www.productmetrics.io/blog/optimize-google-shopping-ads).

## How do you improve ROAS, step by step?

Order matters, because each step leans on the one before. Break-even comes first, since every other step is measured against it. Fixing the inputs comes before changing priority: moving spend on a wrong margin or an incomplete ROAS only moves the mistake somewhere else.

**Improve ROAS in five steps**

1. **Work out break-even ROAS for each product.** Take the price excl. VAT, subtract cost of goods and variable order costs, divide by the price, then divide 1 by that margin.
2. **Compare each product's ROAS with its break-even.** Above it, the product earns. Below it, each sale loses money once the ads are counted.
3. **Fix the inputs.** Check the margin, the costs behind it and whether every order reaches Google Ads, so the comparison holds.
4. **Change priority per product.** Increase priority for products clearing break-even, lower it for those far below, and leave products with too few clicks to gather data.
5. **Wait, then review against break-even.** Allow one to two conversion cycles, leave out the most recent conversion delay period, and judge profit, not just the ratio.

Google Ads Help says that after you change a target ROAS, the bidder reacts immediately but needs time to reach the new target, and to give it one to two conversion cycles. It also says to leave the most recent conversion delay period out when you evaluate ROAS ([Google Ads Help, About Target ROAS bidding](https://support.google.com/google-ads/answer/6268637)). That guidance is about target changes. Waiting the same way after you move products between priorities is my recommendation, not a Google rule.

## Start with the biggest spenders

To turn break-even into a target for Google Ads, read [how to set a target ROAS from your margin](https://www.productmetrics.io/blog/target-roas-from-margin). When the list runs to thousands, [Product Segmentation](https://www.productmetrics.io/product-segmentation) makes the comparison for every product.

For a first pass by hand, take the products that eat most of the spend, work out each one's break-even ROAS with the [break-even ROAS calculator](https://www.productmetrics.io/break-even-roas-calculator) and compare it with the ROAS in your account. Then pick one product to increase priority on and one to lower, and leave everything else alone until the data comes in.

## Frequently asked questions

### How do you increase ROAS?

Work per product. Find each product's break-even ROAS (1 ÷ contribution margin), count returns and shipping in the margin, increase priority for products above break-even and lower it for those far below, and make sure every order reaches Google Ads. Only count it as an improvement if profit rises too.

### Is a higher ROAS always better?

No. ROAS is revenue ÷ ad spend, so it rises when you stop spending on products with a low ROAS, even when they make a profit. In a worked two-product example, account ROAS rises from 4 to 5 while profit falls from €5,000 to €0. Compare each product with its own break-even instead.

### How long should I wait after a change?

Google Ads Help says that when you change a target ROAS, the bidder reacts immediately but needs some time to reach the new target, and to give it one to two conversion cycles. It also says to leave the most recent conversion delay period out of the evaluation. Google doesn't give a fixed number of days, because a conversion cycle depends on how long your customers take to buy.

---

Written by Berend Vrakking, founder of Product Metrics. Last updated 2026-10-08.

HTML version: https://www.productmetrics.io/blog/how-to-improve-roas
