+93.78% profit by switching Google Ads from ROAS to POAS
How feeding real product cost, shipping and payment fees into Google Ads bidding turned a healthy ROAS into an actual profit increase.
Read the case study →Published
ROAS tells you how much revenue each euro of advertising brings in. POAS tells you how much profit. It sounds like a detail, but two campaigns with the same ROAS can have one making money and the other losing it. Here you'll find the formula, a calculator, your catalogue's break-even ROAS and how to make Google Ads optimise for profit instead of revenue.
POAS stands for Profit on Ad Spend. It's the gross profit generated by the sales attributed to advertising, divided by what you spent on advertising:
POAS = gross profit from ad-driven sales ÷ ad spend
Gross profit = revenue (excl. VAT) − cost of goods − shipping − payment fees
ROAS puts revenue on top of the fraction, POAS puts profit. That's all. The consequence is huge, though: ROAS knows nothing about what the product, the shipping or the payment method cost you, so it can't tell whether a sale makes you money.
Two products sold at €100 excluding VAT, with €30 of advertising per sale:
An account optimised for ROAS treats A and B the same. Worse, if B sells more units, it moves more budget to B. That's exactly the blind spot I found in the account behind the +93.78% profit case study: healthy ROAS, margin that never showed up.
Careful: break-even at 1 is before fixed costs (people, software, warehouse). That's why the real target should sit above 1, based on how much margin needs to remain to cover them. And if returns weigh in your category, put them in the calculation: in fashion they can change the result more than the commission does.
POAS also gives you the break-even ROAS of each product: revenue divided by gross profit, which is 1 divided by the gross margin percentage. Product A breaks even at a ROAS of 2.38, product B needs a ROAS of 5.88. A single ROAS target for the whole catalogue is almost always too high for some products and too low for others.
Enter the numbers for a campaign, a product or a month of ad-driven sales (excluding VAT).
Google Ads has no "POAS" setting. The trick is changing what you give it as the conversion value: if you pass the gross profit of each order instead of revenue, the target ROAS bid strategy effectively becomes a target POAS. A 140% target ROAS on profit-valued conversions means a POAS of 1.4. In the case study account I did it like this:
Product cost in the ERP, an ERP-to-CMS integration so the cost travels with every product, payment fees mapped per payment method and carrier costs per shipping type.
A tool that calculates the profit of every order and passes it to Google Ads. In the case study I used Profitmetrics, connected to Shopify and configured on the cost data.
Gross profit set as a conversion action in Google Ads, and POAS added as a custom metric, visible everywhere ROAS used to be.
Weekly POAS monitoring with quick adjustments, and a dedicated dashboard where the first number is profit, not revenue.
If you can't pass profit to Google yet, a first step is segmenting the catalogue by margin with custom labels and giving each group its own target: that's the structure behind the custom labels case study, +40% net profit.
ROAS divides revenue by ad spend, POAS divides gross profit. ROAS tells you how much you sell, POAS how much you earn.
Above 1, advertising generates gross profit. The right value depends on how much margin must remain for fixed costs and on what a customer is worth over time: there's no single number for everyone.
Gross profit from ad-driven sales divided by ad spend. Gross profit = revenue excluding VAT minus cost of goods, shipping and payment fees.
Yes, indirectly: if the conversion value is profit instead of revenue, the target ROAS strategy optimises for profit. It needs a reliable flow of cost data per product.