Free Shipping Threshold That Protects Contribution Margin

Metricuno
July 7, 2026
6 min read
Free Shipping Threshold That Protects Contribution Margin — How to set a free shipping threshold that lifts AOV without eroding contribution margin. The reverse-CM formula, worked examples, and Shopify-ready numbers.
Quick answer

Set your free-shipping minimum by running the contribution-margin math backwards: given AOV, COGS, and shipping cost, find the threshold that protects your target CM%.

Quick answer

Set the threshold so that CM% at the threshold equals your target CM%. In plain math: Threshold = (COGS_at_threshold + Shipping) / (1 − Target CM%). For a typical apparel store with 35% product cost, €6 shipping, and a 55% CM target, that lands around €72–€78 — which is why '€75 free shipping' shows up so often. Do not set it at current AOV; that guarantees margin loss on orders that were already going to convert.

Definition
Pricing & Merchandising

Free Shipping Threshold That Protects Contribution Margin

The minimum cart value at which offering free shipping still preserves your target contribution margin percentage.

A CM-safe free-shipping threshold is the cart-value floor above which the store can absorb outbound shipping cost without dropping below its target contribution margin. It is derived by running the contribution-margin calculator in reverse: fix the CM% you need, plug in variable COGS and shipping cost, and solve for the revenue level that makes the equation balance.

It is not the same as current AOV, not a round marketing number pulled from a competitor, and not a fixed euro amount across every country or SKU. On Shopify and WooCommerce stores it is usually implemented per shipping zone and, ideally, per product weight tier.

Also known as
CM-safe shipping threshold
break-even free shipping minimum
margin-protected shipping floor

Most stores pick their free-shipping threshold by copying a competitor or rounding up from current AOV. Both routes destroy margin quietly — the loss shows up in blended CM three months later, not in the checkout report.

The correct starting point is the contribution-margin calculator, run backwards. You already know your target CM%. Solve for the threshold that produces it, then adjust for AOV distribution, heavy SKUs, and cross-border shipping cost.

Why the wrong threshold silently kills margin

Setting the threshold at or below current AOV is the most common mistake. Roughly half your orders were already going to hit that number — you just added a shipping subsidy to orders that did not need one. The related breakdown in Why Setting Free Shipping At Current AOV Destroys Margin walks the exact scenario.

Setting it too high protects CM per order but shrinks conversion rate and total contribution euros. The threshold is a two-sided lever: too low bleeds CM%, too high bleeds volume. The safe zone lives 10–25% above current AOV, and only if the CM math confirms it.

The trap most Shopify stores fall into

Turning on 'Free shipping over €50' when your AOV is already €58 means every order gets free shipping and your CM drops by the full shipping cost — with zero AOV lift to compensate. That is a straight margin transfer from you to the carrier.

The reverse-CM formula

The identity is: CM% = (Revenue − COGS − Shipping) / Revenue. Fix CM% at your target, treat COGS as a percentage of revenue at the threshold, and solve for Revenue.

Rearranged: Threshold = Shipping / (1 − Target CM% − COGS%). If your target CM is 55%, COGS runs 35% of revenue, and outbound shipping costs €6, the threshold is 6 / (1 − 0.55 − 0.35) = €60. If shipping rises to €8 after a carrier hike, the threshold jumps to €80.

Shipping cost is the sensitive variable, not COGS. A €2 carrier increase can move the threshold by €15–€20 — which is why the When To Raise The Free Shipping Threshold After A Shipping-Carrier Price Hike page exists as a standalone playbook.

Threshold ranges by store type

Benchmark

CM-safe free-shipping thresholds for typical DTC stores (EU domestic zone, single-item to small-basket categories)

Store typeTypical AOVCOGS %Outbound shippingTarget CM%CM-safe threshold
Beauty / skincare€4525%€560%€65–€75
Apparel (mid-market)€6535%€655%€60–€80
Home & lifestyle€8040%€950%€90–€110
Supplements / consumables€4030%€555%€55–€65
Small electronics / accessories€5550%€740%€70–€85
Heavy goods (furniture, appliances)€25045%€3545%€350+ or SKU carve-out

The heavy-goods row is why single-threshold policies fail on stores with mixed SKU weight. See Heavy / Oversize SKU Carve-Outs From The Free Shipping Rule — for oversize items, the threshold has to be product-specific or the item is excluded from the promise entirely.

Setting the threshold on Shopify and WooCommerce

On Shopify, the CM-safe threshold is implemented via shipping profiles, one per zone. Domestic EU, cross-border EU, and UK/rest-of-world need separate numbers because carrier rates differ by 30–80%. Shopify Shipping Profiles: Implementing A CM-Safe Threshold has the exact configuration.

WooCommerce uses shipping zones with per-zone free-shipping minimums. For multi-country EU stores, VAT-inclusive pricing also shifts the threshold — a €75 cart in Germany (19% VAT) has less contribution than the same €75 in Luxembourg (17% VAT). WooCommerce Shipping Zones: Threshold Math For Multi-Country EU Stores covers the adjustment.

Test the threshold, do not just deploy it

Once the math gives you a number, A/B test two thresholds — usually the CM-safe floor and a 15–20% higher anchor. The Anchoring The Threshold Above AOV Without Tanking Conversion Rate scenario walks the trade-off. Watch CM per session, not conversion rate alone, because the two metrics move in opposite directions here.

Tiered offers (€50 flat rate → €75 free shipping → €100 free returns) often out-earn a single threshold. The Tiered Free Shipping (€50 / €75 / €100) Without Eroding CM page has the structure. And before adding shipping subsidy at all, compare against a gift-with-purchase — Gift-With-Purchase vs Free Shipping: Which Costs Less CM At The Same AOV Lift shows GWP is cheaper in most beauty and apparel categories.

Frequently asked

Frequently asked questions

Threshold = Shipping cost / (1 − Target CM% − COGS%). Plug in your outbound shipping cost, your COGS as a share of revenue, and the CM% you want to preserve. The result is the minimum cart value at which you can absorb shipping without dropping below target CM.

Yes, in almost every case. Setting it at or below AOV means you subsidise shipping on orders that were already going to convert, with no AOV lift in return. A safe range is 10–25% above current AOV, provided the reverse-CM math confirms it.

For a typical apparel or beauty store — 30–35% COGS, €5–€7 shipping, 55–60% target CM — the reverse-CM formula lands between €60 and €80. Rounded to a clean marketing number, that becomes €75. It is coincidence dressed up as best practice.

Under Settings → Shipping and Delivery, edit the shipping profile for the relevant zone and add a price-based rate with a minimum order value. Configure one per zone: domestic EU, cross-border EU, and rest-of-world usually need different numbers because carrier rates differ.

Yes, if you display VAT-inclusive prices. A €75 cart in a 19% VAT country contains less net revenue than the same €75 in a 17% VAT country, so contribution margin at the threshold is not equal. Cross-border EU stores should either set thresholds on net values or vary them per country.

A single threshold fails when SKUs range from a 100g lip balm to a 5kg candle set. Either carve heavy or oversize SKUs out of the free-shipping promise, or set weight-based shipping and apply the free-shipping rule only to a specific SKU group.

Yes. Run an A/B test between the CM-safe floor and a 15–20% higher anchor, and evaluate on contribution margin per session, not conversion rate alone. Conversion typically falls slightly at a higher threshold while CM per session rises — the trade-off you care about.

At minimum, every time a carrier changes rates (usually annually), and any time COGS shifts by more than 3 percentage points. A €2 carrier increase can push the CM-safe threshold up by €15–€20 — leaving it stale directly leaks margin.

Often yes, especially in categories with wide AOV distribution. A structure like €50 flat rate, €75 free shipping, €100 free returns nudges customers up two tiers instead of one, and the incremental CM cost of the top tier is usually recovered by AOV lift.

In beauty and apparel it frequently does. A €4 wholesale-cost GWP that reads as a €15 value can drive the same AOV lift as free shipping while costing you less contribution margin, because you control the item cost rather than paying the carrier's retail rate.

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.