The single most common reason a full basket is abandoned is the delivery cost, and not because it was high. It was unexpected. The customer built a total in their head on the product page, and something else appeared at the end.
Shipping is not really a logistics problem for a small shop. It is a pricing and disclosure problem, and both halves are settled before the first order.
Decide what you are actually charging for
There are only three honest positions, and the mistake is drifting between them.
- Charge what it costs. A rate per parcel that covers postage and packaging. Simple, defensible, and the safest place to start when you do not yet know your average basket.
- Charge a flat rate and absorb the difference. One number for everything, set slightly above your average real cost. Easy to display, easy to promise, and it fails on the day somebody orders eight heavy items.
- Build it into the price and offer free delivery. Cleanest to sell, and only viable if your margin genuinely carries it and your prices stay competitive with it inside.
Most small shops land on the second with a threshold above which the third takes over, which is a reasonable compromise as long as you have done the arithmetic in the next section.
The free-shipping threshold, and the number to pick
"Free delivery over 50" works because it converts a cost into a target. It only works if the threshold is above your average order value, otherwise you are giving away postage on orders that were already happening.
The rule of thumb worth starting from: set the threshold about 20 to 30 per cent above your current average order value, then look at what actually happens to that average. If it climbs to just under the threshold and stops, the threshold is doing its job. If nothing moves, it is too far away to chase and you are only discounting your largest orders.

One detail that catches people out: decide whether the threshold is measured before or after a discount code is applied. A customer with a 10-off code on a 55 basket either qualifies or does not, and both answers are defensible, but only one of them can be true. Set it deliberately rather than discovering it in a complaint. That interacts directly with how you write your discount codes.
Zones, once you ship past your own border
A single flat rate is fine while you post to one country. The moment you ship abroad it stops being fine, because the difference between domestic and international postage is larger than most margins.
Shipping zones fix this by matching the destination country to a set of rates. A shop typically needs three: home, neighbouring countries, and a rest-of-world catch-all. Each zone carries its own methods, so "Standard" can mean 3.95 at home and 12.50 two zones out.
The one thing to check after setting zones up is coverage. If a country matches no zone, there is no delivery option for that customer, and a basket of physical goods with no shipping option cannot check out. That is the correct behaviour rather than a bug: quietly shipping to a country you have no rate for is how you discover a 40 postage bill on a 25 order. But it does mean an uncovered country is a silent lost sale, so a rest-of-world zone is worth having even if the rate is deliberately high.
Weight brackets, for anything that is not uniform
If your products vary a lot in weight, a single price per parcel is either overcharging the light orders or losing money on the heavy ones. A rate can instead be defined in weight brackets, so the price steps up as the basket gets heavier, which is how real carrier pricing works anyway.
This only pays off if the product weights are accurate. A shop that leaves the weight blank on half its catalogue gets bracket pricing that is confidently wrong, which is worse than a flat rate that is honestly approximate.
Local pickup is the option people forget
If you have premises, collection is worth offering. It costs nothing to fulfil, it removes the delivery objection entirely for nearby customers, and it brings somebody through your door.
It needs a label and a line of detail: where to come, and when it will be ready. "Collect from the shop, Tue to Sat, ready within two hours" is an option. "Local pickup" on its own generates a phone call per order, which is the cost you were trying to avoid.
Say it before the basket
Every one of these choices is undone if the customer meets it for the first time on the payment step.
Put the delivery rules somewhere permanent and link to them from the product page and the cart: what it costs, where you ship, when it goes out, and what the threshold is. A shop that states "3.95 anywhere in the UK, free over 50, dispatched next working day" on every product page has removed the single largest source of abandonment before it happens.
Digital items are the exception worth knowing: a basket with nothing physical in it does not ask for shipping at all.
FAQ
Should I offer free shipping on everything?
Only if your prices carry it. Free delivery funded by nothing becomes a per-order loss that grows with your success. Free delivery over a threshold set above your average order gives you the same headline with a floor under it.
How do I price shipping when my products vary in weight?
Use weight brackets on the method rather than one flat rate, and make sure every product carries a real weight. If most of your catalogue has no weight recorded, a flat rate is more honest until it does.
What happens if a customer's country has no shipping rate?
There is no delivery option for them and a basket containing physical goods cannot be completed. Add a rest-of-world zone, priced deliberately high if you like, rather than leaving countries uncovered.
Do I have to charge tax on delivery?
It depends on your jurisdiction, and it is a setting rather than an assumption. Decide it once with your accountant and record it in your shop's tax settings, described in shop settings.
Where are these settings?
Shipping methods, zones, thresholds and local pickup all live in the shop's settings, covered in shop settings. Orders and what the customer was charged appear in orders. If you are still choosing a platform, the online store builder page lists what is included.
Read next
- Adding a shop to a website you already have - where these settings live if you are bolting a shop onto an existing site.