Where should your free shipping threshold sit?
A free shipping threshold only pays for itself when the extra basket value it induces carries enough margin to cover the shipping you absorb. The minimum safe threshold is your current AOV plus the absorbed shipping cost divided by your contribution margin percentage. Set it lower and qualifying orders can grow revenue while handing margin back. This tool computes your floor from three numbers.
Revenue per order today, before the offer. A month of revenue divided by a month of orders is fine.
What each revenue dollar keeps before marketing: after discounts, landed COGS, shipping and fulfilment, and payment and platform fees. Step it down here if you do not know it.
What the carrier plus pick/pack cost you on an order over the threshold, once the customer stops paying it.
Baskets that clear the threshold must average at least $20.00 more than today's $80.00 AOV or the offer costs you margin.
Per-qualifying-order break-even: this does not model conversion-rate lift, which can justify a lower threshold. Test that, never assume it.
The suggested minimum threshold at your contribution margin, then shifted five and ten points either way. Computed from your inputs, nothing assumed.
Three inputs, straight from your stack
Nothing here needs a data team. Two of the numbers sit in your store admin and your carrier invoices; the third is the same contribution margin The Math builds, and there is a free tool for it.
A month of revenue divided by a month of orders, from your store admin's sales reports or your ledger. This is the basket you are trying to grow, before the offer exists.
Your margin before marketing: revenue minus discounts, landed COGS (cost plus freight-in plus duty), shipping and fulfilment, and payment and platform fees. No number handy? Step it down first.
The average outbound cost on orders near the threshold, from carrier invoices or your 3PL rate card. This is the cost the offer eats on every qualifying order.
The suggested minimum threshold is the lowest safe setting on this math. Going lower is a conversion bet: make it deliberately, and verify it against real baskets after launch.
The whole method is two lines
Absorbing shipping on a qualifying order pays only if the extra basket value it induces carries margin at least equal to that shipping cost. Each extra basket dollar carries only its margin, not its face value, and the floor follows directly from that.
Same definitions as The Math: contribution margin is revenue minus discounts, landed COGS (cost plus freight-in plus duty), shipping and fulfilment, and payment and platform fees - the margin before marketing. Covering the absorbed shipping therefore takes shipping ÷ CM% of extra basket value, and the threshold floor is today's AOV plus that extra.
You absorb $8.00 of shipping on every qualifying order. At a 40% contribution margin, each extra basket dollar carries $0.40 of margin, so covering the shipping takes $8.00 ÷ 40% = $20.00 of extra basket value.
Add that to today's AOV and the floor is $80.00 + $20.00 = $100.00. Baskets clearing the threshold must average at least $20.00 above today's AOV, or the offer grows revenue while handing margin back.
These are your live inputs from the calculator above, not a canned example. Change a number up there and this paragraph follows.
The round number that quietly eats margin
The decision this number drives is where the qualifying bar sits: the one lever in a free shipping offer you fully control. The instinct is to park it a small round number above AOV so plenty of orders qualify. That instinct is exactly how thresholds quietly eat margin, because it prices the offer off revenue instead of margin.
On your numbers the bet is explicit: absorb $8.00 per qualifying order in exchange for baskets at least $20.00 bigger. A basket that grows by only $10.00 carries $4.00 of new margin against $8.00 of shipping: you hand back $4.00 on an order that looks like a win in every revenue report.
Honest about where this math stops
Three numbers you already have turn "free shipping over $X" from a marketing vibe into a margin decision, and it catches the most common failure before launch: a threshold that adds orders while quietly handing the margin pool to the carrier.
We never use this math to copy a competitor's threshold. Their AOV, margin and shipping costs are not yours, so importing their number imports their economics onto your ledger, minus the reasoning.
And when the blended average itself breaks down, the answer is your real basket distribution, not a better average. Blufire S2 Unit Economics shows margin by order-value band via the Profitability Cube, so you can read what the baskets around a proposed threshold actually carry, and S11 Scenario Lab models AOV and discount what-ifs before you commit.
Run it before the offer goes live
Run today's AOV, contribution margin and absorbed shipping through the calculator. Set the threshold no lower than the suggested minimum unless you are deliberately betting on conversion lift, and have a way to measure it.
Compare the average basket of orders that cleared the threshold against today's AOV. If the gap is smaller than the required extra basket value, the offer is handing back margin on those orders.
Carrier rate cards, landed COGS, discount posture and payment fees all move the contribution margin, and the floor moves with it. A threshold set last year was priced on last year's margin.
The trigger: your current threshold sits below the suggested minimum, or qualifying baskets average less than the required extra above AOV. Either one means the offer is costing you margin: raise the bar or rework the offer.
Questions operators ask
Suggested minimum threshold = current AOV + (shipping cost you absorb ÷ contribution margin %). Absorbing the shipping only pays if the extra basket value it induces carries margin at least equal to that shipping cost, and each extra basket dollar carries only its margin share, so the required extra is the shipping divided by CM% and the floor is your AOV plus that extra.
Because a basket dollar is not a margin dollar. Adding the shipping cost straight onto AOV assumes every extra dollar of basket is pure profit; in reality each extra dollar carries only your contribution margin share of it, so covering an $8 cost at a 40% margin takes $20 of basket, not $8. The lower your margin, the further above AOV the threshold has to sit.
No. A threshold is priced by your AOV, your contribution margin and your shipping cost, and theirs are different on all three. A number that is safely above their floor can sit below yours, and you would be funding their positioning with your margin. Run your own numbers, then test against your own basket distribution.
Yes, when the offer lifts conversion enough to pay for the absorbed shipping. This calculator prices per-qualifying-order break-even only: it cannot see new orders the offer creates, and enough of them can carry a lower bar. Treat a lower threshold as a bet you measure after launch, not a setting you assume into the plan.
The margin before marketing: revenue minus discounts, landed COGS (cost plus freight-in plus duty), shipping and fulfilment, and payment and platform fees, the same step-down as The Math. Gross margin overstates the cushion and sets the threshold too low, which is the expensive direction to be wrong in.
Then there is no threshold to set, and this tool is the wrong one: sitewide free shipping is simply a cost row in your contribution margin. Price it in the contribution margin calculator instead, where absorbed shipping lowers the margin on every order rather than only on qualifying ones.
The margin input comes straight from the contribution margin calculator. All free tools →
Thresholds tested against real baskets
This page prices one blended average. Blufire S2 Unit Economics shows margin by order-value band via the Profitability Cube, so you can read the actual baskets around any threshold, and S11 Scenario Lab models AOV and discount what-ifs before you commit.