Stefan RiemeyerGoogle Ads Freelancer

POAS: when it beats ROAS and when it does not

POAS is ROAS times margin. With formula, worked example and a check: when switching really changes your bids and when ROAS is perfectly adequate.

Stefan Riemeyer/Updated 2 November 2026/7 min read

Target ROAS 5 Target POAS 2 €20 €30 60% margin €20 40% margin €10 20% margin Worked example: allowed per €100 revenue

POAS is ROAS times margin

POAS (profit on ad spend) measures how much contribution margin one euro of advertising brings back: contribution margin before ad spend divided by ad spend. If you write contribution margin as revenue times contribution margin rate, the formula reduces to one line:

POAS = ROAS × contribution margin rate

My view on this: the metric itself is not a lever. A lever only exists where the rate differs from order to order. If it is the same everywhere, you are reading the same number on a different scale. Many of the texts I found on the subject come from vendors selling profit tracking, and they show two products with the same ROAS and very different margins. The example is correct, the generalisation is not. Even one provider of such infrastructure concedes that ROAS can remain sensible when margins are almost uniform.

POAS is still easier to read: the advertising break-even point is always 1.0, with fixed costs and profit not yet covered at that point. With ROAS, the same point depends on the margin. At a 40% rate, ROAS 2.5 and POAS 1.0 say the same thing; the derivation is in the article on break-even ROAS.

The same margin produces the same bid

According to Google, target ROAS works like this: the system predicts conversions and their values based on the conversion values you report and sets bids so that the average matches the target. The reported value is therefore the instruction. Greatly simplified, an order may cost this much: expected value divided by target. Google's model calculates in a more complex way, but in my derivation that does not change the ratios.

Suppose two shops both have an average rate of 40%; the numbers are invented and round. Target POAS 2 then equals target ROAS 5, because target ROAS = target POAS divided by rate.

Order Revenue Rate Allowed at target ROAS 5 Allowed at target POAS 2
Shop A, product 1 €100 40% €20 €20
Shop A, product 2 €50 40% €10 €10
Shop B, product 1 €100 60% €20 €30
Shop B, product 2 €100 20% €20 €10

Shop A pays for the switch with data work and the risk of errors, and mathematically ends up giving the algorithm the same instruction as before. With ROAS, shop B pays €20 for the weak order on a contribution margin of €20, so nothing is left after advertising. With POAS the bid shifts towards the strong order. Whether more orders can actually be won there at €30 is something the table does not show; the auction decides that. Both targets also remain averages; individual conversions land above or below them.

The most expensive mistake happens during the switch. If shop A starts reporting €40 instead of €100 and leaves the target at 5, the allowed bid drops from €20 to €8. The target has to be changed in the same step, and the conversion value column then shows profit instead of revenue. So keep revenue running as a secondary conversion action.

The order has to be constant, the catalogue is not enough

Equal list margins prove little. Two things create variation at order level that is invisible in the catalogue.

Discounts hit the rate disproportionately. A product at €100 with €60 of variable costs has a 40% rate. With a 20% discount, €20 remains on €80 of revenue, which is 25%, and break-even ROAS jumps, in simplified terms, from 2.5 to 4. ProfitMetrics, which sells POAS software, also lists promotions, discount codes, shipping and payment fees as reasons why nearly equal margins are not enough.

Fixed costs per order work through the order value. With a 50% product margin and €6 of shipping paid by the shop, a €30 order has a 30% rate and a €150 order 46%.

50% product margin 30% 46% Rate with €6 shipping €30 €150 Order value
Worked example: the same product margin produces the widest spread on small orders, because shipping weighs more heavily there.

Conversely, a range with a wide spread of margins can sell at an almost constant rate through ads if only one product group runs there. What counts is the basket from ads, and you only see that in the export.

How to check before you buy a tool

You need an order export and a spreadsheet, no technology. For orders from paid Google traffic, ideally over several months:

  1. Define what counts as profit. Every team defines it differently, and values are only comparable within a fixed definition. Which items belong in it is covered in the article on contribution margin for advertising decisions.
  2. Calculate the rate per order after discount, shipping and payment fees. Revenue and costs must be on the same basis, so both net of VAT.
  3. Sort by rate and compare the quarter of revenue with the weakest rate against the quarter with the strongest.
  4. For both quarters, calculate the allowed cost: order value times rate divided by target POAS. If both are close to today's figure, switching changes little.
  5. Put a number on the stake: for product groups with POAS below 1.0, add up ad spend minus contribution margin. That amount is the upper limit of what you gain just by cutting these loss-making groups, and it has to be weighed against the cost of building and maintaining the setup.

In my assessment, the decision follows from that:

Finding in the export What I would do
Rates are close together Stay with ROAS, derive the target from the margin and reset it when the margin changes
Variation runs neatly along product groups First check separate targets per margin group
Variation arises in the basket, through discounts or shipping Report profit per order as the conversion value, as far as the rate can be anticipated before the click
Margin data is patchy or out of date Fix the data first, and until then use POAS for reporting only

Margin groups have a known weakness: ProfitMetrics objects that buyers do not necessarily buy the product they clicked on. As a mechanism, that is true. How big the problem is for you shows in the export, if baskets from ads often contain items from other groups.

As a metric POAS costs little, as a bidding signal a lot

As a metric, the spreadsheet above is enough. The feed attribute for cost of goods belongs on this side too: according to Google it is used for reporting and does not have to be exact. The gross profit shown there is revenue minus cost of goods sold; this definition does not mention shipping or payment fees. It is a useful view, but the attribute alone does not change a single bid. For bidding on profit, Google names a Profit Optimisation Goal in beta for Performance Max and Standard Shopping that uses basket data and the cost of goods from Merchant Center. It is not available in every account I work on, and I would not plan it as a substitute for your own margin calculation. Once cost of goods drives bids, I would maintain it exactly, and according to this description shipping and payment fees still do not feed into it.

What affects bids is the value you pass in conversion tracking. Google explicitly names profit margins as a possible value for value-based bidding. Conversion value rules do not help here: they adjust values by location, device and audience and know nothing about the margin of an order. Closer is Product Value Optimisation, a beta according to Search Engine Roundtable: you set value adjustments for products or attributes such as brand and category, according to Google for example with profit in mind, and the campaign structure stays as it is. As I read it, that is still a rule per product; it does not reflect the discount and basket of the individual order. The implementation is described in the article on margin as the conversion value. Also check whether the margin becomes readable in the browser if the value is passed client-side.

The new signal brings a new risk: the value steers money. Typical errors are missing item IDs, zero values as a fallback, delayed margins and prices that include tax or shipping on one side of the match and not on the other. A lot can be corrected afterwards: a restatement changes the value, not the count, and affects ROAS strategies. An adjustment to a value of 0, on the other hand, is final. So build a plausibility check before the handover that catches zero values and outliers.

For small campaigns, ROAS is enough

In my assessment, ROAS is enough even with variation if the campaign delivers few conversions anyway. A profit value makes the signal more volatile, and in small accounts the noise quickly outweighs the margin advantage.

POAS evaluates the first order, so a new customer with a weak first-order margin looks bad even though they may pay off later. That needs a separate calculation: how much a new customer may cost. POAS also uses the same attributed conversions as ROAS and says nothing about whether the order would have come without the ad. And a POAS above 1.0 does not yet mean that anything is left after fixed costs.

I have not found robust independent measurements showing additional profit from bidding on profit. I would therefore not plan with percentages from vendor texts. Work with the amount from your own export, and if that does not cover the costs, stay with ROAS and a derived target.

Further questions

Is there a dedicated POAS bid strategy in Google Ads?

You do not need one. You report profit instead of revenue as the conversion value and keep setting a target ROAS. That target is then effectively your target POAS, although the columns in the account keep their old names.

What is a good POAS?

There is no general benchmark, because every shop defines profit differently and carries different fixed costs. Only the lower limit is fixed: at 1.0 the contribution margin covers the advertising and nothing more. Your target has to sit far enough above it to leave room for fixed costs and profit.

Sources

  1. About Target ROAS bidding, Google Ads Help
  2. Value-based Bidding Best Practices, Google Ads Help
  3. Cost of goods (cogs) [cost_of_goods_sold], Google Merchant Center Help
  4. About conversion value rules, Google Ads Help
  5. About conversion adjustments, Google Ads Help
  6. ROAS vs POAS: How to Send Better Revenue Signals to Ad Networks, Stape
  7. POAS vs ROAS: Which metric tells you if your ads are profitable?, TAGGRS
  8. ROAS vs POAS: Why use POAS in Google Ads and Facebook?, ProfitMetrics
  9. Key tips to driving online sales, Google
  10. Product Value Optimization, Google
  11. Google Ads Product Value Optimization, Search Engine Roundtable
Stefan Riemeyer

Stefan RiemeyerIndependent Google Ads specialist for e-commerce in the DACH region. I work on every account I manage myself.

Request a free audit

Read next