September 30, 2026
Zones define where you ship, rates define what it costs, and the two together decide whether shipping makes or loses money on every order. Draw zone boundaries around your real fulfillment costs, not around map aesthetics: domestic, nearby international, and rest-of-world is enough for most stores. Then pick one rate structure per zone and keep it simple enough to explain in a sentence.
A shipping zone is a group of destinations that cost you roughly the same to serve. The mistake is drawing zones by continent or by what looks tidy. If shipping to Canada costs you nearly what domestic shipping costs but shipping to Australia costs triple, Canada belongs with domestic and Australia belongs in its own zone, whatever the map looks like.
Start with three zones: your home country, nearby countries with similar carrier rates, and everywhere else. Add a fourth only when the data demands it: a country or region with enough order volume and different enough costs to deserve its own rates. Most stores never need more than four zones, and many do fine with three.
Set up the zones in Shopify under Settings, Shipping and delivery, in each shipping profile. Remember that zones are per-profile: if you have separate profiles for different product types, each profile needs its own zone setup. A zone you configure in the general profile does not automatically apply to the profile covering your oversized items.
Flat rates win for simplicity. One price per zone, easy to display, easy for shoppers to understand, easy to model in a spreadsheet. The risk is underpricing heavy orders, which you manage by setting the flat rate against your average order cost plus a buffer, not against your cheapest shipment.
Free shipping over a threshold is the conversion play. Set the threshold above your current average order value: if your AOV is $52, a $75 free-shipping threshold pulls a meaningful share of orders upward. Below your AOV, you are giving away margin on orders that would have happened anyway. The threshold is doing pricing work, so treat it like pricing.
Weight or price-based tiers work when your catalog has real cost variance: light items versus heavy ones, or cheap accessories versus expensive flagships. Keep the tiers to three or fewer. A shipping table with nine tiers is a shipping table nobody reads, and confused shoppers abandon.
The most expensive mistake is shipping somewhere you lose money on every order and never noticing. Pull a quarterly report of shipping cost versus shipping revenue by zone. If a zone is consistently underwater, raise its rates, narrow its boundaries, or stop serving it. Sentimentality about "we ship worldwide" is expensive.
The second is the default zone trap. Shopify's default setup can leave destinations uncovered or covered by rates you never reviewed. After any change to zones, place test orders, or use the shipping preview, for a destination in every zone and confirm the quoted rate matches your intention. Unreviewed defaults are how stores accidentally offer free international shipping for a month.
The third is forgetting digital and pickup. If you sell anything delivered electronically or offer local pickup, exclude those from shipping calculations cleanly. A customer buying a gift card should never see a shipping charge, and a local pickup order should never be quoted a courier rate.
Write down the logic: which countries are in which zone, what each rate is, and why. Shipping setups get edited under pressure, during sales, by whoever is available, and undocumented logic gets "simplified" into something that loses money. A one-page shipping policy doc saves real arguments.
Review the zones when your fulfillment changes: a new warehouse, a new carrier contract, or a big shift in where orders come from. And re-check after every holiday season with actual numbers. Shipping is one of the few store settings where a small configuration error compounds into thousands of dollars quietly, so give it the same discipline you give pricing.