Google Ads. 5 min read
ROAS vs. POAS: how to measure real Google Ads profitability
What POAS is, how to calculate your break-even ROAS, and how to send profit to Google Ads instead of revenue, with a step-by-step numeric example.
By Nico Cantón
ROAS tells you how much revenue each dollar of Google Ads spend brings in. POAS tells you how much gross profit that dollar leaves behind. Two campaigns with the same ROAS can have opposite profitability if they sell products with different margins, and if your catalog has very uneven margins, optimizing for POAS makes Google bid for the sales that actually make you money.
Key takeaways
- ROAS = attributed revenue ÷ ad spend. POAS = attributed gross profit ÷ ad spend.
- Your break-even ROAS is 1 ÷ gross margin. At a 25% margin, you need a ROAS of 4 just to break even.
- A POAS above 1 means the campaign pays for itself and contributes margin.
- To optimize for POAS, send margin to Google Ads as the conversion value, ideally calculated server-side.
- If margins are similar across your catalog, ROAS is enough.
Plain definitions
ROAS (return on ad spend) is the revenue the platform attributes to your ads divided by what you spent. A ROAS of 5 means USD 5 in revenue for every dollar.
POAS (profit on ad spend) uses gross profit instead of revenue. Gross profit is revenue minus the cost of goods sold. For more precision, you can also subtract shipping you absorb and payment fees. A POAS of 1 is break-even: gross profit exactly covers ad spend.
A worked example
Example: a store with two Shopping campaigns, each spending USD 1,000 a month.
| Campaign A: electronics | Campaign B: accessories | |
|---|---|---|
| Ad spend | USD 1,000 | USD 1,000 |
| Revenue | USD 6,000 | USD 4,000 |
| Gross margin | 10% | 45% |
| Gross profit | USD 600 | USD 1,800 |
| ROAS | 6.0 | 4.0 |
| POAS | 0.6 | 1.8 |
| Result after ad spend | −USD 400 | +USD 800 |
Looking at ROAS, you scale campaign A. Looking at POAS, A loses USD 400 a month and B makes USD 800. Google’s bidding does exactly what you ask: if the conversion value is revenue, it chases revenue, even when it comes from products that lose money.
Your break-even ROAS
Before you change any setting, work this out:
Break-even ROAS = 1 ÷ gross margin
- 50% margin → break-even ROAS of 2.
- 25% margin → break-even ROAS of 4.
- 10% margin → break-even ROAS of 10.
If a campaign has a target ROAS below the break-even point of the products it sells, every extra sale costs you money, unless that customer buys again. Running this calculation by category is often the fastest way to find where budget is leaking.
Moving from ROAS to POAS in Google Ads
There are three routes, from simplest to most involved.
1. Segment by margin with custom labels
In Merchant Center you can give each product a custom label (custom_label_0 to custom_label_4) for its margin band: high, medium, low. Then you build campaigns or product groups by band and set each one a target ROAS in line with its break-even. Tracking stays the same and it can be live within days. It is where I start in most accounts.
2. Send margin as the conversion value
The purchase event Google Ads receives carries the order’s gross profit as its value instead of the order total. You need each product’s cost at the time of purchase.
One important detail: if you put product costs in the browser’s data layer, anyone can see them by inspecting the page. It is better to calculate margin server-side, in your backend or in a server-side Google Tag Manager container that looks up a cost table.
You can also keep sending revenue to GA4 and margin to Google Ads. They are separate tags and each can carry its own value, so your sales reporting stays intact.
3. Report gross profit with cart data
If you add the cost of goods sold attribute (cost_of_goods_sold) in Merchant Center and send conversions with cart data, Google Ads can show gross profit by campaign. It helps with reporting and decisions even while bidding still uses the conversion value.
Be careful when you switch
If you change the conversion value from revenue to margin, every value number drops and your target ROAS settings stop making sense. You need to recalculate them (a 400% target on revenue is not the same as 400% on margin) and allow for a learning period. I roll it out gradually, starting with the campaigns that have the most conversion volume.
New vs. returning customers
A high ROAS can come largely from customers who already knew you and would have bought anyway. In Performance Max and Search you can turn on the new customer acquisition goal, which lets you bid more for new customers or only for them, as long as Google can identify them through your customer lists.
This is where customer lifetime value comes in. If the first purchase delivers a POAS below 1 but new customers come back and buy at a good margin, losing a little on acquisition can be the right call. What matters is that it is a decision made with numbers, not a side effect of only watching ROAS.
When POAS is overkill
- Similar margins across the catalog. ROAS and POAS move together. Set a target ROAS above break-even and move on.
- Low conversion volume. Changing the value logic adds noise to bidding that already has little data to learn from.
- Unreliable product costs. If cost data is out of date, you will be optimizing toward a false number.
- Lead generation. The equivalent is assigning a value to each lead based on how likely it is to close, and importing closed deals from your CRM. I cover that in the guide to Consent Mode v2 and enhanced conversions.
FAQ
What is a good POAS?
It depends on your fixed costs. A POAS above 1 means the campaign contributes after paying for ads, but that contribution still has to cover salaries, rent and fulfillment. The right target comes from your cost structure and how fast you want to grow.
Can I see POAS in GA4?
Yes, if you send margin as a parameter on the purchase event and register it as a custom metric. In practice, it is more common to calculate it in a separate report that combines spend, sales and costs, for example in Looker Studio or BigQuery. That setup is part of the measurement work in my service.
Do I need to rebuild the whole account?
No. Margin-based custom labels can sit on top of your current structure and already deliver a good share of the benefit.
Work out your break-even ROAS by category today. If any target ROAS in your account sits below that number, you have found where the money is going.