Is Your Free Shipping Offer Actually Losing You Money? Do the Maths First
Free shipping looks like a clean win. Customers expect it, conversion lifts, orders keep coming. Most merchants set it once and never look at it again.
What's less obvious is that it's quietly eating the margin on roughly every fourth order. The damage usually only surfaces at the year-end accounts review, when the gap between what the revenue dashboard says and what's actually in the bank has become impossible to ignore.
This is one of the most common silent leaks in Shopify stores. The merchant looks at the revenue line in their Shopify dashboard, sees it ticking up week after week, and assumes everything is working. The shipping cost is buried somewhere in the operations spreadsheet — if it's tracked at all — and the free shipping offer becomes a permanent fixture nobody runs the maths on again.
If you've never stress-tested your free shipping offer with real numbers, this is worth fifteen minutes of your morning.
Disclosure: ProfitShield is built by JMS Dev Lab, the publisher of this blog.
The Problem Nobody Is Reporting On
Shopify reports revenue. Your bank account reports cash. The two numbers tell different stories, and free shipping is one of the biggest reasons why.
Here's the thing about shipping cost: it's variable, but most merchants treat it like a fixed line item. They estimate “€6 a parcel” once, plug that into their margin model, and never revisit it. Then:
- Carrier surcharges go up after Christmas and don't come down
- Fuel levies appear on invoices that didn't have them six months ago
- That one slightly larger product gets re-classified into a higher size bracket
- An Post or DPD adjusts rural delivery zones and your blended average creeps up
Six months later you're still using the €6 estimate to set your free shipping threshold, while the actual cost per parcel is closer to €8.50. None of that shows up on the Shopify dashboard. It only surfaces at the end of the quarter when somebody compares the bank statement to the revenue figure and finds a hole.
Run the Actual Maths on Your Average Order
Let's do this with a real example. Say you sell on Shopify, average order value is €60, and you offer free shipping on everything.
Revenue: €60.00
COGS: €25.00
Packaging materials: €2.00
Shopify + payment fees: €2.50
Carrier cost (free ship): €7.00
——————————————————————
Gross profit per order: €23.50
Gross margin: 39.2%
That's before any marketing spend, before any returns, before the time your team spends packing the order. Your true margin is somewhere south of 30% by the time the order is fully accounted for.
Now stack a 15% welcome discount on top — pretty standard for new customer acquisition:
Revenue: €51.00 (after 15% off)
COGS: €25.00
Packaging materials: €2.00
Shopify + payment fees: €2.20
Carrier cost (free ship): €7.00
——————————————————————
Gross profit per order: €14.80
Gross margin: 29.0%
Sub-30% before any ad spend. If your customer acquisition cost is €8 — modest for a paid channel — you're at €6.80 contribution margin per order. At 200 orders a month that's €1,360 left to cover rent, software, your time, and any tax. Anything you've budgeted for marketing on top of that is coming out of cash flow you assumed was margin.
What Free Shipping Actually Costs at Volume
This is the bit that hurts most when merchants work it through.
A €3 miscalculation per order — easy to do, given how many of these line items wobble — turns into €600 a month at 200 orders. €7,200 a year. That's roughly the difference between paying yourself a wage and not paying yourself one.
If you're at 500 orders a month, the same €3 gap is €1,500 a month. €18,000 a year.
Most stores discover this in one of two ways:
- Their accountant raises it at the year-end review, when it's too late to undo the orders
- They run out of cash to pay an inventory invoice and start asking why, given that revenue is up
Neither is fun. Both are preventable.
The Fix Isn't “Stop Offering Free Shipping”
That's the bit a lot of “Shopify margin” articles skip. Free shipping is a real conversion lever — that's why every retailer offers it. The question isn't whether to offer it. The question is at what threshold, on what products, and with what protection against discount-stacking that takes you below your margin floor.
Three tactical fixes you can ship this week without buying anything:
1. Set a real free shipping threshold
Don't pick a round number. Pick the order value at which your fully-loaded margin — after shipping, fees, and packaging — is at least 35%. For most Shopify stores selling physical product, that's not €50. It's closer to €65–75. Run the calculation product by product, use your blended average basket, and let that number set your threshold.
2. Disable discount stacking on free-shipping orders
If a customer is already using a 15% discount code, they shouldn't also trigger free shipping below threshold. Shopify lets you configure this natively in your discount rules — it's a settings change, not a code change. Stacked discounts are where the worst below-floor orders come from. This single config change eliminates most of them.
3. Track blended carrier cost monthly, not annually
Pull your actual courier invoices, divide total spend by parcel count, and see what number you get. If it's drifted more than 10% from your model, your threshold is now wrong. Carrier rates move more than most merchants realise — especially in Q4. A quarterly cost review takes thirty minutes and keeps your margin model honest.
That gets you most of the way there. Where it falls down is on the orders that slip through anyway — the edge cases where someone hits the threshold by €2, stacks a discount code you forgot to exclude, and ends up below your floor. Those orders are individually small. They accumulate.
How ProfitShield Catches What the Config Misses
Most margin tools in the Shopify ecosystem report margin after the order has shipped. By then the loss is taken — the order is fulfilled, the courier is paid, and you're staring at a number on a dashboard that tells you what you already can't undo.
ProfitShield is the only Shopify app that runs the margin calculation before the order ships, using Shopify Functions at the checkout layer. You set your minimum margin floor — say 30% — and any order that would land below it gets flagged for review or blocked before the customer completes checkout. The merchant sees the order, reviews the maths, and decides what to do.
That's a structural difference from BeProfit, TrueProfit, and every other reporting tool — and it's why we built it. Reporting tells you what happened. ProfitShield stops the bad ones from happening.
The other piece is discount stacking, which is where most below-floor orders come from. ProfitShield treats the full order — including stacked discounts and shipping waivers — as one calculation, so you catch the compound effect that single-tool reporting misses. More on that pattern in Losing Money on Every Discount.
What to Do This Week
Whether or not you use ProfitShield, do this one thing before your next promotion:
- Pull a sample of 50 free-shipping orders from last month
- Calculate the real, fully-loaded margin on each one: Revenue − COGS − shipping − payment fees − packaging
- See how many fall below the floor you thought you were operating at
If it's fewer than 5%, your threshold is set well. If it's 15% or more, you've got a hole. Patch it before peak season.
If you want the calculation running automatically on every order — every margin validated in real time, every below-floor order flagged before it ships — that's what ProfitShield does. ProfitShield now has a free plan as well as a paid tier. 14-day free trial on paid plans at profitshield.app, no card required to start.
Either way: do the maths. The margin is real. The Shopify dashboard isn't telling you about it.
Related Reading
- Are You Losing Money on Every Discount? How to Know Before the Order Ships — The mechanics of discount stacking and how to calculate your true break-even discount rate before the order goes out.
- The Hidden Costs Eating Your Shopify Profit Margins — A full breakdown of every cost that reduces your per-order profitability, from COGS to returns to packaging.
- ProfitShield vs BeProfit vs TrueProfit: Pre-Sale vs Post-Sale Profit Protection — An honest comparison of the three tools and when each one makes sense.
- How to Run a Profitable Shopify Summer Sale (Without Losing Money on Every Order) — The full seasonal setup guide: margin floors, stacking rules, and pre-checkout validation to protect summer-sale profitability.
Related reading: How to Forecast Cashflow for Your Shopify Store (Without an Accountant) · Shopify Cashflow App Comparison: SmartCash vs Spreadsheets · Cashflow vs Profit: Why Shopify Merchants Get Confused · The Hidden Costs Eating Your Shopify Profit Margins · ProfitShield.
Have a problem like the one in this post?
We build focused software for businesses that off-the-shelf tools don't fit. Get a free, no-pitch review — if buying an app or doing nothing is the right call, we'll say so.
— or just leave your email and I'll send the honest fix (one email, no newsletter) —