Shopify Shipping Setup: Rates, Zones, Profiles & Testing
Set up Shopify shipping from first principles: locations, packages, profiles, zones, flat or calculated rates, free-shipping thresholds, and checkout testing.

A reliable Shopify shipping setup begins before you create a rate. You need accurate fulfillment locations, packed dimensions and weights, a defined service area, a margin-aware charging strategy, and checkout tests that represent the carts customers will actually build.
Best beginner rule: start with the smallest shipping system that prices your common orders correctly. Add custom profiles and live carrier logic only when a real product or location requires them.
Shopify shipping setup: the correct order
Configure shipping in this sequence:
- Decide where inventory is stored and fulfilled.
- Mark physical products correctly and record product weights.
- Measure the packages used for common orders.
- Keep the general shipping profile unless a product truly needs different rules.
- Activate the countries or regions you intend to sell to.
- Create shipping zones for those destinations.
- Choose flat, free, price-based, weight-based, or calculated rates.
- Name services and delivery expectations clearly.
- Test representative products, carts, addresses, and edge cases.
- Align the storefront policy, checkout, label purchase, and fulfillment workflow.
Shopify places these controls under Settings → Shipping and delivery, although exact labels can evolve. Use the current admin and Help Center as the source of truth for plan- or country-specific options.
Map fulfillment locations first
A location is where inventory can be stocked or orders can be fulfilled. The origin affects inventory availability, routing, carrier rates, delivery promises, tax context, and split shipments.
For each warehouse, studio, retail store, supplier, or fulfillment partner, confirm:
- the address is complete and valid;
- the location is active;
- online orders may be fulfilled from it;
- the right inventory is stocked there;
- pickup or local delivery is enabled only where operationally real;
- staff know which system owns fulfillment updates.
Do not add a supplier or app location and assume it inherits your rates. Some fulfillment apps create locations that need separate shipping configuration. If inventory appears unavailable or checkout returns no rate, location setup is one of the first places to inspect.
Enter product weight and physical status accurately
Shopify does not return physical shipping rates for an item configured as a digital product or service. For physical items, enter the product’s own weight in a consistent unit.
Check every variant. A large size, bundle, refill pack, or framed version may weigh materially more than the default. If all variants inherit an unrealistic weight, calculated or weight-based rates will be wrong.
Product weight is not always the final shipment weight. Packaging, protective material, inserts, and combined quantities can add cost. Model both product and packed-order examples.
Digital-only stores can skip physical shipping, while hybrid stores should confirm that carts containing both digital and physical items behave as intended. The guide to selling digital products explains the non-physical delivery layer.
Measure the packages you really use
Create a small packaging library rather than a long list of boxes nobody selects. For each common package, record:
- outer length, width, and height;
- empty package weight;
- maximum safe product quantity;
- protective-material needs;
- carrier constraints and surcharge risk;
- packaging cost and reorder lead time.
Carrier calculations can use dimensional weight, so a light but large box may cost more than expected. Test with a packed sample, not the manufacturer’s unboxed dimensions.
Choose a realistic default package for the orders you expect most often. If products need radically different packages—posters, furniture, chilled goods, or fragile ceramics—separate rules may be justified.
Use shipping profiles only for real exceptions
Every store has a general shipping profile. Keep products there when they can share the same origins, zones, and rates.
Create a custom profile when a defined group needs different treatment, such as:
- oversized or heavy items;
- fragile products with special handling;
- print-on-demand or dropshipped items fulfilled elsewhere;
- products restricted to certain destinations;
- refrigerated, regulated, or made-to-order goods.
Complex profiles can combine rates in ways that surprise customers. When a cart contains products from different profiles or locations, Shopify may add the applicable rates together. Test mixed carts deliberately and explain split shipments when they are possible.
For supplier-fulfilled catalogs, read how to start dropshipping on Shopify and confirm which party owns the customer-facing delivery promise.
Align markets, zones, and rates
A shipping zone is a group of destinations that share rate rules. A destination must also belong to an active market before you can sell and ship there.
Start narrowly. Create zones only for countries or regions you can price, fulfill, support, and handle returns from. “Worldwide” is not a strategy when duties, restricted items, delivery time, tracking, and return cost are unknown.
Within each zone, use rate names a customer can understand. “Standard—tracked” and “Express—tracked” are clearer than internal carrier codes. Promise a delivery range only when processing time and transit time are both represented accurately.
Choose the rate strategy by cost variation
| Rate type | Best when | Main risk |
|---|---|---|
| Flat rate | Parcels and destinations have predictable costs | Undercharging expensive orders |
| Price-based | Order value is a useful proxy for margin | Heavy low-margin carts crossing a threshold |
| Weight-based | Packed weight predicts cost reliably | Wrong product or package weights |
| Free shipping | Margin can fund the subsidy | “Free” rate copied without economics |
| Carrier-calculated | Cost varies widely by origin, size, weight, and destination | Checkout surprise and setup dependencies |
| Local pickup or delivery | A real local operation owns the handoff | Offering areas or times the team cannot serve |
Flat rates are often the clearest starting point for a compact, consistent catalog. Carrier-calculated rates protect against variation but require accurate data and can make the final cost visible only at checkout.
Do not create many nearly identical options. Give the buyer a meaningful choice: economical versus faster, pickup versus delivery, or tracked versus a clearly disclosed alternative.
Set a free-shipping threshold from margin
Shipping is never free to the business. The order or marketing budget funds it.
Start with:
- current average order value;
- contribution margin dollars at that order value;
- average shipping cost by major destination;
- additional contribution margin created by a higher basket;
- the percentage of orders likely to cross the threshold anyway.
A simple decision test is:
Incremental contribution margin above normal basket ≥ expected shipping subsidy plus safety buffer
Run the calculation separately for product mixes or destinations with very different costs. Exclude oversized items when the economics require it, but disclose the rule before checkout.
The Shopify cost calculator helps place the subsidy inside the full business budget. Do not count shipping collected from customers as revenue without also accounting for the actual fulfillment cost.
Test a shipping matrix before launch
Create a small test matrix that covers reality instead of one convenient address.
| Test dimension | Minimum cases |
|---|---|
| Destination | near, far, highest-cost zone, unsupported zone |
| Cart | one item, multiple quantity, mixed products, mixed profiles |
| Value | below, at, and above free-shipping threshold |
| Weight | below, at, and above weight-band boundaries |
| Inventory | primary location, secondary location, partial stock |
| Product type | physical only and physical plus digital if relevant |
| Customer view | desktop, mobile, guest checkout |
For each case, record the rate shown, promised timing, tax and duty message where relevant, margin result, and fulfillment location. Investigate any cart that returns no rate or an unexpected combined amount.
Shopify’s troubleshooting guidance points to common causes: missing profile rates, inactive markets, incorrect weights, invalid addresses, unavailable inventory, location configuration, and carts split across profiles.
Match checkout promises to fulfillment
The shipping rate is only one part of delivery. Document:
- order cutoff and processing days;
- weekends and holidays;
- how labels are purchased and printed;
- who packs and marks the order fulfilled;
- when tracking is sent;
- how address changes, failed delivery, loss, and damage are handled;
- the return address and return-shipping responsibility.
Publish a concise shipping policy that matches the checkout names and operational reality. Do not promise “two-day shipping” if it actually means two-day transit after an uncertain processing period.
Place a real mobile test order, buy or simulate the intended label path, fulfill it, inspect tracking, then cancel or refund. Add the result to the interactive launch checklist before sending traffic.
Review shipping after real orders
Compare charged shipping with actual label and packaging cost by zone, service, and product profile. Track delivery time, damage, failed delivery, support contacts, and return reasons.
Adjust a rate when evidence shows a pattern, not after one unusual parcel. If the catalog or warehouse network changes, rerun the test matrix. Shipping settings that worked for one compact product can fail after adding glassware, furniture, subscriptions, or a second location.
Shopify shipping setup FAQ
How do I set up shipping on Shopify?
Add accurate fulfillment locations, product weights, and packages; group exceptional products into shipping profiles; define active markets, zones, and rates; then test representative carts and addresses in checkout.
Should I use flat or calculated shipping rates?
Use flat rates when your parcel costs are predictable and simple customer communication matters most. Use carrier-calculated rates when size, weight, origin, and destination vary enough that a flat rate would create large overcharges or losses.
How do I offer free shipping without losing money?
Estimate the average shipping subsidy and contribution margin, then set a threshold that the additional margin above normal order value can fund. Test the threshold by destination and product mix rather than copying another store’s number.
Why is Shopify saying shipping is not available?
Common causes include a destination outside active markets or zones, missing rates for the cart conditions, incorrect product weight or physical-product status, inventory at a non-fulfilling location, or products split across incompatible profiles.
Primary sources
Facts and platform details were checked against these sources on July 19, 2026. Pricing and product features can change.