The problem with giving free shipping away for nothing
Most founders treat free shipping as the price of staying in business. Customers expect it. So the store eats the courier cost on every order, big or small. You hope volume covers it. The shipping line on your books grows every month. It feels like pure loss.
The reflex fix is to charge for shipping again. That protects the shipping line, but it quietly hurts a bigger one. Customers hate surprise fees at checkout more than almost anything else.
There is a third option, and it beats both. Keep free shipping, but make customers earn it. A turns a cost you already pay into a reason to build a bigger cart. You are not giving anything new away. You are finally asking for something back.
This article is about the first one: discounts. Free shipping is a discount wearing a different coat. You do not cut the price, you waive a fee, and the customer changes behavior to earn it. The threshold touches your shipping line too, but the decision is a promotion decision. It belongs in the same model as every other discount.
1. An example showing you the numbers
Say you sell specialty coffee on Shopify. A bag is $25. A typical order is four bags, a $100 cart. You run a standing 10% discount, and you ship everything free. Each order leaves you $10 once all six costs are paid.
Now you draw a line. Free shipping on orders over $150. A flat $10 shipping fee below it. A customer with the usual four-bag cart sees “Add $50 more for free shipping” and adds two bags. Here is that customer’s order, before and after the threshold did its work.
The same customer, before and after the $150 threshold
All numbers per order, in whole dollars. The standing 10% discount applies in both.
| Line item | Before: 4 bags ($100) | After: 6 bags ($150) |
|---|---|---|
| Cart total | $100 | $150 |
| Standing discount (10%) | -$10 | -$15 |
| Product cost (COGS) | -$40 | -$60 |
| Advertising | -$20 | -$20 |
| Shipping and warehouse (3PL) | -$12 | -$14 |
| Refunds (5%) | -$5 | -$8 |
| Payment and channel fees (3%) | -$3 | -$5 |
| Contribution per order | +$10 | +$28 |
The customer added $50 of coffee to dodge a $10 fee. Your nearly tripled, from $10 to $28. Why so much? The two extra bags rode along almost free. The advertising was already paid. The box got $2 heavier, not $12 heavier. Only the product cost really grew.
Now give it volume. Say your store does 1,000 orders a month. The threshold lifts 300 of them from $100 to $150. That is 300 orders earning an extra $18 each, which is $5,400 a month. About $65,000 a year, from one line on your cart page.
One honest note. Orders that stay under the line now pay the $10 fee. A few of those customers will grumble or leave. We give the threshold no credit for those fees in this model. The win is the bigger carts, not the small ones.
The sentence that changes how you think about free shipping
Free shipping should never be free. It should be earned, and the customer pays for it with a bigger cart.
In this example, waiving a $10 fee bought a $50 bigger order. That order carried $18 more profit. The threshold is the only discount where the customer volunteers to pay you more.
2. How to set a threshold that pays for itself
Setting a threshold takes about an hour. You need your last 90 days of sales data. The number matters more than the announcement.
- Find your Average Order Value. Take your last 90 days of sales. Divide total revenue by the number of orders. That is your , the natural size of a cart in your store. The threshold has to sit above it to do any work.
- Set the threshold 30% to 50% above your AOV. Too close to your AOV, and most customers hit it without adding anything. You eat fees and gain nothing. Too far above, and nobody stretches. The 30% to 50% band is where customers reliably add one or two more items.
- Model the lifted cart with all six costs. Build the table above with your own numbers. The lifted cart must leave clearly more contribution per order than a normal one. Count the bigger product cost, the slightly bigger box, and the fee you waive.
- Show the line in the cart, live. The cart page must say “Add $50 more for free shipping,” and it must count down as the customer shops. A threshold buried on the shipping policy page changes nobody’s behavior.
- Watch the hit rate for 30 days, then adjust. Track the , the share of orders that clear the line. Under a quarter of orders? The line is too high. Nearly all orders, with no cart growth? Too low. Move it in $5 steps and check again. Judge it on total contribution, not on how many people hit it.
3. One warning before you act
A threshold is not for every store. Sell one big-ticket item that people buy alone? Then there is nothing to add to the cart, and the line just becomes a fee. Heavy or bulky products? The courier cost on a bigger box can eat the gain, so price the bigger box before you promise it ships free. And items added just to clear a line come back a little more often than items the customer came for, so model returns honestly.
One more thing. If you charge for shipping today, a threshold changes what small-cart customers pay. Test it. A threshold should feel like a reward being offered, not a penalty being introduced.
4. Quick reference: what to avoid and apply
What to avoid
- Giving free shipping on every order with no threshold, a cost with no ask.
- Setting the threshold so close to your AOV that customers hit it without adding anything.
- Setting it so high that nobody stretches and the line never triggers.
- Hiding the threshold in the footer instead of showing a live counter in the cart.
- Judging the threshold on hit rate alone instead of total contribution.
What to apply
- Work out your 90-day AOV before you pick the number.
- Set the threshold 30% to 50% above that AOV.
- Model the lifted cart with all six costs before you launch.
- Show “Add $X more for free shipping” live in the cart.
- Review the hit rate after 30 days and move the line in $5 steps.
5. Frequently asked questions
What about customers who never hit the threshold?
They pay the flat fee, which covers most of your courier cost on their order. Treat it as a wash, not a win. Some of those customers will be annoyed, and a few will leave. The threshold earns its keep on the carts it lifts, not on the fees it collects.
Won’t people return the extra items they added?
A little more often, yes. Add-on items chosen to clear a line come back somewhat more than items the customer came in for. It is a real cost, but it is small next to the lift. Build a slightly higher return rate into the lifted-cart model, and check it still wins.
Can I still run sitewide free-shipping weekends?
Yes, on a planned schedule. During the promotion, every order ships free, so your threshold is switched off in effect. Model that weekend separately. Outside the window, the threshold resumes. Do not let the two run together by accident.
Does this work on Amazon?
Not really. Prime customers already get free shipping, and Amazon controls the shipping offer, not you. The threshold play belongs on your own store. On marketplaces, the same cart-building job is done by bundles, which another article in this series covers.
Want your six costs mapped for you?
Our free 31-Point Profit Diagnostic puts a dollar figure on where your profit is leaking. Or get a quote for done-for-you eCommerce accounting.
Definitions, modeling notes & rate-basis disclosures
Definitions
- The six profit levers
- (1) Discounts, (2) Refunds, (3) Product cost (landed COGS), (4) Sales channel and payment fees, (5) Shipping and 3PL fees, (6) Advertising spend.
- Average Order Value (AOV)
- Total revenue divided by number of orders. The natural size of a cart in your store, and the anchor the threshold is set against.
- Free shipping threshold
- The cart size above which shipping is free. Below it, the customer pays a flat fee.
- Threshold hit rate
- The share of orders that clear the threshold. Healthy thresholds usually see roughly a third to two thirds of orders hit it.
- Contribution per order
- Cart total minus all six costs. What one order really leaves behind.
- Third-Party Logistics (3PL)
- The outsourced warehouse that picks, packs, and hands your order to the courier.
- Gross Profit
- Selling price minus COGS. It ignores shipping, which is exactly why thresholds need the full six-cost model.
Modeling notes
- This article uses the series’ standard teaching store: a $100 order with COGS at 40%, a standing 10% discount, advertising of $20 per order, shipping and 3PL of $12, refunds of 5%, and payment and channel fees of 3%. Business as usual leaves $10 per order. The coffee bag is priced at $25 so carts land on round totals: four bags is $100, six bags is $150.
- Reconciliation, before: $100 − $10 − $40 − $20 − $12 − $5 − $3 = $10. After the lift: $150 − $15 − $60 − $20 − $14 − $8 − $5 = $28. The extra contribution per lifted order is $18.
- Deviations: the six-bag box ships for $14 (one pick, slightly larger carton), not $12. Refunds (5%) and fees (3%) on the $150 cart come to $7.50 and $4.50; both are rounded up to $8 and $5 to keep the model conservative.
- The payoff scaling: 1,000 orders a month, of which 300 lift from $100 to $150. 300 × $18 = $5,400 a month, about $65,000 a year.
Rate-basis disclosures
- Product cost: $10 per $25 bag (40% of retail), scaling with units: $40 on four bags, $60 on six.
- Standing discount: 10% of the cart in both scenarios.
- Advertising: $20 per order, paid once per checkout.
- Shipping and 3PL: $12 for the four-bag box; $14 for the six-bag box. Flat $10 customer fee below the threshold.
- Refunds: 5% of the cart. Payment and channel fees: about 3% on Shopify (2.9% plus 30 cents), rounded up on the $150 cart.
- All figures rounded to whole dollars for easy reading.