← All articles

ROAS rewards your worst campaigns, and here is how it manages it

Return on ad spend compares revenue with spend. It ignores margin, returns and discounts, it mechanically favours the campaigns that claim sales you had already won, and here is what to look at instead.

Dots Papers cover for the article on ROAS, margin and the POAS column

The short version

  • ROAS compares revenue with ad spend. But nobody banks revenue: you bank margin, after returns and discounts.
  • Two campaigns with the same ROAS can be one highly profitable and the other loss-making, depending on which products they sell, their return rates and the discounts that triggered the purchase.
  • ROAS favours the campaigns that claim sales you had already won. Remarketing and campaigns on your own brand name post the prettiest numbers, precisely because they arrive last.
  • The replacement metric exists, and it fits into a single Google Ads column: POAS, margin divided by cost. Its break-even point is 1 whatever your margin, whereas a “good ROAS” means nothing until you know what the sale actually leaves you.

ROAS is the most widely used metric in online advertising, and it is a comfort metric: the platforms hand it to you, it reads at a glance, and it goes up when you optimise the things platforms know how to optimise. None of that makes it right.

We know of no other subject where the gap between what is measured and what is earned is this wide, or this consistently ignored.

Three flaws, and any one of them would be enough

It ignores what the sale leaves you

A ROAS of 5 on a product with a 20% margin puts the same number at the top of the dashboard as a ROAS of 5 on a product with a 60% margin. The first campaign barely pays back its own spend, the second is highly profitable. As long as the metric thinks in revenue, it declares the two equivalent, and the budget gets split as though they were.

It counts the sales that come back

ROAS is measured at the moment of the order. Returns land days or weeks later, and no platform corrects its figures of its own accord. Google Ads can do it, through conversion adjustments, but the correction has to be sent by you: without that step, nothing moves. A campaign selling products with a high return rate keeps posting a ROAS that reality has already disproved. We went into this invisible cost line in our article on the real cost of returns: the same accounting mechanism that hides the cost of a return is what makes ROAS impossible to argue with in a meeting.

It rewards arrival order, not contribution

The conversion is credited to the campaigns that reached the customer, and the campaigns that reach them last are the ones targeting people who were already convinced: retargeting site visitors, bidding on your own brand name. Their ROAS is spectacular because they harvest, not because they sow. Cutting the prospecting campaign with the worst ROAS in the account often means cutting whatever was feeding the others.

The mistake that costs the most Setting one target ROAS for the whole account and letting the bidding algorithm meet it. The algorithm obeys: it shifts budget towards big-basket products and audiences you had already won, where the ratio comes easily. You get the number you asked for, built on the sales that earn you the least and that would have come anyway.

The calculation that reshuffles the ranking

The replacement metric is called contribution margin per campaign, and it is built from data you already hold.

Step What you take Where it lives
1 The revenue credited to the campaign The advertising platform, or better, your own measurement tool
2 Minus the discounts that triggered those orders Your back office, promo codes per order
3 Minus the cost of the goods sold Your margin per product, even a rough one per category
4 Minus the returns recorded against those orders Your back office, with 30 to 60 days of hindsight
5 Minus the ad spend The platform
What is left is the campaign’s real contribution. A margin per category is enough: accuracy to the cent is not the point, the ranking is.

This calculation has a predictable and always instructive effect: your campaign ranking changes. Heavy-discount campaigns drop, the ones selling at full price rise, and a mid-table campaign often turns out to be your best. It is the same reversal we describe about the consent rate that distorts comparisons between channels: the raw metric is not lying, it is answering a different question from the one you asked.

The good news: it goes into Google Ads, right next to ROAS

A spreadsheet is a good starting point, and it has one flaw: it lives next door to the tool where the decisions are actually made. Google Ads, though, can display a real profitability column in the same place as ROAS, using two one-line formulas.

The principle fits in a sentence: send the margin to Google, not just the revenue. Your shop knows the margin on every order the moment it validates it; all it has to do is pass that along as a value, alongside the usual conversion value. From there, two custom columns are all you need.

Column Formula What it answers
ROAS, native Conversion value ÷ Cost How much revenue per euro spent
POAS, to create Margin ÷ Cost How much margin per euro spent. Above 1, the campaign brings back more than it costs
Profit, to create Margin − Cost What the campaign really left behind, in euros. The only number you can bank
POAS for profit on ad spend, by symmetry with ROAS. Both columns are created in the custom columns panel and then display like any other metric.

The threshold changes in nature, and that is the whole point. A ROAS of 4 means nothing until you know the margin. A POAS of 1 is break-even, whatever your margin: below that, the campaign costs more than it brings in. You no longer need to work out which ROAS to aim for, the question disappears.

What we see as soon as the column is in place On one account we look after, two campaigns with near-identical ROAS show a POAS twice as high on one as on the other: same verdict on ROAS, real profitability worlds apart. More striking still, a campaign well above 4 on ROAS lands just above 1 on POAS. It pays back its spend and almost nothing else, and it had been sitting near the top of the table for months. No amount of ROAS-based management could have shown that.

Here is the same mechanism on round numbers, so you can reproduce it in your head.

Campaign Cost Revenue Margin ROAS POAS Profit
A, low-margin products €1,000 €4,000 €1,000 4.0 1.0 €0
B, high-margin products €1,000 €4,000 €2,400 4.0 2.4 €1,400
Two campaigns that ROAS declares identical. One only just reaches break-even, the other generates €1,400. The budget should go to B, and ROAS-based management has no way of knowing that.

Two details make the difference between an honest column and a misleading one. First, the margin you pass along has to be net of the discounts actually granted on the order, otherwise promotional campaigns stay flattered. Second, prefer metrics attached to the conversion date rather than the click date: that is what lets you compare one month with another without sales sliding from one period into the next, and it becomes essential as soon as your buying cycle runs longer than a few days.

What the column cannot do is worth stating: it ignores returns, which land afterwards. POAS therefore replaces ROAS for day-to-day management, and a monthly reconciliation against returns is still needed for the categories that generate a lot of them. That is the calculation described just below.

The method, with no rebuild

  1. Set a margin per product category, which also tells you which products belong at the top of your category pages. Three to five bands are enough to start with. The aim is to separate what earns from what simply turns over.
  2. Export a month of attributed orders, campaign by campaign, with the promo codes used, then match the returns on those same orders 30 days later.
  3. Re-rank. A spreadsheet is enough for the first pass. The point is not to land an exact number, it is to find out whether the ROAS ranking holds up. It almost never does.
  4. Separate the harvest from the sowing before you decide anything. Brand and retargeting on one side, prospecting on the other. Comparing their ROAS against each other makes no sense, and it is the comparison everybody makes.

A ten-minute self-diagnosis: take your best-ROAS campaign and ask what share of its revenue comes from searches containing your own brand name. If the answer is more than half, your best campaign is a toll booth on customers who were already looking for you.

The options, and what they are worth

Approach What you get Who it suits
Contribution margin in a spreadsheet, monthly The best effort-to-clarity ratio. Enough to arbitrate budgets, and it runs on what you already have Everyone, starting this month
Feeding margin back into the platforms Bidding optimises on real value instead of revenue. Powerful, but it demands clean product data and reliable measurement Mature accounts, catalogues with uneven margins
Keeping ROAS, but knowingly Acceptable on a catalogue with uniform margins and few returns, where ROAS and margin tell the same story Single-product shops, services, subscriptions
Managing on ROAS because that is how the agency presents it The metric that judges the agency is chosen by the agency. The conflict of interest is not a hypothesis, it is the market’s default setting No case at all
The second row assumes the upstream measurement is sound: a margin fed into broken attribution optimises precisely in the wrong direction.

The tooling

There is no module for us to sell you here, and that is deliberate: the work consists of passing along a figure you already hold, then writing two formulas. We have turned it into a step-by-step guide, building the POAS column in Google Ads, with the exact formulas and the traps involved in sending the margin across.

The prerequisite, on the other hand, is very real: attribution that tells the truth. An order counted twice or a conversion lost distorts POAS exactly as it distorted ROAS, and a false column is more dangerous than no column at all, because people believe it. That is the subject of our article on tracking that lies in silence, and the reason our engagements start with measurement before anyone touches a budget.

The bigger point

A metric is never neutral: it moves budget towards whatever it can see. ROAS sees immediate revenue, so accounts managed on ROAS all converge on the same shape, plenty of brand, plenty of retargeting, plenty of discounting, and then wonder why growth has plateaued.

Choosing the metric is choosing the strategy. It is the kind of decision we work through in our data, analytics and performance expertise, and it comes before any conversation about optimisation: you cannot fine-tune a compass that points somewhere other than north.

Sources

The verifiable claims in this article link to their primary source, consulted on 10 August 2026. We do not cite a source we have not read.

  1. Google Ads Help, Create custom columns. View
  2. Google Ads Help, About conversion adjustments. View
  3. Google Ads Help, Understand your conversion tracking data. View

FAQ

What is a good ROAS?

There is no universal answer, and that is the heart of the problem: the break-even threshold depends on your margin. At 25% margin, a ROAS of 4 only just pays back the spend; at 60%, a ROAS of 2 is already profitable. A “good ROAS” without knowing the margin is a number with no meaning.

Should we stop remarketing and brand campaigns?

No, you should stop comparing them with prospecting campaigns. They have a role, and it is often a profitable one. The useful test is incrementality: switch the brand campaign off for two weeks in one region and see whether total sales really drop. The result is often a surprise.

My per-product margin is confidential, how can this be calculated?

Bands are enough: sorting categories into three margin levels is already enough to re-rank campaigns without revealing a single purchase price. That is how we work when confidentiality demands it.

Don’t the platforms already offer margin-based optimisation?

They allow it, provided you send them the margin value rather than the selling price. Few accounts do, because it requires structured product data and a company-level decision. Start by displaying POAS, which changes nothing about your bidding and already teaches you everything; optimising bids on margin comes later, once the column is trustworthy.

What POAS should we aim for?

That is the beauty of the metric: there is no target to guess at. Below 1, the campaign costs more than it brings in, whatever your margin or your sector. Above it, the campaign contributes, and the trade-off between campaigns reads straight off the column. The question “what is a good ROAS” disappears along with the metric that raised it.

Can Dotsland help?

Yes. Attribution check first, then building contribution margin per campaign, re-ranking, then feeding real value into bidding if your account warrants it. That is the core of our data, analytics and performance expertise. Let’s talk, or start with the self-diagnosis: your brand’s share of your best ROAS.

Want to apply this to your own business?

Get in touch →

Further reading

Leave a comment

Your email address will not be published. Required fields are marked *

eighteen + fourteen =