Shipping Leakage
Shipping leakage is the gap between delivery revenue collected and delivery cost paid. It exists because checkout rates are set once, in flat bands, while carrier costs vary per parcel by weight, size and destination. The loss concentrates in a small share of orders, which is what makes it fixable without repricing everything.
Written by Atul Tirkey · Co-founder, NetNet
Updated September 6, 2026 · 4 min read
Almost every store loses money on delivery. That is not the problem. The problem is that most of them do not know by how much, so a subsidy that could be a deliberate conversion strategy is instead an accident that grows with volume.
Shipping leakage is the name for the gap: delivery revenue in one column, delivery cost in the other, and a difference that nobody set.
Why the gap opens
Checkout shipping is priced once, in a handful of flat bands, months ago. Carrier cost is priced per parcel, on the day, by weight, dimensions, destination and a list of surcharges revised regularly.
Two pricing systems with entirely different inputs will diverge. The only question is where and by how much.
The divergence is also asymmetric. A flat rate that covers most orders comfortably will fail badly on a minority — and those failures have no ceiling, because a remote-area surcharge on an oversized parcel can cost several times the standard rate while the customer still pays the flat $5.
Where it concentrates
The shortfall is rarely spread evenly. In most catalogues it clusters in five places:
Heavy items. The most obvious, and the easiest to price around once identified.
Bulky low-value items. Worse than heavy ones, because dimensional weight charges on volume while the order value stays low. A large light product is the single most reliable loss-maker in ecommerce.
Remote and extended-area postcodes. Surcharges applied per parcel and invisible at checkout, on orders priced as metro deliveries.
Orders that just cross a free-shipping threshold. A basket at $76 against a $75 threshold contributes the least additional margin possible while absorbing the full delivery cost.
Split shipments. Two parcels, two base rates, two sets of surcharges, one shipping charge collected.
Because it concentrates, it is fixable without repricing the whole catalogue. Ten percent of orders frequently account for most of the shortfall.
Free shipping, priced properly
Free shipping thresholds are usually set by taking average order value and adding a bit. That reasoning considers only the revenue side.
The question the threshold actually answers is: at what basket size does the additional contribution margin exceed the full cost of delivering the order? Not the rate card cost — the invoiced cost, surcharges included.
Working it through often moves the threshold, sometimes up and sometimes down. A store with high-margin light products can afford a lower threshold than it set. A store with heavy goods frequently discovers its threshold is well below break-even, and that every order in a particular weight band crossing it is sold at a loss.
The refinement worth adding: thresholds do not have to be uniform. Excluding the heaviest products from free-shipping eligibility, or setting a separate threshold for them, removes most of the leakage while leaving the conversion benefit intact everywhere else.
Charging by weight, and when it is worth it
Weight-based rates align what you charge with what you pay, which is the structurally correct answer.
They also add friction. Customers cannot predict delivery cost before adding to cart, and rate tables need maintenance as carrier pricing changes.
The trade depends on how much your parcel weights vary. A catalogue of similar small items loses little to flat rates and gains simplicity. A catalogue spanning accessories to furniture cannot be served by one flat rate without either overcharging the light orders or losing money on the heavy ones — and overcharging light orders costs conversions on exactly the products with the best margins.
A middle path that works for many stores: flat rate up to a weight ceiling, weight-based above it. Most orders keep the simple experience, and the tail that causes the losses gets priced properly.
Closing the gap without raising prices
Four changes recover shipping margin without touching what customers pay.
Right-size packaging. Dimensional weight charges on volume. Reducing a carton by a few centimetres in each dimension can move parcels into a lower billing band permanently, across every future order of that product.
Correct declared dimensions. Optimistic dimensions produce attractive quotes and systematic adjustments two weeks later. Measuring once and correcting the specification stops a recurring charge.
Route remote postcodes to a second carrier. Extended-area surcharges vary considerably between carriers. A regional alternative for the postcodes that trigger them frequently costs less than the surcharge.
Consolidate split shipments. Where inventory allocation is causing multi-parcel fulfilment on orders that could ship together, the second label is pure avoidable cost.
Measuring it as a standing number
Treat delivery as a profit centre with its own line: shipping charged, less all shipping costs, tracked monthly as an absolute figure and as a percentage of net sales.
That single number turns an invisible drift into a managed decision. If the subsidy is $8,860 a month and conversion analysis says free shipping is worth more than that, it is money well spent and you can say so. If nobody knows the figure, it is not a strategy — it is just a cost that grows every time the store does.
Watch it as a percentage of net sales rather than an absolute figure. The absolute number rises with volume and tells you little; the percentage is what reveals whether the subsidy is holding steady, being eroded by carrier increases, or drifting because the product mix has shifted toward heavier goods. A shipping subsidy that grew from four percent of net sales to seven over three quarters is a decision that quietly reversed itself, and only the percentage would have shown it.
A month of delivery, as a profit centre
Every shipping charge collected in a month, set against every cost of actually delivering those parcels.
| Line | Relative size | Amount |
|---|---|---|
| Shipping charged to customers Flat rates and paid upgrades | $6,200 | |
| Carrier base rates | $9,850 | |
| Surcharges and adjustments Fuel, residential, remote, dimensional | $3,140 | |
| Return and failed-delivery freight | $890 | |
| Packaging consumed | $1,180 | |
| Net result on delivery | −$8,860 |
Delivery recovered $6,200 against $15,060 of cost. The $8,860 shortfall is not a mistake — most stores subsidise delivery deliberately. The problem is that almost none of them know the figure, which means it was never a decision.
Where the numbers come from
Every figure above traces to a specific field in a specific system. These are the ones that matter, and where each one goes wrong.
| Figure | Source | Where it breaks |
|---|---|---|
| Shipping charged | The shipping line on each Shopify order | Orders below a free-shipping threshold contribute nothing here while still costing a full label. |
| Carrier costs | Carrier invoices, including adjustments issued after collection | Adjustments arrive weeks later and are easily booked to the wrong period. |
| Return freight | Inbound carrier charges and failed-delivery records | Failed deliveries bill for both legs while producing no revenue at all. |
What this does not tell you
- A negative delivery result is not automatically a problem. Subsidised shipping can be a deliberate and profitable conversion lever, and this calculation cannot tell you whether the conversion it bought was worth the cost.
- Packaging is included here as a delivery cost, which is one defensible convention among several. What matters is that whichever convention you choose is applied consistently across periods.
Frequently asked questions
Is losing money on shipping always bad?
No. Most stores subsidise delivery on purpose, because free shipping lifts conversion and average order value. The problem is subsidising it accidentally — at a size nobody has measured, concentrated in orders nobody has identified.
Where does shipping leakage concentrate?
In heavy items, bulky low-value items, remote postcodes, orders that just cross a free-shipping threshold, and split shipments. A small share of orders usually accounts for most of the shortfall, which is what makes it addressable.
How do I set a free-shipping threshold properly?
Compare the additional contribution margin from the larger basket against the full delivered cost of the order, using invoiced shipping rather than the rate card. Set the threshold where the extra margin covers the label plus surcharges.
Should I charge shipping by weight?
For catalogues with wide weight variation, yes — it aligns what you charge with what you pay. For narrow catalogues, flat rates are simpler and cost little. The test is how much your parcel weights actually vary.
Keep reading — Shipping & fulfilment
True shipping cost per order
What a single parcel really costs.
Hidden costs reducing Shopify profit
The other lines nobody records.