How Returns-Heavy Categories Break POAS Math

Metricuno
June 4, 2026
5 min read
How Returns-Heavy Categories Break POAS Math — Apparel return rates of 25-40% silently break POAS. Here's how to net returns, restocking, and reverse logistics into a POAS number that holds up.
Quick answer

In apparel and footwear, gross POAS overstates campaign profitability by 30-50% once returns are netted. Here's the returns-adjusted formula and how to operationalise it.

Quick answer

Gross POAS treats every checkout as a kept sale. In apparel and footwear, 25-40% of those orders come back — taking the revenue, the margin, and a chunk of reverse-logistics cost with them. A returns-adjusted POAS multiplies gross profit by (1 − return rate) and subtracts per-return handling cost before dividing by ad spend. The number usually drops 30-50%.

Definition
Profitability metrics

Returns-adjusted POAS

POAS recalculated after netting returned-order revenue, lost margin, and reverse-logistics cost — the only version that holds up in apparel and footwear.

Returns-adjusted POAS is the version of Profit on Ad Spend that survives a finance review in categories where return rates routinely exceed 25%. Standard POAS divides gross profit per order by ad spend, implicitly assuming every order is final. In apparel, footwear, and fit-sensitive accessories, that assumption breaks: a campaign reporting POAS of 2.4 on gross terms can land at 1.3 net of returns, restocking labour, return shipping, and write-offs on damaged inventory. The adjustment is mechanical, but it changes which campaigns, SKUs, and creative variants actually deserve more spend.

Also known as
Net POAS
Returns-net POAS

If you sell jeans, dresses, sneakers, or anything sized, you already know the headline problem. The version you may not have priced in: your bidding algorithm doesn't know about returns either.

Why returns silently break POAS

POAS as most stores implement it uses gross order profit at checkout — revenue minus COGS minus payment fees. That number is final the moment the order ships. Returns land 14-45 days later, in a different report, owned by a different team.

The disconnect compounds. Google and Meta optimise toward the conversion value you send them. If you feed gross profit, they bid up audiences and creative that drive try-on behaviour — the exact segments most likely to return. Returns-heavy categories don't just have a measurement problem; they have a feedback-loop problem.

The expensive case

A Meta campaign for a denim launch reports POAS 2.8 on gross profit. Return rate on that SKU runs 38%. After netting refunds, €4.20 in reverse shipping, €2.10 in restocking labour, and a 12% write-off rate on returned units, true POAS is 1.4. You're scaling a campaign that's roughly breakeven.

How to detect the distortion in your own data

Pull a 90-day window with enough lag to capture full return cycles — most apparel return windows close at day 30, but refund posting lags another 5-10. Join orders to refunds at the order_id level, not the day level, so partial returns are handled correctly.

Three signals confirm the distortion is material. Return rate above 20% by category. Gap of more than 25% between gross POAS and net POAS at the campaign level. Top-quartile creative by gross POAS is bottom-quartile by net POAS — the clearest sign your bidding is chasing returners.

Computing returns-adjusted POAS

The formula is straightforward once you have the inputs. Start from gross profit per order — which itself depends on getting variable SKU-level COGS right — then haircut for the kept-order rate and subtract per-return handling costs amortised across all orders.

Formula

Net POAS = ((Gross Profit × (1 − Return Rate)) − (Return Rate × Reverse Logistics Cost per Return)) ÷ Ad Spend

Variables

Gross Profit

Gross profit per order

Order revenue minus SKU-level COGS minus payment processing fees, before any return adjustment.

Return Rate

Order-level return rate

Share of orders refunded within the return window. For partial returns, use refunded revenue ÷ original revenue.

Reverse Logistics Cost per Return

All-in cost of a return

Return shipping label + warehouse receiving labour + restocking + average write-off on damaged or unsellable returned units.

Ad Spend

Ad spend driving the orders

Platform spend for the campaign, ad set, or SKU scope being measured, over the same window.

Worked example

A Shopify denim brand reviewing one Meta prospecting campaign over 90 days. 1,000 orders, €80 AOV, 55% gross margin so €44 gross profit per order. Return rate 35%. Reverse logistics cost €9 per return (€4.20 shipping, €2.10 restocking, €2.70 write-off). Ad spend €18,000.

Gross profit per order: €44

Return rate: 35%

Reverse logistics cost per return: €9

Orders: 1,000

Ad spend: €18,000

Net POAS = ((44 × 0.65) − (0.35 × 9)) × 1,000 ÷ 18,000 = (28.60 − 3.15) × 1,000 ÷ 18,000 = 25,450 ÷ 18,000 = 1.41

Gross POAS on this campaign reads 2.44 (€44 × 1,000 ÷ €18,000). The returns-adjusted figure is 1.41 — a 42% haircut. The campaign is profitable but well below the 2.0 net threshold most apparel finance teams require to scale.

Two implementation notes. First, reverse logistics cost should be measured, not assumed — pull it from your 3PL invoices and warehouse timesheets, not a vendor's marketing page. Second, compute this at the SKU or product-category level wherever return rates differ materially. A 12% return rate on accessories and a 42% return rate on dresses cannot share one POAS number.

Feeding net values back to ad platforms

Once you've calibrated returns-adjusted POAS, send net conversion values to Google and Meta via offline conversion uploads or the Conversions API with a 30-45 day lag. Bidding then optimises against the number that actually pays your bills. Expect a 2-4 week relearning period and a temporary volume dip.

Experiments worth running

Three tests pay back fast in returns-heavy categories. Suppress audiences with serial-returner LTV signals from prospecting — usually 5-15% of buyers drive 40%+ of returns. Move fit-finder, size-chart, and model-height callouts above the add-to-cart on PDPs. Test bundle and upsell logic that excludes high-return SKUs from creative rotation.

All three should be judged on net POAS, not gross. Several will look flat or slightly negative on gross metrics while moving net POAS by 15-25%. That's the entire point — you're stopping the platform from chasing revenue you're going to refund.

Frequently asked

Frequently asked questions

Anything above 10% creates a visible gap; above 20% the gross number is actively misleading. Apparel and footwear typically sit at 25-40%, accessories 8-15%, beauty 3-8%. If your category return rate is below 5%, gross POAS is close enough.

Standard POAS divides gross profit by ad spend and stops there. Returns-adjusted POAS multiplies that profit by the kept-order rate and subtracts the reverse-logistics cost of the returns. In low-return categories the two numbers nearly match; in apparel they diverge by 30-50%.

Yes, if you offered free shipping and ate that cost. Add the outbound shipping cost to the reverse-logistics-cost-per-return term. Stores that charge for outbound shipping can usually skip this — the customer paid it.

Exchanges still incur reverse-logistics cost but preserve revenue, so they hit the cost term but not the kept-order rate. Track them separately in your returns table and apply only the per-return handling cost — not the full margin haircut.

For a single-category store, blended COGS is acceptable. For a multi-category catalogue with margin spreads above 15 points between SKUs, you need SKU-level cost data — otherwise the COGS error swamps the returns adjustment. See computing POAS when COGS varies by SKU for the upstream fix.

Yes, via offline conversion uploads or the Conversions API with a delay matching your return window. Send the net order value once the return window closes. Bidding then optimises against profit that actually lands, not gross checkout value.

Attribute the return back to the order's acquisition month, not the refund month. Otherwise current-month POAS looks artificially strong and prior months look unfairly punished. Most BI tools handle this with an order_date join, not a refund_date join.

Weekly for active campaigns using a trailing 90-day return rate by SKU or category. Monthly is fine for portfolio reviews. Avoid daily — return-rate noise will whipsaw your bidding decisions.

Two ways. Discounted orders have lower gross profit, so the haircut starts from a smaller base. Discounts also tend to lift return rates by 3-8 points — discount-driven buyers are less committed. Track POAS by promo cohort separately.

Most apparel finance teams want net POAS of 1.8-2.2 for prospecting and 3.0+ for retargeting and brand terms. Below 1.0 net you're losing money before fixed costs. The exact threshold depends on your contribution margin requirements and growth stage.

Track CAC, channels, and funnel conversion in one place

Metricuno connects ad spend, funnel events, and revenue so you can see CAC by channel, cohort, and campaign — without stitching together five tools.