The short version
Set up shipping on Shopify in this order: check which shipping system your store uses in Settings › Shipping and delivery, make sure each country you sell to is in an active market, give your products accurate weights and pick a store default package.
On shipping profiles you add a zone and click Add shipping option; on shipping options by market you open Markets, choose a market and click Shipping.
Leave the Maximum field empty on your highest range so larger orders still get a rate, review the rates Shopify created automatically when you set up the store, which frequently include a free shipping rate, and place a test order before you open.
Shopify scheduled market-driven shipping to start rolling out on October 1, 2026, and every store will be on the new system by July 1, 2027, with the setup migrated for you; no Shopify page we read in November 2026 gives a date for an individual store.
Shipping setup on Shopify starts in Settings › Shipping and delivery, but the order of the work decides whether the price at checkout is right. The country has to be in an active market, the product needs a weight and the store needs a default package before a weight-based or carrier-calculated rate can charge the right amount. This guide follows that order, then adds the rates, then tests the checkout.
Shopify is moving every store from shipping profiles to shipping options by market, and the two systems put rates in different places. The first section shows how to tell which one your store is on, so you can follow the steps that apply to it.
Which Shipping System Is Your Store On?
Key takeaway
Shopify's page on upgrading to shipping options by market gives one check: go to Settings › Shipping and delivery in your Shopify admin. If your shipping is organized in shipping profiles, with shipping zones and rates, your store uses the current system. If it is organized by market, in a Shipping options section, your store has been upgraded.
Two shipping systems exist during this change, and your store uses one of them at a time.
- Settings
- Shipping and delivery
As of November 2026, Shopify says most stores still use shipping profiles and keep their current setup until they are upgraded. The table shows where the two systems differ while you set up rates.
What differs when you set up shipping
| Setup question | Shipping profiles (current system) | Shipping options by market (upgraded) |
|---|---|---|
| Where you add a rate | Settings › Shipping and delivery › a profile › a shipping zone › Add shipping option | Markets › a market › Shipping › Add shipping option |
| What a country needs before customers there can order | An active market and a shipping zone with available rates | An active market |
| A cart matches more than one rate | The rates are added together | The highest rate within a shipping option is charged; prices across shipping options are added |
| Rates for some products only | A custom shipping profile (up to 99); a product or variant sits in one profile at a time | A rate whose Applies to setting is Specific collections |
| An order outside your ranges | Outside your tiers, for example above a highest tier with a maximum set, the customer gets a shipping error | An order whose total or weight falls outside your ranges gets a shipping error |
| An address you don't ship to | A notice that no shipping rate is available for the region | A notice that no shipping option is available |
Shopify Help Center pages on shipping zones and rates, shipping profiles, shipping options by market and upgrading to shipping options by market, read November 2026.
Both systems share the next section, What to Set Up Before Your First Rate. After it, stores on shipping profiles continue with zones and rates, and upgraded stores skip to shipping options by market.
Shopify scheduled market-driven shipping to start rolling out on October 1, 2026, and every store will be on the new system by July 1, 2027. The rollout is gradual, and no Shopify page we read in November 2026, across the Help Center's shipping pages and Shopify's developer changelog, gives a date for an individual store. As of November 2026 the Help Center still labels shipping options by market as early access, available only to certain stores.
In our development store on November 5, 2026, the Shipping and delivery page showed a banner saying shipping is moving to Markets on July 1, 2027, the date by which Shopify says every store will be on the new system.
When your store is upgraded, Shopify migrates your shipping setup for you, so you don't need to recreate your rates. Stores that use shipping apps might be upgraded later, after those apps become compatible. If shipping options by market is available for your store, you can also opt in to early access before the automatic upgrade.
After an upgrade, an opt-out window lets you switch back to shipping profiles from Settings › Shipping and delivery where it is available for your store. Switching back permanently removes any shipping changes made after the upgrade, and once the window closes you can't switch back. What else moves on that day is covered in what happens on upgrade day.
What to Set Up Before Your First Rate
Key takeaway
Shopify spreads these requirements across separate help pages. The table is our summary of them, in the order this guide sets them up.
Settings to finish before your first rate
| Setting | Where in the admin | What depends on it | Why it matters |
|---|---|---|---|
| An active market for each country you sell to | Markets | Every rate, on both systems | Customers in inactive markets can't place orders, even when their country is in a shipping zone with rates |
| Locations with a verified address | Settings › Locations | Order routing, carrier rates, shipping labels, local delivery | An unverified address can prevent you from offering local delivery or buying labels in the admin |
| A weight on every physical product | Products › a product › Shipping | Weight-based and carrier-calculated rates, shipping labels | A product with no weight is treated as weightless, so a cart can land in a lower weight tier |
| A store default package | Settings › Shipping and delivery › Packages | Weight-based and carrier-calculated rates at checkout | Its weight is added to the products' weight to decide which weight-based rate applies |
| Physical product turned off for digital products and services | Products › a product › Shipping | Products that don't ship | Checkout returns no shipping rates for them, which is what you want |
Our summary of Shopify Help Center pages on shipping zones and rates, locations, packages and weights, and digital products, read November 2026.
Countries reach shipping only through Markets. On shipping profiles you can add a country to a zone only once it belongs to a market, and on both systems customers order only from regions in an active market. If you are adding a new country, set up its market first.
- Markets
Locations and the Ship-From Address
Key takeaway
Shopify's shipping setup overview says to add your locations first, because order routing uses the locations that you set up. Each location's address matters beyond routing: an unverified address can prevent you from offering local delivery or buying shipping labels in the Shopify admin.
The default location also matters for carrier rates. If shipping rates aren't shown at checkout, Shopify's locations page says to confirm that your default location supports the selected carrier: USPS rates, for example, require a default location address in the United States.
- Settings
- Locations
- Location
Product Weights
Key takeaway
You enter a product's weight in the Shipping section of the product details page, and the Weight field is displayed only when the Physical product setting is activated, according to Shopify's packages and weights page. In the admin:
- From your Shopify admin, go to Products.
- Click the product. If it has variants, click the variant in the Variants section.
- In the Shipping section, make sure that the Physical product setting is activated.
- Enter the weight in the Weight field.
- Click Save.
- Products
- Product
A product with no weight is treated as weightless, so a cart can fall into a lower weight tier than you expect. Shopify also says you need accurate product weights for accurate carrier-calculated rates at checkout and for pricing shipping labels.
The Store Default Package
Key takeaway
By default, the store default package is used to determine the rate you charge at checkout when you use weight-based or carrier-calculated rates; the rules below the steps list the exceptions. To choose it, following Shopify's packages page:
- From your Shopify admin, go to Settings › Shipping and delivery.
- In the Shipping section, click Packages.
- For the package that you want as the default, open its menu and click Set as default.
- Settings
- Shipping and delivery
Six rules decide what that package does at checkout:
- You can have only one store default package that's used to calculate rates at checkout.
- With weight-based rates, the package's weight is added to the weight of the products to decide which rate applies.
- A package selected for a product variant overrides the default for that variant, but only for single-item orders.
- Shopify's packages page says a packed product size gives more accurate carrier-calculated rates: the items in each shipment are packed into the smallest of your saved boxes that fits them; the store default package is still used in some cases, for example when any product in the shipment is missing a packed product size. Shopify's label requirements page, by contrast, says only the default package's dimensions are used in the checkout.
- If the default is a carrier package, your checkout displays rates only for that carrier and the services that fit that package type.
- Measure the outside of your boxes, since advertised dimensions might refer to the inside. Dimensional weight applies to some shipping services when length × width × height exceeds 1 cubic foot (1728 cubic inches).
Shopify's own 2023 walk-through below runs the same sequence: rates, product weights, package types, then labels. The rate screens in it have since been renamed, and the rate form now opens from Add shipping option, so follow the steps in the next sections for rates and use the video for weights and packages.
Digital Products and Services
If you sell a digital download or a service, remove shipping for that product: in its Shipping section, make sure that the Physical product setting is deactivated, as Shopify's digital products page describes. The checkout won't return shipping rates for products marked as digital products or services, because they don't require physical shipment.
Set Up Zones and Rates in Shipping Profiles
Key takeaway
Each Shopify store comes with a general shipping profile by default that applies to all products. You open it from the Shipping profiles section of Settings › Shipping and delivery, and its Fulfill from section (Fulfillment locations in Shopify's Help Center) lists the locations that ship the profile's products.
- Settings
- Shipping and delivery
- General profile
When you first set up your store, Shopify creates a set of domestic and international shipping rates automatically, and they frequently include a free shipping rate. Before you open your store and start accepting orders, review those rates and edit them to suit your business.
One general profile is enough while every product ships on the same terms. Different rates for different products need a custom shipping profile, and you can create up to 99 custom shipping profiles; a product or variant can be in only one profile at a time.
Add a Shipping Zone
Key takeaway
A shipping zone is a group of countries or regions that have the same shipping rates. Shopify's zones and rates page starts every rate the same way:
- From your Shopify admin, go to Settings › Shipping and delivery.
- In the Shipping profiles section, click the shipping profile that you want to add rates to.
- To add a new zone: in the Shipping zones section (labeled Ship to in the admin as of November 5, 2026), click Add zone, enter a Zone name, select the countries and regions in the Regions section, and then click Done.
- Settings
- Shipping and delivery
- General profile
Two rules shape that list. On Shopify's shipping zones page, countries and regions can be added to a zone only when they belong to a market. And within a group of locations in a shipping profile, a country or region can exist in only one shipping zone, so you remove it from one zone before adding it to another.
Add a Flat, Order Amount or Weight Rate
Key takeaway
Each zone holds one or more shipping options, and the rate type is a field of the option form, not a separate screen. The numbering continues from Add a shipping zone: open the profile first, and skip step 3 if the zone already exists.
- Settings
- Shipping and delivery
- General profile
- For the zone, click Add shipping option, and then:
- In Name, enter the name customers see at checkout.
- From the Rate type drop-down menu, select Flat, Order amount or Weight.
- For Flat, enter a Price. For Order amount or Weight, enter a Minimum, a Maximum and a Price for each range, leaving the Maximum empty on your highest range, and click the plus icon to add another range.
- Optional: add delivery details or a transit time, or select Offer free shipping and enter the minimum order amount that qualifies.
- Click Done.
- Click Save.
- Settings
- Shipping and delivery
- General profile
Which type fits your products is a pricing decision, covered in which rate type fits your catalog. Two mechanics matter while you fill the form: by default, flat rates apply one time per order, and a price left empty or set to 0 makes the rate free.
Tiered rates need one more move: leave the Maximum field empty on your highest tier. Shopify's setup page says that if an order falls above your highest tier when that tier has a maximum value set, no rate applies and the customer receives a shipping error at checkout.
Shopify's troubleshooting page describes a different case for weight: if no weight-based rate matches the cart and no other rate applies, the next highest weight-based rate is used so the customer can still check out. The two pages describe different situations, and an empty Maximum on the top tier is the step Shopify gives to prevent the gap.
Order amount rates read the cart value after discounts and before taxes, so a discount code can move a cart into a different rate.
Add Carrier-Calculated Rates
Key takeaway
Carrier rates use the same Add shipping option form, at step 4 above:
- From the Rate type drop-down menu, select Carrier or app calculated.
- Click Choose carrier and apps, select a carrier or app, and select the services you want customers to see.
- Optional: in the Handling fee section, enter a percentage or a fixed amount to add to the carrier rate.
- Click Done, then Done on the option, and then Save.
Built-in carrier-calculated rates by ship-from country
| Ship-from country | Built-in carrier-calculated rates |
|---|---|
| United States | USPS, DHL, UPS |
| Canada | Canada Post, Purolator |
| United Kingdom | DPD UK, InPost UK, Royal Mail |
| Italy | BRT |
| Germany | DHL Paket |
| Spain | Seur |
Shopify Help Center, Setting up shipping zones and rates, carrier-calculated rates availability table, read November 2026. Available on all plans.
These rates use Shopify's built-in carrier integrations and are available on all plans. Australia and France don't appear in that table; Australia Post is one of the carriers whose own account you can connect for Australian locations.
Showing rates from your own carrier account takes third-party carrier-calculated shipping, which is included on Advanced and Plus, available on Grow for an additional monthly fee or with annual billing, and unavailable on other plans. How app and carrier-account rates reach your checkout is covered in app rates at your checkout.
If you adjust a carrier rate with both a percentage and a flat fee, the percentage is calculated before the flat fee is added. Backup rates apply by default wherever you have calculated rates, and they are used only when all calculated rates for a shipment fail and no other eligible rate is available.
Set Up Shipping Options by Market
Key takeaway
This section applies once your store has been upgraded. Staff who set up shipping options need the Markets permission, which isn't granted automatically and isn't included in existing staff roles. Shopify's shipping options page gives the path:
- From your Shopify admin, go to Markets.
- Click the market that you want to set up shipping for.
- Click Shipping.
- Click Add shipping option.
- Fill in the form: a Name, a Rate type and a price or ranges. Optional fields, depending on the rate type:
- add delivery details and a transit time
- limit the rate to specific collections under Applies to or to certain locations under Ships from
- add another rate
- turn on Offer free shipping over a minimum order amount
- Click Done.
- Click Save.
Rate types in shipping options by market
| Rate type | Rates in one shipping option | Needs accurate product weights |
|---|---|---|
| Flat | More than one allowed | No |
| Order amount | More than one allowed | No |
| Weight | Only one | Yes |
| Carrier or app calculated | Only one | Yes |
Shopify Help Center pages Setting up shipping options for a market and Understanding shipping options by market, read November 2026.
Set the Minimum to 0 on your lowest range and leave the Maximum empty on your highest. If an order's total or weight falls outside your ranges, no rate applies and the customer receives a shipping error at checkout. To make any rate free, set its Price to 0 or activate Offer free shipping over a minimum order amount.
Make sure that your ranges cover every order value.
When a cart matches more than one rate in the same shipping option, the highest matching rate is charged instead of the rates being added together, and prices across different shipping options are added. Shipping profiles work the other way: matching rates are added together.
A child market inherits its shipping from its parent market by default; to override it, open the child market, click Shipping, and then Customize. If an address belongs to more than one of your markets, checkout shows the shipping options from all of them, and rates from a shipping app or carrier appear alongside your own.
Local Delivery and Pickup
Key takeaway
Pickup in store needs at least one location that fulfills online orders, and you turn it on location by location; the steps, the pickup time and the ready email are in our local pickup guide.
Local delivery needs a verified location address, because an unverified one can prevent you from offering it. Delivery areas, prices and minimums are in how to set up local delivery.
Buying Labels With Shopify Shipping
Key takeaway
To buy shipping labels in Shopify, your business needs an eligible fulfillment location, and for some carriers your store needs to be based in the same country as that location. Shopify's label requirements page gives an example: Evri or DPD labels need a fulfillment location in the United Kingdom and a store address based in the United Kingdom.
Depending on your fulfillment locations, labels come from Shopify's carrier accounts in ten countries: the United States, Canada, Australia, the United Kingdom, France, Germany, Italy, the Netherlands, Poland and Spain. Which carriers each country gets is in where Shopify sells you a label.
Labels need accurate product weights. Shopify's label requirements page says only the default package's dimensions are used in the checkout, while its packages page says a packed product size gives more accurate carrier-calculated shipping rates, with each shipment packed into the smallest saved box that fits.
If you use shipping labels to display rates at checkout, the stock must be available at a physical location, not an app or custom fulfillment location. You buy each label from its order; the steps are in how to buy and print a label from an order.
Dropshipping and Print-on-Demand Apps
Key takeaway
Shopify documents three ways these apps touch your shipping setup:
- Some dropshipping apps create an app location when you install them but don't configure shipping rates for that location, so its products can show as out of stock until you add rates for it.
- Some fulfillment apps, such as on-demand custom printing apps, are added as a location to your shipping profile automatically and can alter your shipping settings.
- App locations don't have a physical address, so carrier-calculated rates can't use them.
Even though you don't ship the products yourself, your suppliers usually still charge you shipping fees. Shopify's dropshipping shipping guide suggests adding up those fees and dividing by the number of orders to find the flat rate that covers them. The supplier-by-supplier setup is in shipping around a supplier.
Test the Checkout Before You Launch
Key takeaway
Customers aren't offered any shipping rates until they enter a delivery address, so the only way to see what they see is a checkout. Shopify recommends a test order once your rates or shipping options are set:
- Turn on Shopify's Test payment gateway or Shopify Payments test mode, following the test orders page.
- Start a new checkout with an email address that ends in @example.com.
- Enter an address in each zone or market you set up, and compare the rates offered with the ones you entered.
- Enter an address in a region you don't ship to, and check that the customer sees the notice that no shipping is available.
- Turn test mode off: customers can't place live orders while your payment providers are in test mode.
Start each run from a new checkout rather than one you opened before you changed the rates:
An abandoned checkout keeps the rates from when it was created, so it doesn't reflect your current settings.
In a development store you can't test using real transactions. The payment side of a test order is in how to place a test order on Shopify.
If the Rates Look Wrong
Key takeaway
Shipping symptoms at checkout and where to fix them
| What you see | Likely cause | Where to fix it |
|---|---|---|
| The customer's country isn't in the checkout list | On profiles, it's missing from an active market or from a zone with rates; by market, it isn't in an active market | Markets first, then the zone or the market's shipping options |
| Shipping not available. Your order cannot be shipped to the selected address | No rate matches the checkout details, for example because the address is outside your zones or markets | Check that the region is in a zone or a market with shipping options, then the conditions of its rates |
| A shipping error on orders outside your ranges | On profiles, the order falls outside your tiers, for example above a highest tier that has a Maximum set; by market, the order's total or weight falls outside your ranges | Make your ranges cover every order: leave the Maximum empty on the highest range, and by market also set the Minimum to 0 on the lowest |
| A rate lower than you expected | Some products have no weight and count as weightless | Each product's Shipping section |
| No USPS rates | Your default location address isn't in the United States | Settings › Locations |
| Rates from only one carrier | Your store default package is a carrier package | Settings › Shipping and delivery › Packages |
| A discount code changed the shipping price | Order amount rates use the cart value after discounts and before taxes | The ranges of that rate |
| No rates for a download or a service | Expected: checkout returns no rates for digital products and services | Nothing to fix |
Shopify Help Center pages on shipping zones and rates, shipping options by market, troubleshooting and testing shipping rates, locations and packages, read November 2026. The error text is the example Shopify's troubleshooting page gives; your checkout may word it differently.
Every cause of a Shipping not available message, checked in order, is in why Shopify says shipping isn't available for an address.
Set Up Shipping in This Order
Key takeaway
Steps one to five and step eight are the same on both systems. Step six happens in the section for your system, zones in a shipping profile or shipping options in each market, and step seven applies only if you use carrier rates or buy labels. Carrier rates are a rate type on both systems; the step-by-step form for shipping profiles is in Add carrier-calculated rates.
Shopify shipping setup checklistTick each step as you finish it; your progress stays in this browser.
Shopify shipping setup checklist
Tick each step as you finish it; your progress stays in this browser.
Open Settings › Shipping and delivery and look for shipping profiles with zones, or a Shipping options section organized by market.
Before you tick this off
- Opened Settings › Shipping and delivery
- Noted whether the page shows shipping profiles or shipping options by market
In Markets, confirm that each country you ship to belongs to a market whose status is Active.
Before you tick this off
- Every destination country sits in a market
- Each of those markets shows Active
In Settings › Locations, check each shipping location's address, and that your default location suits the carriers you plan to use.
Before you tick this off
- Every location that ships has a verified address
- The default location is in the country your carrier rates need
Keep Physical product on and enter an accurate weight for every physical product; turn Physical product off for digital products and services.
Before you tick this off
- No physical product is left without a weight
- Downloads and services have Physical product off
In Settings › Shipping and delivery › Packages, set the box you use most as the store default, and measure boxes on the outside.
Before you tick this off
- One package is marked as the store default
- Its dimensions were measured on the outside of the box
Review the rates Shopify created for you, then add shipping options to each zone or market, with the Maximum empty on your highest range.
Before you tick this off
- Reviewed or edited the automatically created rates
- Every zone or market you sell to has at least one shipping option
- The highest range of each tiered rate has no Maximum
Choose Carrier or app calculated where your ship-from country has built-in carriers, and check that your location qualifies for Shopify Shipping labels.
Before you tick this off
- Carrier services selected for each calculated option
- Label requirements checked for your fulfillment location
Place a test order to an address in each zone or market and to one you don't ship to, then turn test mode off.
Before you tick this off
- Every zone or market showed the rates you expected
- An address you don't ship to showed the no-shipping notice
- Test mode is off again
The Bottom Line
Key takeaway
The rate fields take minutes. What takes care is the groundwork under them: a market for every country, an address for every location, a weight on every product and one honest default box.
Frequently Asked Questions
Front-end developer specializing in Shopify since 2017. Experienced in building custom Liquid themes, optimizing storefront performance, and integrating third-party apps. Directs the editorial process behind Ecom Store Pro: sets its topics and the rules every AI-written page must pass before publication.
This page was written by AI. Separate AI agents that did not write it check its figures and claims against official sources and test its links and interactive tools. A human editor sets the site's editorial direction, topics and rules and checks that pages are complete and display correctly, but does not check their facts or edit their text. Details may change — always confirm critical data at shopify.com.
Editorial PolicySome links in this article are affiliate links. If you sign up for a Shopify store through these links, we may earn a commission at no extra cost to you. Read our full advertising policy.
