How Shopify Shipping Works
Shopify’s shipping system connects your store to shipping carriers, calculates rates at checkout, prints labels, and tracks packages — all from your Shopify Admin. At its core, Shopify shipping involves three steps: configuring where you ship from and to (shipping zones), setting the rates customers pay (free, flat, or calculated), and printing labels and fulfilling orders using Shopify Shipping or your own carrier accounts.
This guide covers the complete Shopify shipping setup — from your first shipping zone to multi-carrier optimization for high-volume stores.
Understanding Shipping Zones
A shipping zone in Shopify is a group of countries or regions that share the same shipping rates. Your shipping configuration is organized by zones:
- Domestic zone — your home country (e.g., United States, Canada, UK). Typically set up first with your primary carrier and rate structure.
- International zones — other countries you ship to, grouped by region: Rest of North America, Europe, Asia-Pacific, Rest of World. Each zone can have different rates, carriers, and services.
To create or edit shipping zones: Settings → Shipping and delivery → Manage.
Shipping Rate Types
Within each shipping zone, you can offer multiple rate types:
- Free shipping — no shipping charge for the customer. Can be unconditional or conditional on order value (“Free shipping on orders over $75”). The most effective conversion tool in e-commerce — free shipping offers reduce cart abandonment significantly.
- Flat rate — fixed shipping cost regardless of order weight or size. Simple for customers to understand. “Standard Shipping $5.95” regardless of what’s in the cart.
- Calculated (carrier) rates — real-time shipping rates from carriers (UPS, FedEx, USPS, Canada Post, etc.) calculated based on package weight, dimensions, and delivery destination at checkout. Most accurate for stores with variable-weight shipments; requires entering product weights in Shopify.
- Price-based conditions — different rates for different cart values: free shipping over $X, reduced rate for carts over $Y. Enable customers to qualify for better shipping by adding more to their cart.
- Weight-based conditions — different rates for different order weights: lower rate for packages under 1 lb, higher rate for packages over 5 lb.
Step 1: Set Up Your Shipping Origin
Your shipping origin is where your packages ship from — your warehouse, fulfillment center, or home address. Set it in Settings → Shipping and delivery → Shipping from.
For stores shipping from multiple locations (multiple warehouses or retail stores), Shopify allows multiple shipping origins via the Locations settings. Each location can fulfill different orders or fulfill the same orders from the closest location to the customer.
Step 2: Enter Product Weights and Dimensions
For calculated carrier rates to be accurate, every product needs accurate shipping information. For each product:
- Go to Products → [Product] → Shipping section
- Enable “This is a physical product” (should be on by default for physical goods)
- Enter the product weight (used for rate calculation)
- Enter dimensions if using dimensional weight pricing (relevant for large, light packages where carriers charge based on size rather than weight)
Inaccurate product weights lead to inaccurate calculated rates — either undercharging (you pay the difference) or overcharging (customers abandon). Weigh products including packaging for accurate data.
Step 3: Connect Shopify Shipping
Shopify Shipping (available in US, Canada, UK, Australia, and expanding markets) gives you discounted carrier rates directly in your Shopify Admin:
- USPS — Priority Mail, First Class, Parcel Select; up to 88% discount on commercial rates for US stores
- UPS — UPS Ground, 2nd Day Air, Overnight
- DHL Express — international express shipping
- Canada Post — for Canadian stores
- Evri, Royal Mail, DPD — for UK stores
To use: Settings → Shipping and delivery → Carrier accounts. For US stores, Shopify Shipping rates are automatically enabled — no configuration needed. Print labels and schedule pickups from the Orders section.
Step 4: Set Up Packaging Profiles
Shopify Shipping lets you define the box sizes you ship in — your packaging profile tells the rate calculator which boxes you have available so it can select the optimal box for each order:
- Go to Settings → Shipping and delivery → Packages
- Add your standard box sizes (length × width × height) with their weights
- When calculating rates, Shopify uses these dimensions to provide accurate carrier quotes
Accurate packaging profiles prevent the common problem of rate quotes that don’t match actual shipping costs because they assumed a box size that doesn’t exist in your packaging inventory.
Step 5: Configure Free Shipping Thresholds
Free shipping on qualifying orders is one of the highest-converting store optimizations available. Studies consistently show free shipping reduces cart abandonment more than any equivalent discount. To set up:
- Settings → Shipping and delivery → Manage → [Zone] → Add rate
- Name the rate “Free Shipping”
- Set price to $0
- Add a condition: “Price is at least [threshold amount]” (e.g., $75 or $100)
- Add a secondary rate with a flat rate for orders below the threshold
Communicate the free shipping threshold prominently throughout your store — in the header, on product pages, in the cart, and in your checkout. “Add $X more for free shipping” cart nudges are effective AOV drivers that increase average order size toward the threshold.
Step 6: Fulfill Orders and Print Labels
When an order comes in:
- Go to Orders → [Order]
- Click Create shipping label
- Select package type and dimensions (or confirm auto-suggested box)
- Select service level (USPS Priority Mail, UPS Ground, etc.)
- Review the rate and click Buy shipping label
- Print the label (or download as PDF for printing)
Shopify deducts the shipping cost from your balance (you prepay and it’s drawn from your Shopify balance or payment method). The order’s tracking number is automatically added and a shipping confirmation email is sent to the customer.
Step 7: Handle Returns Shipping
Shopify allows creating return shipping labels from within Admin:
- Go to Orders → [Order] → Return
- Select items being returned
- Choose to send a return shipping label (at your cost or customer’s cost)
- The return label is emailed to the customer
For stores with significant return volume, return management apps (Loop Returns, Return Prime) automate the return label and tracking process, allowing customers to self-serve returns through a portal rather than contacting support for every return.
Step 8: Configure International Shipping
International shipping requires additional configuration:
- Duties and taxes — for international orders, customs duties and import taxes apply. You can either bill at checkout (Delivered Duties Paid — customer pays all costs upfront) or not bill at checkout (Delivered Duties Unpaid — carrier bills customer on delivery, which can cause surprise charges and package refusals). DDP is generally better for customer experience; Shopify Markets can calculate and collect duties at checkout for supported countries.
- Customs documentation — Shopify Shipping automatically generates CN22 and CN23 customs forms for international shipments, eliminating the manual paperwork requirement
- Restricted products — some products can’t be shipped internationally (food, supplements, certain materials) or require specific documentation; research restrictions for your top international markets before enabling shipping there
Frequently Asked Questions
What’s the cheapest shipping option for a Shopify store?
USPS First Class Mail (under 1 lb) and USPS Priority Mail via Shopify Shipping are typically the most cost-effective options for small parcel shipping in the US. For heavier packages (over 5 lb), UPS Ground or FedEx Ground often undercut USPS Priority. Compare rates by weight class using Shopify’s label purchase interface — the carrier comparison view shows all available rates for each order. Shopify Shipping’s discounts (up to 88% on USPS rates) are significant and often beat anything you could negotiate independently at comparable volume.
How do I offer real-time shipping rates at checkout?
Real-time calculated rates require: (1) Shopify’s carrier-calculated shipping feature (available on Shopify plan and above, or can be added to Basic Shopify for a small monthly fee); (2) accurate product weights and dimensions in your product settings; (3) accurate packaging profiles in your shipping settings. Once enabled, checkout shows live carrier quotes for your connected carriers based on the customer’s address and the order’s weight. Calculated rates are the most accurate but require the most setup work compared to flat rates.
How does Shopify Shipping compare to ShipStation?
Shopify Shipping is built into Shopify Admin — label creation is directly in the order management flow, with no separate login or integration required. Best for: stores primarily using USPS, shipping from a single location, without need for complex multi-carrier rate shopping. ShipStation (and similar multi-carrier apps: Pirate Ship, EasyPost) offer: deeper multi-carrier comparison, more carrier integrations, batch label printing, automated shipping rules, and better support for high-volume operations. As volume increases and carrier needs diversify, ShipStation’s features typically justify its cost.
How do I handle shipping for oversize or heavy products?
For products that exceed standard parcel carrier size/weight limits (typically 150 lbs or oversized dimensions), you need LTL (Less-Than-Truckload) or freight carriers. Shopify doesn’t natively calculate freight rates at checkout — you’ll need to either: (1) use a freight quoting app (Freightos, uShip Shopify integration); (2) charge a flat oversized shipping surcharge configured in your shipping zones; or (3) require customers to contact you for shipping quotes on oversized items (using a “Get Shipping Quote” call-to-action instead of Add to Cart). Display shipping expectations clearly for large items before checkout begins.
Should I offer free shipping on my Shopify store?
For most product categories, yes — the conversion rate improvement from free shipping exceeds the cost of absorbing shipping. Calculate your average shipping cost and compare it to your average order value. If free shipping on all orders isn’t economically viable, use a threshold: free shipping on orders over $X where X is at or slightly above your average order value (to encourage AOV lift). The “free shipping over $X” message acts as an AOV optimization while still capturing most orders’ shipping revenue absorption. At minimum, offer free shipping on your highest-margin products where absorption is viable.
Final Thoughts
Shopify’s shipping system is capable of handling everything from a first order shipped from your kitchen table to a multi-location high-volume operation with complex carrier routing. Start with the simplest configuration that works for your volume — Shopify Shipping with a free threshold and a backup flat rate — and evolve as your needs grow. The fundamentals (accurate product weights, clear rate communication, proactive tracking) matter more than carrier optimization at early stages; optimize for carrier cost efficiency as volume justifies the complexity.
For more on Shopify operations, explore our guides on tax configuration, multi-currency for international orders, and shipping analytics and performance tracking.