Set up shipping zones and rates
From your Shopify admin, go to Settings > Shipping and delivery and open a shipping profile. Add a zone for the countries you ship to, then click Add shipping option to set a flat, order amount, weight or carrier rate1. Stores upgraded to shipping options by market manage shipping from Markets instead2.
You need: Your product weights · The countries you ship to · The rates you want to charge
Before you start
Shipping rates are what customers pay for delivery at checkout. In Shopify, a shipping profile holds the rules. Inside it, a shipping zone groups countries or regions that share the same rates1.
Check which setup your store has. Shopify is gradually moving stores from shipping profiles to shipping options by market1. Go to Settings > Shipping and delivery. If you see a Shipping options section organized by market, your store has been upgraded, and you manage shipping from Markets2. Shipping options by market is in early access and available only to certain stores3. The steps below are for shipping profiles, which most stores still use1.
What must be in place first:
- An active market for each country. To sell to a country, it must be in an active market4. Customers in inactive markets can't place orders1.
- Product weights, if you plan to charge by weight. Missing weights cause wrong rates at checkout1.
Plan notes: Shopify's built-in carrier rates, such as USPS or Canada Post, are on all plans. Using your own carrier accounts, such as UPS or FedEx, needs certain Shopify plans or an extra monthly fee. Flat rates in local currency need Shopify Payments in a supported country1.
Worked example: a candle shop selling 40 products in the US and Canada wants one rate for each country, plus free shipping on larger orders.
Steps
- Open your shipping profile. From your Shopify admin, go to Settings > Shipping and delivery. In the Shipping profiles section, click the profile you want to edit1.
- Add a shipping zone. In the Shipping zones section, click Add zone. Enter a Zone name, select the countries and regions under Regions, click Done, then click Save1. A country can belong to only one zone in a profile1. The candle shop would make one zone for the United States and one for Canada.
- Add a flat rate. In the zone, click Add shipping option. Enter a Name that customers will see at checkout. Select Flat from the Rate type menu, enter a Price, click Done, then click Save1. A flat rate applies once per order by default1.
- Add a delivery estimate, if you want one. When you add a flat rate, choose a time from the Transit time menu so checkout can show an estimate1.
- Set free shipping over an order amount. On the rate, select Offer free shipping and enter a minimum order amount. To change an existing rate, click the menu icon next to it, click Edit shipping option, then do the same. Click Done and Save1.
- Use tiers for order amount or weight, if you need them. Click Add shipping option, then select Order amount or Weight as the Rate type. For each tier, enter a Minimum, a Maximum and a Price. Click the plus icon to add tiers, then Done and Save1. Leave Maximum empty on the highest tier so large orders still get a rate1.
- Add carrier-calculated rates, if you use a carrier. Click Add shipping option and select Carrier or app calculated. Click Choose carrier and apps, pick a carrier, select the services to show, and optionally enter a Handling fee. Click Done, then Save1.
- Give physical products a shipping weight. In Products, enter a Shipping weight for each physical product, in the same unit as your weight rates5. Weight-based rates also add the default package weight; set it to zero to charge on product weight alone5.
- Edit or delete a zone or rate. Click the menu icon next to it. Click Edit zone or Edit shipping option to change it, or Delete to remove it. Click Save1.
Check your work
- Start a new checkout and enter an address in each zone. Abandoned checkouts keep the rates from when they were created, so always use a new one5.
- Test your lightest and heaviest products, and a cart just above and below your free shipping amount. Gaps in tiers are a common cause of surprise rates5.
- Go to Markets and confirm each country you ship to is in a market5.
Common problems
- Checkout says "Your order cannot be shipped to the selected address." No rate is assigned to the zone that covers the address. Add a rate to that zone5. Also check that the product is marked as a Physical product5.
- A customer was charged far more than expected. This is often a gap in your tiers. Make sure the tiers cover every order total or weight5,1.
- Free shipping didn't apply after a discount. Price-based rates use the discounted cart total, so a discount can move a cart into a different tier5.
- Weight rates look wrong. Product weights are missing, or their units don't match your rates. Fix the Shipping weight in Products5.
- No rates for orders from one location. In Settings > Locations, check the location is active, has a valid address, and has Inventory at this location is available to fulfill online orders turned on5.
- My settings page looks different from this guide. Your store may have been upgraded to shipping options by market. Your rates were migrated for you, and you now manage them from Markets2. During an opt-out window you can switch back in Settings > Shipping and delivery2.