How to improve ROAS: fix products, not the ratio
Improving ROAS only counts when performance and profitability improve. Work per product against break-even, then measure profit directly with POAS.
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.
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: 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.
Account ROAS before and after changing the Adidas trainers' ad spend
Show the dataHide the data
| Change to the Adidas trainers | Account ROAS |
|---|---|
| Before | 4 |
| Stop Adidas | 5 |
| Double Adidas spend | 3.67 |
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.
Account profit after ads before and after changing the Adidas trainers' ad spend
Show the dataHide the data
| Change to the Adidas trainers | Account profit after ads |
|---|---|
| Before | €5,000 |
| Stop Adidas | €0 |
| Double Adidas spend | €10,000 |
Start from each product’s break-even
Break-even ROAS is the line every improvement is measured against. 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 shows how to work it out, and 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.
The ROAS one product needs to break even at five prices
Show the dataHide the data
| 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 |
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 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.
The ROAS one product needs to break even as each cost is counted
Show the dataHide the data
| 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 |
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 |
Four products: the ROAS each one needs against the ROAS it gets
- ROAS needed to break even
- ROAS in the ad account
Show the dataHide the data
| 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 |
“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 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 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.
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.
One product's ROAS with and without the orders Google Ads missed
- ROAS of the product
- ROAS needed to break even at a 25% margin (4)
- Profit
- Loss
Show the dataHide the data
| Orders counted | ROAS of the product |
|---|---|
| Reported in Google Ads | 3.6 |
| All orders the ads brought in | 4.5 |
Ad blockers can stop conversion tags from firing. The ad blocker conversion tracking test shows what each blocker stops and lets you run the check in your own browser, and the SDK debugger decodes a request. Full Signal 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.
Keep the feed accurate
Shopping ads are built from the product feed, so keep titles, prices and availability accurate. The feed basics are in how to optimise 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.
- Work out break-even ROAS for each productTake the price excl. VAT, subtract cost of goods and variable order costs, divide by the price, then divide 1 by that margin.
- Compare each product's ROAS with its break-evenAbove it, the product earns. Below it, each sale loses money once the ads are counted.
- Fix the inputsCheck the margin, the costs behind it and whether every order reaches Google Ads, so the comparison holds.
- Change priority per productIncrease priority for products clearing break-even, lower it for those far below, and leave products with too few clicks to gather data.
- Wait, then review against break-evenAllow 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). 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. When the list runs to thousands, 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 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.
Keep reading.
Break-even ROAS per product: why one target hides losses
Break-even ROAS = 1 ÷ contribution margin. See how one account-wide ROAS target funds loss-making products, with a three-product example.
Dead stock inventory: how to find it and clear it
Dead stock is inventory that has stopped selling. See when stock counts as dead, what it costs to hold and what to do per product, with a worked example.
Demand Gen vs Performance Max for ecommerce
Demand Gen vs Performance Max by product: which products each campaign type should carry, and how to read each against its own break-even ROAS.
Frequently asked questions.
How do you increase ROAS?
Is a higher ROAS always better?
How long should I wait after a change?
See which of your products to push, fix or pause. Start with your own products, or a 30-second estimate.
Check one product first: work out its break-even ROAS in the calculator. Then see where all your products stand.
Not ready to connect? Book a demo: a video call with Berend, then a demo account.