Product Metrics

Search

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.

By , FounderUpdated 7 min read

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

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.Source: Calculated as revenue ÷ ad spend, from the products in the table. Illustrative data
Show the data
Account ROAS before and after changing the Adidas trainers' ad spend
Change to the Adidas trainersAccount ROAS
Before4
Stop Adidas5
Double Adidas spend3.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

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.Source: Calculated as revenue × contribution margin − ad spend, from the products in the table. Illustrative data
Show the data
Account profit after ads before and after changing the Adidas trainers' ad spend
Change to the Adidas trainersAccount 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

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.Source: Calculated as price ÷ (price − €80.00 of costs per order), assuming the same number of orders. Illustrative data
Show the data
The ROAS one product needs to break even at five prices
Price excl. VATROAS needed to break even
€100.005
€105.004.2
€110.003.67
€115.003.29
€120.003

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

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.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)
Show the data
The ROAS one product needs to break even as each cost is counted
Costs counted in the marginROAS needed to break even
Cost of goods only2.22
Plus shipping, fees and packing2.86
Plus returns3.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
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.Source: Illustrative data. Break-even calculated as 1 ÷ contribution margin
Show the data
Four products: the ROAS each one needs against the ROAS it gets
Product (contribution margin)ROAS needed to break evenROAS in the ad account
A (40%)2.54
B (20%)53.2
C (30%)3.336
D (25%)44.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
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.Source: Calculated as €3,600 ÷ €1,000 and €4,500 ÷ €1,000 of ad spend, against 1 ÷ 25% margin. Illustrative data
Show the data
One product's ROAS with and without the orders Google Ads missed
Orders countedROAS of the product
Reported in Google Ads3.6
All orders the ads brought in4.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.

Improve ROAS in five steps
  1. 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.
  2. Compare each product's ROAS with its break-evenAbove it, the product earns. Below it, each sale loses money once the ads are counted.
  3. Fix the inputsCheck the margin, the costs behind it and whether every order reaches Google Ads, so the comparison holds.
  4. 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.
  5. 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.

Written by

, Founder of Product Metrics

Linkedin

Keep reading.

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.

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.

Find your hidden profit30-second estimate · no login
Analyse your products for freeFree analysis, no credit card

Not ready to connect? Book a demo: a video call with Berend, then a demo account.