Skip to content

We hit 92% of client goals last quarter. Schedule a call.

SpikeROAS performance marketing agency logo

Measurement

ROAS vs POAS: why a 4x account can still lose money

By the SpikeROAS deskPublished Updated 14 min read

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.

ROASPOAS
Full nameReturn on ad spendProfit on ad spend
FormulaRevenue ÷ ad spendGross profit ÷ ad spend
What it countsMoney in the doorMoney you keep
NeedsAd platform data onlyCost of goods per product
Breaks whenMargins differ by productYour cost data is stale
Break-even1 ÷ your margin1.0 — by definition
POAS has a break-even of 1.0 by definition. That is the point — you never have to look it up.

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 ACampaign B
Ad spend$10,000$10,000
Revenue$40,000$40,000
ROAS4.0x4.0x
Product margin55%22%
Gross profit$22,000$8,800
Profit after ad spend+$12,000−$1,200
POAS2.2x0.88x
Same spend. Same ROAS. Very different month.

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 marginBreak-even ROASROAS for 15% net
10%10.0xNot reachable
20%5.0x20.0x
25%4.0x10.0x
30%3.3x6.7x
40%2.5x4.0x
50%2.0x2.9x
60%1.7x2.2x
70%1.4x1.8x
Third column formula: 1 ÷ (margin − target net margin). At 40% margin wanting 15% net: 1 ÷ 0.25 = 4.0x. Use contribution margin for the honest version.

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.

Where a $40,000 revenue month actually goesWaterfall chart: $40,000 revenue minus $18,000 cost of goods, $3,200 shipping, $1,400 payment fees, $4,400 returns and $10,000 ad spend leaves $3,000 kept. ROAS reads 4.0x on this month; POAS reads 1.3x.$40,000Revenue$18,000Costof goods$3,200Shipping$1,400Paymentfees$4,400Returns$10,000Adspend$3,000Whatyou keepROAS reads 4.0x. POAS reads 1.3x — you kept 7.5 cents on the dollar.
Illustrative US ecommerce month at 55% product margin. Payment fees shown at roughly 2.9% + $0.30 per transaction, the standard published US card rate. Return rate shown at 11%; the National Retail Federation put the 2025 US average at 15.8% of sales overall and 19.3% online.

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.

VersionSubtractsUse it for
Gross-margin POASCost of goods onlyA fast first build. Easy data.
Contribution-margin POASCOGS + shipping + payment fees + returns + discountsBudget 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.

POASWhat it meansWhat to do
Under 1.0Ads cost more than the profit they madePause or fix. Do not scale.
1.0 – 1.5Thin. Overhead may eat itHold. Fix margin or conversion rate first.
1.5 – 2.5Healthy for most ecommerceScale carefully, one step at a time.
2.5 and upStrongScale. Find out why it works and copy it.
These bands assume gross-margin POAS. Contribution-margin POAS runs lower, so a 1.4 on contribution can be better than a 2.0 on gross.

Build the profit sheet in one afternoon

You do not need a data warehouse to start. You need one export and five columns.

  1. 01Export the last 90 days of orders with SKU, quantity, revenue, and discount.
  2. 02Add cost of goods for each SKU. Ask finance for the landed cost, not the invoice cost.
  3. 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.
  4. 04You now have gross profit per order. Group it by product line and by channel.
  5. 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.

MechanismWhat it doesUse it when
Transaction-specific conversion valuesYou pass margin instead of order total as the `value` on the purchase eventStart here. This is the actual profit-bidding mechanism for ecommerce
A separate profit conversion actionA second action carrying margin as its valueYou want profit bidding without losing revenue reporting
Conversion value rulesAdjusts values at auction time by location, device, or audience onlyMargin differs by segment. It cannot carry per-order profit
Offline conversion importsSends value back from your CRM against a click IDLead gen, where the value is only known after the sale
`cost_of_goods_sold` in Merchant CenterFeeds gross-profit reporting in Google AdsReporting, 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.

  1. 01Attach the job value and the job cost to each closed deal in your CRM.
  2. 02Roll it up to a gross profit per closed job, by service line.
  3. 03Multiply by your close rate to get expected profit per qualified lead.
  4. 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

Google Ads · Compare · Mar 1–Jun 30, 2026 vs Oct 30, 2025–Feb 28, 2026 · Campaign names redacted

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.

  1. 01What is our contribution margin, after cost of goods, shipping, fees, discounts and returns?
  2. 02What is break-even ROAS at that margin?
  3. 03Which three products get the most ad spend, and what is the margin on each?
  4. 04Is the value we send to Google and Meta revenue, or profit?
  5. 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

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.

Keep reading

Next step

Get the Spike Brief.

Tell us the number that has to move. We will tell you where the next dollar works — and what we would cut.