Shopify's shipping settings confuse almost everyone the first time. Zones, profiles, carrier rates, flat rates, calculated rates — the terminology alone is overwhelming. This guide walks through the entire setup in plain language, with the exact clicks to make in your admin.

How Do I Set Up Shipping on Shopify?

How do I set up shipping rates and zones on Shopify from scratch?

Go to Settings > Shipping and delivery in your Shopify admin. Create shipping zones (geographic regions you ship to), then add shipping rates to each zone (flat rate, free, calculated, or price-based). The entire setup takes 20–45 minutes for a typical domestic store and 45–90 minutes if you ship internationally.

Step 1: Understand Shipping Profiles

Before touching any settings, understand how Shopify organizes shipping:

General shipping profile: Your default. Every product in your store uses this profile unless you assign it to a custom one. For most stores, the general profile is all you need.

Custom shipping profiles: For products that need different shipping rules. Example: if you sell both small jewelry (ships in an envelope for $3) and large furniture (ships freight for $50), create a custom profile for furniture with its own rates. Products not assigned to a custom profile fall back to the general profile.

To find these: Settings > Shipping and delivery > Shipping profiles. You'll see "General shipping rates" at the top.

Step 2: Create Shipping Zones

A shipping zone is a group of countries or regions that share the same shipping rates. Click into your general shipping profile, then "Create shipping zone."

For domestic U.S. shipping:

Create one zone called "Domestic" and select "United States." If you want different rates for Alaska and Hawaii (shipping costs more there), create two zones: "Contiguous US" (48 states) and "Alaska & Hawaii."

For international shipping:

Group countries by shipping cost similarity. Common setup:

  • Zone 1: "Canada" (your nearest international market, cheapest rates)
  • Zone 2: "Europe" (select EU countries you ship to)
  • Zone 3: "Rest of World" (everything else)

Don't create a zone for every country unless you need country-specific rates. Three to four zones cover most stores.

Important: Any country not in any zone is a country you won't ship to. Customers from unlisted countries can't check out. If you want to ship everywhere, create a "Rest of World" zone and add all remaining countries.

Step 3: Add Shipping Rates to Each Zone

Click on a zone to add rates. You have four options:

Flat rate. A fixed amount regardless of order contents. Example: "$7.99 Flat Rate Shipping." Simple for customers, easy to manage. Best for stores where products are similar in size and weight.

How to set it up: Add rate > set a name (visible to customers at checkout) > enter the price > optionally add a price-based or weight-based condition (e.g., "$7.99 for orders under 5 lbs, $12.99 for orders 5–15 lbs").

Free shipping. Set the rate to $0. You can make it conditional — free above a minimum order value. Example: "Free shipping on orders over $50."

How to set it up: Add rate > name it "Free Shipping" > set price to $0 > check "Add conditions" > select "Based on order price" > set minimum to your threshold.

Carrier-calculated rates. Shopify calculates the rate in real time based on the package weight, dimensions, and destination using USPS, UPS, or DHL rates. Customers see the actual carrier rate at checkout.

How to set it up: Add rate > select "Use carrier or app to calculate rates" > choose a carrier > select which services to offer (Ground, Priority, Express). You'll need to enter your products' weights in the product editor — if weights are blank, calculated rates won't work.

Price-based or weight-based rates. A flat rate that changes based on cart total or total weight. Example: "$5 for orders under $50, $8 for orders $50–$100, Free for orders over $100."

How to set it up: Add multiple flat rates to the same zone, each with a different condition range. Shopify shows the applicable rate at checkout.

Step 4: Enter Product Weights

Carrier-calculated rates and weight-based rates only work if your products have weights entered. For each product: Products > [product] > Shipping section > enter weight in oz or lbs.

If you're not sure of exact weights, weigh your 5 most popular products on a kitchen scale and enter them. For the rest, estimate. An inaccurate weight is better than no weight — you can refine later.

For products that ship in packaging, add the packaging weight. A product that weighs 8 oz plus a 4 oz box should be entered as 12 oz. Otherwise, calculated rates will be too low and you'll eat the difference.

Step 5: Set Up Shipping for Free Products and Digital Goods

Digital products (downloads, courses, gift cards) shouldn't have shipping charges. Uncheck "This is a physical product" in the product editor. Products marked as digital are excluded from shipping calculations automatically.

Free products (samples, promotional items) still need weights if they ship in the same box. If you include a free sample with every order, add the sample weight to the product or use Shopify Flow to adjust the shipping profile.

Common Setup Mistakes

Mistake 1: No shipping zones = no checkout. If you have zero shipping zones with rates, customers see "Shipping not available" at checkout and can't complete their order. Always verify by placing a test order.

Mistake 2: Overlapping conditions. If you create a $5 flat rate for "orders $0–$50" and a free rate for "orders over $50," make sure the boundaries don't overlap or leave gaps. An order of exactly $50 should match one rule clearly.

Mistake 3: Missing product weights. If 80% of your products have weights and 20% don't, customers ordering a weightless product get an error at checkout when using calculated rates. Set a default weight for all products before turning on calculated rates.

Mistake 4: Forgetting to test. After setting up shipping, place a test order from every zone you've created. Use a different shipping address for each zone. Verify the rates shown at checkout match what you intended. Shopify has a "Bogus Gateway" test payment method that lets you place orders without charging a real card (Settings > Payments > switch to Bogus Gateway temporarily).

International Shipping: The Essentials

If you ship outside your home country:

Customs declarations. Shopify auto-generates customs forms when you buy international shipping labels through Shopify Shipping. You need to set HS codes (Harmonized System codes — product category codes for customs) and country of origin on each product. Find HS codes at hts.usitc.gov.

Duties and taxes. By default, the customer pays import duties on arrival. This causes delivery surprises and unhappy customers. If you're on Shopify Markets or Shopify Plus, enable "Duties and import taxes at checkout" so customers see the total landed cost before they buy.

Carrier options. For international, DHL eCommerce and USPS Priority Mail International offer the best rates through Shopify Shipping. DHL is cheaper for packages under 4.4 lbs. USPS Priority Mail International is better for heavier packages and includes tracking to most countries.

What to Do Today

Go to Settings > Shipping and delivery. Create one domestic zone with a flat rate and a free-shipping-above threshold. Enter weights for your top 10 products. Place a test order to verify the checkout works. Total time: 30 minutes. You can refine zones, add international shipping, and switch to calculated rates later — the priority is having a working checkout today.

For strategies to reduce your shipping costs once your setup is complete, read The Cheapest Way to Ship From Shopify in 2026.