The short answer
ROAS is revenue divided by ad spend. POAS is profit divided by ad spend. They disagree all the time, because ROAS treats a $100 order with $20 of margin the same as a $100 order with $60 of margin. Your break-even point is 1 ÷ your margin, so a business at 22% margin needs 4.5x ROAS just to stop losing money. That is why a 4x account can be quietly unprofitable while the dashboard looks fine. Below: the formulas, a break-even table you can look yourself up in, and the target-restatement mistake that throttles accounts to zero.
ROAS vs POAS in one table
Both numbers divide by the same ad spend. Only the top of the fraction changes — and that change is the whole argument.
| ROAS | POAS | |
|---|---|---|
| Full name | Return on ad spend | Profit on ad spend |
| Formula | Revenue ÷ ad spend | Gross profit ÷ ad spend |
| What it counts | Money in the door | Money you keep |
| Needs | Ad platform data only | Cost of goods per product |
| Breaks when | Margins differ by product | Your cost data is stale |
| Break-even | 1 ÷ your margin | 1.0 — by definition |
There is a third number people mix in: MER, or marketing efficiency ratio. MER is total revenue ÷ total marketing spend, across every channel. ROAS judges a campaign. MER judges the whole business. POAS judges whether either one is worth doing.
The example that ends the argument
Two campaigns. Same $10,000 spend. Same $40,000 revenue. Same 4.0x ROAS. One prints money and one bleeds.
| Campaign A | Campaign B | |
|---|---|---|
| Ad spend | $10,000 | $10,000 |
| Revenue | $40,000 | $40,000 |
| ROAS | 4.0x | 4.0x |
| Product margin | 55% | 22% |
| Gross profit | $22,000 | $8,800 |
| Profit after ad spend | +$12,000 | −$1,200 |
| POAS | 2.2x | 0.88x |
Campaign B loses money on every order, and the ROAS column will never tell you. Scale it and you lose faster. This is not a rare edge case — it is what happens to any store with a mixed catalog.
Your break-even ROAS, by margin
Break-even ROAS = 1 ÷ margin. Use contribution margin — what is left after cost of goods, payment fees, shipping and returns — not the gross margin your platform reports. Find your row. Anything below that number is a donation.
| Gross margin | Break-even ROAS | ROAS for 15% net |
|---|---|---|
| 10% | 10.0x | Not reachable |
| 20% | 5.0x | 20.0x |
| 25% | 4.0x | 10.0x |
| 30% | 3.3x | 6.7x |
| 40% | 2.5x | 4.0x |
| 50% | 2.0x | 2.9x |
| 60% | 1.7x | 2.2x |
| 70% | 1.4x | 1.8x |
Where the money actually goes
Here is a real-shaped $40,000 month. Revenue is the tall bar on the left. Everything orange is a cost that ROAS pretends does not exist.
Why good accounts get caught
It is rarely carelessness. The ad platforms only know what you send them, and most accounts send revenue.
- Mixed catalogs. Accessories carry 70% margin. The flagship carries 20%. Smart Bidding chases the flagship because the revenue number is bigger.
- Discount codes. Most setups do pass revenue net of discounts — Shopify's Google channel sends the post-discount subtotal. The problem is that the discount comes straight out of margin, so a 20% code can cut a 40% margin in half while ROAS barely moves.
- Returns. Returns do not appear in ROAS at all. They appear in the P&L six weeks later. The NRF put US returns at 15.8% of sales in 2025 — and 19.3% of online sales.
- Shipping and payment fees. Free shipping on a $45 order can eat a third of the margin before the card fee lands.
- First order vs. repeat. A new customer at break-even is fine if they come back. If they do not, break-even is a loss.
Gross margin POAS or contribution margin POAS?
There are two honest versions of POAS. Pick one and label it, because the numbers are very different.
| Version | Subtracts | Use it for |
|---|---|---|
| Gross-margin POAS | Cost of goods only | A fast first build. Easy data. |
| Contribution-margin POAS | COGS + shipping + payment fees + returns + discounts | Budget decisions. This is the honest one. |
Start with gross-margin POAS this week. Move to contribution-margin POAS once finance gives you landed cost and a return rate by category. Just never compare one to the other and call it a trend.
What counts as a good POAS?
POAS below 1.0 means you lost money on the ads. Above that, the useful ranges look like this — treat them as working bands, not laws, because they still move with your overhead.
| POAS | What it means | What to do |
|---|---|---|
| Under 1.0 | Ads cost more than the profit they made | Pause or fix. Do not scale. |
| 1.0 – 1.5 | Thin. Overhead may eat it | Hold. Fix margin or conversion rate first. |
| 1.5 – 2.5 | Healthy for most ecommerce | Scale carefully, one step at a time. |
| 2.5 and up | Strong | Scale. Find out why it works and copy it. |
Build the profit sheet in one afternoon
You do not need a data warehouse to start. You need one export and five columns.
- 01Export the last 90 days of orders with SKU, quantity, revenue, and discount.
- 02Add cost of goods for each SKU. Ask finance for the landed cost, not the invoice cost.
- 03Subtract shipping, payment processing (Shopify Payments and Stripe run about 2.5–2.9% + $0.30 on US online card orders, depending on plan and card), and your return rate by category.
- 04You now have gross profit per order. Group it by product line and by channel.
- 05Divide gross profit by ad spend for that group. That is POAS. Sort the list.
Across the accounts we have run this on, roughly a third of the catalog typically comes back below break-even the first time. That is our own observation from client audits, not a published benchmark — but it has held often enough that we expect it. It is also the fastest money you will find this quarter, because turning off a losing SKU costs nothing.
How to actually send profit to Google
Reporting on profit is step one. Bidding on profit is where the number moves. Google gives you three separate mechanisms and they are not interchangeable.
| Mechanism | What it does | Use it when |
|---|---|---|
| Transaction-specific conversion values | You pass margin instead of order total as the `value` on the purchase event | Start here. This is the actual profit-bidding mechanism for ecommerce |
| A separate profit conversion action | A second action carrying margin as its value | You want profit bidding without losing revenue reporting |
| Conversion value rules | Adjusts values at auction time by location, device, or audience only | Margin differs by segment. It cannot carry per-order profit |
| Offline conversion imports | Sends value back from your CRM against a click ID | Lead gen, where the value is only known after the sale |
| `cost_of_goods_sold` in Merchant Center | Feeds gross-profit reporting in Google Ads | Reporting, not bidding. Do it alongside the first row |
The common mistake is reaching for conversion value rules. They only adjust by location, device and audience — they cannot carry per-order margin. For Shopping, also tag margin bands into your feed with a custom label (`custom_label_0` is the usual choice) and split campaigns by that label, so each band carries its own target instead of one blended number doing damage in both directions.
One more reason to restate your target now
On August 17, 2026 Google changed how budget-limited Target CPA and Target ROAS campaigns behave. They now perform toward the target you set instead of overshooting it. If your account was quietly beating its target because the budget was tight, that cushion is gone.
In plain terms: the number in the target box now means what it says. Which makes setting it off real margin — not off a hopeful round number — more important than it was a month ago.
What about Meta?
Meta has the same problem and most POAS articles skip it. The fix is the same shape:
- Send profit as the value on your purchase event through the Conversions API, not just the browser pixel.
- Split catalogs into margin sets so Advantage+ cannot spend the whole budget on your worst-margin hero product.
- Use value optimization only after profit values are flowing. Before that, you are optimizing to the wrong number faster.
- Watch blended MER alongside it. Meta takes credit generously, and profit-per-order keeps that honest.
POAS for lead generation
If you sell services, not products, the same logic works with different words. Substitute gross profit per closed job for margin per SKU.
- 01Attach the job value and the job cost to each closed deal in your CRM.
- 02Roll it up to a gross profit per closed job, by service line.
- 03Multiply by your close rate to get expected profit per qualified lead.
- 04Divide by cost per qualified lead. That is your lead-gen POAS.
A roofer with $3,000 profit per job and a 25% close rate makes $750 of expected profit per qualified lead. At $180 per qualified lead, POAS is 4.2x. At $600, it is 1.25x — still positive, but no longer worth the crew time. Same math, different nouns. More on that in why cost per lead misleads.
Where POAS is weak
Anyone selling you a POAS tool will skip this part. It matters.
- Your cost data goes stale. Supplier prices change. A POAS built on last year's COGS is confidently wrong.
- It is still last-click underneath. POAS fixes the value, not the attribution. Both need work.
- It ignores lifetime value. A subscription business that judges the first order on POAS alone will underbid every time.
- Fixed costs are invisible. POAS is a contribution number. It does not know about rent or salaries.
- Small samples lie. One returned $900 order can flip a product line's POAS for a week.
What this looked like on a real account
A Florida hardware brand needed Google to take more volume without breaking the unit. We rebuilt Shopping and search structure, banded the catalog by margin, and only let budget grow where the return held.
$2.65M
Ad spend
+12.69%
74,169
Conversions
+8.50%
3.91x
ROAS
held vs 3.93
One account in home hardware, shared with permission, comparing two equal 122-day windows. Results vary by margin structure, catalog and category. We are quoting ROAS here on purpose, because that is what the platform reports and what the screenshot shows. The POAS story sits underneath it: holding 3.91x — technically down 0.5% from 3.93x — while spend grew 12.69% means gross profit grew with spend rather than behind it. A ROAS that jumps while spend shrinks is not a win. It is a smaller business.
The 10-minute audit
Run this before your next budget meeting. If you cannot answer three of the five, you are flying on revenue.
- 01What is our contribution margin, after cost of goods, shipping, fees, discounts and returns?
- 02What is break-even ROAS at that margin?
- 03Which three products get the most ad spend, and what is the margin on each?
- 04Is the value we send to Google and Meta revenue, or profit?
- 05If we cut everything under break-even tomorrow, what happens to profit?
Pick one product line. Build the five columns. Then rank your campaigns by ROAS and again by POAS. If the two lists come out in a different order, your budget is in the wrong place — and reallocating it is a days-not-quarters fix.
Questions we get asked
What is POAS?
POAS stands for profit on ad spend: profit divided by ad spend. Which profit matters. Gross-margin POAS uses revenue minus cost of goods. Contribution-margin POAS also strips shipping, payment fees, discounts and returns, and is the version that matches your P&L. ROAS uses revenue instead, so it ignores margin entirely.
How do I calculate break-even ROAS?
Divide 1 by your margin — use contribution margin, meaning what is left after cost of goods, shipping, payment fees and returns. At a 40% margin, break-even ROAS is 2.5x. At 25% it is 4.0x, and at 20% it is 5.0x. Any campaign below that number is losing money before overhead.
Is a 4x ROAS good?
It depends entirely on margin. At 55% margin, 4x ROAS is very profitable. At 22% margin, 4x ROAS loses money on every order. The number means nothing without the margin next to it.
What is a good POAS?
Below 1.0 you lost money on the ads. Roughly 1.0 to 1.5 is thin, 1.5 to 2.5 is healthy for most ecommerce, and 2.5 or higher is strong. These are working bands rather than rules, because your overhead and repeat-purchase rate still move the answer.
What is MER and how is it different from ROAS?
MER is marketing efficiency ratio: total revenue divided by total marketing spend across every channel. ROAS measures one campaign or platform, MER measures the whole business, and POAS tells you whether either number is producing profit.
Why is my ROAS high but my profit low?
Usually your ad spend is concentrated in low-margin products, discount codes are cutting margin without cutting reported revenue, or returns are landing after the reporting window. Rebuild the report on gross profit per order and the concentration will show up immediately.
Can Google Ads bid on profit instead of revenue?
Yes. The practical route is to pass margin instead of order total as the `value` on your purchase conversion — Google Ads supports transaction-specific conversion values, so whatever number you send is what Smart Bidding optimizes toward. Conversion value rules are not the mechanism: they only adjust by location, device and audience. And you must restate your target at the same time — at 40% margin, a 4.0x revenue target becomes 1.6x on profit values.
How long does it take to switch from ROAS to POAS reporting?
A first version takes an afternoon with an order export and cost of goods per SKU. Feeding profit values back into the ad platforms and letting Smart Bidding relearn usually takes another two to four weeks.
Sources
- Google Ads Help — Track transaction-specific conversion values
- Google Ads Help — About conversion value rules
- Google Merchant Center — Cost of goods sold [cost_of_goods_sold]
- Google Ads Help — About offline conversion imports
- Google Ads Help — Changes to target-based bid strategies (August 17, 2026)
- Google Merchant Center — Product data specification (custom labels)
- Meta for Developers — Conversions API
- Meta Business Help — Requirements to use Maximize value of conversions
- National Retail Federation — 2025 consumer returns report
Next step
Want the profit sheet built for you?
Send us one order export and your ad accounts. We will come back with POAS by product line, your break-even by margin band, and the three campaigns to cut first.
