Adjusting the Free-Shipping Threshold for Refund and Return-Shipping Cost

Metricuno
June 23, 2026
6 min read
Quick answer

Most free-shipping thresholds are set against gross orders and ignore returns. Here's the refund-adjusted contribution-margin formula, with an apparel example showing how a "safe" €60 threshold turns margin-negative at a 6% refund rate.

Quick answer

Net your refund rate × (absorbed return shipping + restocking + processing) out of per-order contribution margin before solving for the threshold. On apparel with a 6% refund rate and ~€9 of round-trip return cost, a €60 threshold built on gross orders typically needs to move to €72–€78 to stay margin-positive after returns.

Definition
Pricing & Margin

Refund-Adjusted Free-Shipping Threshold

A free-shipping threshold set against contribution margin that has already been reduced by expected refund and return-shipping cost per order.

The refund-adjusted threshold is the order value at which contribution margin still covers outbound shipping after you subtract the probability-weighted cost of returns. The adjustment has three parts: the refund rate (how often an order comes back), the absorbed return-shipping cost (what you eat on the inbound leg plus any outbound shipping you don't recover), and the variable handling cost of processing the return (restocking, QA, payment fees not refunded).

Without this adjustment, a threshold that looks healthy on the order-confirmation page can lose money once the 30-day return window closes. The mistake is structural, not arithmetic — it comes from optimising against the wrong denominator.

Also known as
Return-adjusted shipping threshold
Net-of-returns free shipping minimum

This page assumes you've already moved off gross margin and onto contribution margin for threshold maths. If not, start with the parent guide on using contribution margin to set a free-shipping threshold — the refund adjustment sits on top of that base.

Why a gross-order threshold leaks margin

When you set the threshold against gross orders, you're implicitly assuming every order completes. On apparel that assumption is wrong roughly 20–40% of the time at the unit level, and 4–8% of the time at the full-order refund level.

Each refunded order still costs you something. You usually eat the inbound return label, you don't recover the outbound shipping you gave away to clear the threshold, and you pay payment-processing fees on the gross transaction even after the refund clears. Restocking and QA add another €1–€3 per returned unit on apparel.

The 6% swing on a €60 threshold

Apparel order at €60. Contribution margin 38% → €22.80. Outbound shipping €6. Looks like €16.80 of cushion. Now apply a 6% full-order refund rate with €9 of absorbed return cost (return label €5, lost outbound €6 × partial recovery, restocking €1.50). Expected return cost per order = 0.06 × (6 + 9) = €0.90 — small. But the refunded 6% also lose the full €22.80 of margin: 0.06 × 22.80 = €1.37. Real net margin after shipping: 22.80 − 6 − 0.90 − 1.37 = €14.53. Now add payment fees on refunds you don't recover (€0.30 per order on the 6%) and the €60 threshold survives — but only just. At 8% refund rate it goes negative.

How to detect that your threshold is mispriced

Pull three numbers from the last 90 days, segmented by orders that qualified for free shipping versus orders that didn't: full-order refund rate, partial-refund rate, and average return-shipping cost absorbed per refunded order. The Refund Rate Calculator handles the first two if you don't have them clean in GA4 or Shopify.

The tell is when free-shipping-qualified orders show a higher refund rate than sub-threshold orders. That gap — often 1.5–3 percentage points on apparel — is threshold-induced behaviour: shoppers adding a marginal item to clear €60, then returning the filler. Your threshold is paying for its own returns.

Benchmark

Typical full-order refund rates by vertical (free-shipping-qualified orders)

VerticalRefund rateAbsorbed return cost / refunded orderThreshold uplift needed
Apparel & footwear6–9%€8–€12+€12 to +€20
Beauty & skincare1.5–3%€4–€7+€2 to +€5
Home & decor3–5%€10–€18+€6 to +€12
Consumer electronics4–7%€12–€25+€10 to +€18
Supplements & food0.5–1.5%€3–€6+€1 to +€3

The corrected formula

Solve for the threshold T where contribution margin, net of expected refund cost, still covers outbound shipping. With cm as your contribution-margin rate, s as outbound shipping cost, r as the full-order refund rate, and c as the absorbed cost per refunded order: T ≥ (s + r·c) / (cm · (1 − r)).

The (1 − r) in the denominator is the part most teams miss — it accounts for the fact that only completed orders carry margin forward, but every order at threshold consumed the outbound shipping subsidy. Plug in cm = 0.38, s = 6, r = 0.06, c = 9 and you get T ≥ (6 + 0.54) / (0.38 × 0.94) = €18.30 to break even on shipping alone — but to preserve the original €16.80 cushion you targeted at €60, you need to lift to roughly €72–€74.

Don't forget the partial refund tail

Multi-unit apparel orders rarely come back whole — they come back one SKU at a time. If your average refunded order keeps 40% of basket value, model it as two separate flows: full-order refunds at rate r_full and partial refunds at rate r_partial with their own absorbed cost. The same formula structure works; you just sum the r·c terms.

Experiments to validate the new threshold

Don't ship the corrected threshold globally on day one. Run it as a controlled test: split traffic 50/50 between the old gross-orders threshold and the refund-adjusted one, hold for at least one full return window (30 days for most apparel brands, 60 if you offer extended holiday returns), and measure refund-adjusted contribution margin per session — not AOV, which will look worse on the new arm.

Secondary test: segment the threshold by category. Beauty SKUs rarely come back, so a €45 threshold there can coexist with a €72 threshold on apparel without confusing shoppers if you message it at the category level. This is also where the gross-margin-vs-contribution-margin threshold mistake compounds — fix both at once and the margin recovery is usually 1.5–2.5 points of contribution per order.

Frequently asked

Frequently asked questions

Because the threshold is solving for an order value, and only non-refunded orders actually deliver that margin. Putting r only in the numerator double-counts: you'd subtract refund cost from margin but still credit yourself the full margin on refunded orders. The (1 − r) divisor corrects for that.

Then c shrinks to just restocking, QA and unrecovered payment fees — usually €2–€4 on apparel. The formula still applies; the threshold uplift just gets smaller. Note that customer-paid returns also tend to lower your refund rate by 1–3 points, which compounds the benefit.

Exchanges that ship a replacement at your cost behave like a partial refund plus a second outbound shipment. Model them separately if exchanges are above ~3% of orders; otherwise fold them into r with a blended c that reflects the second shipping leg.

Quarterly at minimum, and whenever you change your shipping carrier rates, return policy, or product mix. Seasonal apparel brands should recompute before each major drop because return rates on outerwear differ sharply from those on tees.

Yes — free returns roughly doubles c on apparel (you eat both legs) and adds 1–2 points to r. The combined effect typically pushes the threshold €8–€15 higher than a paid-return policy at the same gross AOV.

Treat them as a separate term with their own r_fraud and c_fraud (which includes the chargeback fee, usually €15–€25). They're small for most apparel brands but material on electronics, where they can add €0.50–€1.20 per order to the adjustment.

Use a basket-weighted contribution margin for orders in the threshold band, not your catalog average. The orders sitting at €55–€70 trying to clear a €60 threshold tend to over-index on lower-margin filler SKUs, so the basket-weighted number is usually 3–5 points below catalog.

It can, but the loss is usually concentrated in low-margin filler orders that were unprofitable anyway. In tests on Shopify apparel stores, a €12 threshold uplift typically drops checkout conversion 0.5–1.5% while lifting refund-adjusted CM per session 6–12%.

The progress bar amplifies threshold-chasing behaviour, which is exactly the segment that returns the filler item. If you raise the threshold, also reconsider whether the bar should show the new number or be removed for orders close to the old one — A/B test both.

On verticals with refund rates above 8% (premium apparel, footwear), yes — a flat €4–€6 shipping fee often outperforms any threshold once you net out returns. Test it as a third arm alongside your current and refund-adjusted thresholds.

Test ideas before you ship them

Run unlimited A/B tests, attach hypotheses to outcomes, and build a searchable archive of what works — and what doesn't.