ROAS vs POAS: How to Budget on Profit Instead of Revenue

Most ecommerce teams already know that ROAS ignores margin. Far fewer have actually moved their budget process onto a profit basis, because the change is less about understanding the formula and more about rebuilding targets, reporting, and the internal habits that grew around a revenue number. This is a practical guide to running budget allocation on POAS rather than ROAS: what changes in the ranking, how to translate existing targets, what happens to your discount strategy, and what the first month of the transition actually looks like.
What you will learn
Most ecommerce teams already know that ROAS ignores margin. Far fewer have actually moved their budget process onto a profit basis, because the change is less about understanding the formula and more about rebuilding targets, reporting, and the internal habits that grew around a revenue number. This is a practical guide to running budget allocation on POAS rather than ROAS: what changes in the ranking, how to translate existing targets, what happens to your discount strategy, and what the first month of the transition actually looks like.
The Structural Difference
ROAS divides attributed revenue by ad spend. POAS divides attributed gross profit by ad spend. The difference is one term in the numerator, and it changes what the metric rewards.
ROAS = attributed revenue / ad spend
POAS = attributed gross profit / ad spend
A revenue based metric rewards volume. Any action that increases the number of euros passing through the checkout improves it, including discounting, free shipping, and pushing the highest priced products regardless of what they cost you. A profit based metric rewards retained value, so those same actions only improve it when they genuinely leave more money behind.
The reordering effect is easiest to see in a portfolio view. Take four campaigns, all reported at similar ROAS levels:
| Campaign | Spend | Revenue | ROAS | Gross profit | POAS |
|---|---|---|---|---|---|
| Brand search | 6,000 | 34,000 | 5.7 | 19,700 | 3.28 |
| Prospecting, accessories | 12,000 | 44,000 | 3.7 | 24,600 | 2.05 |
| Prospecting, apparel | 14,000 | 53,000 | 3.8 | 13,800 | 0.99 |
| Promo, sitewide 20% | 9,000 | 41,000 | 4.6 | 6,900 | 0.77 |
On ROAS, the promotional campaign is the second strongest performer and the obvious candidate for more budget. On POAS it is the weakest thing in the account and is losing money. The apparel prospecting campaign, which looks perfectly healthy at 3.8, is running at break even once returns and shipping are counted.
That table is the entire argument for the switch. Nothing about the campaigns changed. Only the numerator did.
Making the Transition
Moving to a profit basis is a sequence, not a switch. Four steps cover most of it.
Translate your existing target. If you currently run to a ROAS target, that target already contains an implicit margin assumption. Make it explicit. A ROAS target of 3.5 on a business with 40 percent gross margin implies a POAS target of 1.4. The conversion is simply your target ROAS multiplied by your average margin. Starting from the equivalent number rather than inventing a new one keeps the first month comparable.
Equivalent POAS target = target ROAS x average gross margin %
Get margin data at a workable grain. SKU level cost of goods is the destination, but category level margins get you moving. Most brands have four to twelve meaningful margin bands across their catalogue, and applying those to attributed revenue captures the large variance immediately. The difference between 62 percent and 34 percent margin categories drives nearly all the reordering. The difference between two SKUs in the same category rarely does.
Decide where discounts live. In a profit calculation, a discount reduces net revenue. That is the correct treatment and it is also the one that changes behaviour most, because promotional campaigns stop looking free. Any brand that books discounts as a separate marketing expense will see almost no change from adopting POAS, which defeats the point.
Allocate order level costs at order level. Shipping, payment fees, and packaging attach to the basket. Allocating them per product misprices any campaign that changes average basket size, which is most campaigns worth running.
What Happens in Month One
Expect three things.
Reported efficiency drops across the board, because the numerator got smaller. This is not a performance decline and it needs to be communicated as a definitional change before the first report lands, or the conversation becomes about whether marketing broke something.
Campaign rankings shuffle. The campaigns most likely to fall are promotional pushes, high revenue low margin categories, and anything selling bulky items with free shipping. The campaigns most likely to rise are accessories, high margin subcategories, and full price ranges.
Somebody will argue that POAS undervalues customer acquisition, and they will be partly right. A first order at low margin can still be a good trade if the customer returns at full price. That is a genuine limitation and the answer is not to abandon the profit basis but to pair it with a lifetime view, either by calculating POAS on first order profit and separately tracking repeat contribution, or by allowing a lower POAS threshold on campaigns targeting new customers specifically.
Where the Two Metrics Still Coexist
POAS does not retire ROAS entirely. Three uses remain.
In platform optimisation still runs on whatever signal you send the platform, and unless you are passing profit as the conversion value, the algorithm is optimising on revenue. Comparing ad sets inside one campaign on ROAS remains valid because they share the same margin mix.
Speed matters too. ROAS is available immediately from platform reporting. POAS requires a margin join, which usually means a day or two of lag depending on your data pipeline. For same day decisions, a revenue metric with a known margin assumption is often the practical option.
Categories with uniform margin genuinely do not need the distinction. A single product business with one price point and one shipping profile will see POAS and ROAS move in lockstep, and the extra machinery buys nothing.
The decision factors, condensed:
- Margin variance across catalogue. Above roughly 20 percentage points of spread, the switch is worth the work.
- Discount intensity. Frequent promotions make revenue metrics actively misleading.
- Return rates. High return categories cannot be judged on revenue at all.
- Data readiness. Current cost of goods and reliable order level cost allocation are prerequisites, not nice to have.
- Attribution quality. POAS improves the value of an order, not the assignment of it. Both need to be right.
That last factor is the one teams underestimate. Moving to profit fixes the numerator while leaving the assignment question untouched. If platform self reporting is crediting the same order to three channels, then all three now have an incorrect profit figure rather than an incorrect revenue figure. The right sequence is usually to fix attribution first, so that orders are assigned once under consistent rules, and then upgrade the numerator to profit. Doing it in the other order produces a more sophisticated calculation on top of the same double counted orders.
The Practical Summary
ROAS measures revenue returned per euro of media. POAS measures profit returned. The switch matters because revenue metrics reward discounting, high price low margin products, and any campaign that moves volume regardless of what it costs to fulfil. Profit metrics reward the campaigns that leave money behind.
Make the transition by converting your existing ROAS target into its profit equivalent, applying category level margins before chasing SKU level precision, treating discounts as reduced revenue, and allocating shipping and fees at order level. Warn stakeholders that reported efficiency will fall on the first report and explain why. Then check that your attribution assigns each order once across channels, because budgeting on profit only helps if the orders were assigned to the right channel in the first place.
FAQ
How do I convert my ROAS target into a POAS target?
Multiply your current ROAS target by your average gross margin percentage. A 3.5 ROAS target at 40 percent margin becomes a 1.4 POAS target. Starting there keeps the first month's decisions consistent while everyone adjusts to the new scale.
Will my numbers look worse after switching to POAS?
The reported ratios will be lower, because the numerator shrinks from revenue to profit. Business performance has not changed. Communicate this as a change in definition before the first report circulates, otherwise the drop reads as a performance problem.
Does POAS unfairly penalise customer acquisition campaigns?
It can, when the first order is deliberately low margin and the value comes from repeat purchase. Handle it by tracking POAS on first order profit alongside repeat contribution per cohort, or by setting a lower POAS threshold specifically for new customer campaigns.
Can I still use ROAS for anything?
Yes. It remains valid for comparing ad sets within one campaign that share a margin profile, for same day decisions where the margin join has not run yet, and as the signal ad platforms optimise on unless you are sending profit as the conversion value.
What is the minimum data I need to start?
Category level gross margins, an order level view of shipping and payment fees, discount data at order level, and a return rate per category. That combination is enough to produce a usable POAS. SKU level costs improve precision but are not required to begin.
Decisions start with trust
14-days for free
