How to Create Shopify Shipping Profiles (2026)

Shopify shipping profiles setup showing shipping zones and rate configuration on a clean dashboard interface

48% of online shoppers abandon their cart when shipping costs surprise them at checkout. That's not a conversion problem — it's a shipping profiles setup problem. And most of the time, it traces back to how your Shopify shipping profiles are configured.

Shipping profiles control which products ship where, at what price, from which location. Get them right, and customers see clear, predictable rates. Get them wrong, and you'll see "Shipping is not available for your address" errors, overcharges that kill conversions, or undercharges that eat your margins on every order.

What Are Shopify Shipping Profiles?

A Shopify shipping profile is a set of rules that defines which products ship to which zones, at which rates, from which locations. Every store starts with one — the General shipping profile — and every product is automatically assigned to it.

The General profile works fine if all your products ship the same way. A $12 t-shirt and a $12 sticker? Same flat rate, same zones, no issues.

But the moment you sell products with different shipping requirements — heavy items alongside lightweight ones, digital products mixed with physical goods, or oversized furniture next to accessories — you need custom shipping profiles. Each custom profile gets its own zones, its own rates, and its own product assignments.

One important rule: a product can only belong to one shipping profile at a time. If you move a product into a custom profile, it leaves the General profile automatically.

Set Up Your General Shipping Profile First

If you're also configuring zone-based COD shipping, get the General profile sorted before layering on zone-specific rates.

Before creating custom profiles, get your General profile right. This is the default for every product you haven't explicitly assigned elsewhere.

  1. Go to Settings → Shipping and delivery in your Shopify admin.
  2. Click on General shipping rates (it's already there — you're editing, not creating).
  3. Under Shipping from, confirm your fulfillment locations are correct. If you ship from multiple warehouses, add each one.
  4. Create your shipping zones. A zone is a group of countries or regions that share the same rates. Common zones: Domestic, North America, Europe, Rest of World.
  5. Add rates to each zone. You'll choose between flat rates, weight-based rates, price-based rates, or carrier-calculated rates.

Name your zones clearly. "Zone 1" means nothing to you in six months. "Middle East" or "EU Countries" tells you exactly what you're looking at.

Choose the Right Rate Type for Each Zone

Flat rates are the simplest option. You set a fixed price — say $5 for domestic, $15 for international — regardless of what's in the cart. They work best when your products are similar in size and weight. Customers like them because there are no surprises.

Weight-based rates charge shipping based on the total weight of the order. You define ranges (0–1 kg, 1–5 kg, 5–10 kg) and set a price for each. This works well if you sell products with very different weights — a 200g phone case vs. a 5kg coffee machine.

Price-based rates tie shipping cost to order value. Orders under $50 pay $8 shipping; orders over $50 ship free. This is how most free shipping thresholds work. If your average order value is $55, setting the threshold at $72–$83 (roughly 1.3–1.5x your AOV) encourages customers to add one more item instead of paying for shipping.

Carrier-calculated rates pull real-time pricing from carriers like USPS, UPS, DHL, or FedEx. Customers see exact costs based on their address and the order weight. The upside: you never lose money on shipping. The downside: rates vary per order, and unexpected costs at checkout increase abandonment.

Create Custom Profiles for Products That Ship Differently

Custom shipping profiles exist for one reason: when a subset of your products needs different shipping rules than everything else.

Common use cases:

  • Heavy or oversized items — furniture, equipment, or large appliances that cost significantly more to ship
  • Fragile products — items requiring special handling or insurance
  • Region-restricted products — products you can only ship to certain countries (like perishable goods or regulated items)
  • Digital products — ebooks, templates, or downloads that don't ship at all

To create a custom profile:

  1. Go to Settings → Shipping and delivery.
  2. Click Create new profile.
  3. Name it something descriptive (e.g., "Furniture" or "Digital Downloads").
  4. Add the specific products that belong to this profile.
  5. Set up shipping zones and rates — these are independent from your General profile.

For digital products, create a custom profile with no shipping zones and no rates. This tells Shopify the product doesn't need shipping, so customers won't see shipping charges for it at checkout.

Avoid the 5 Mistakes That Break Checkout

Most shipping profile problems don't show up until a customer tries to check out and can't. Here's what to watch for.

1. Missing countries in your zones. If a customer's country isn't included in any shipping zone, they see "Shipping is not available for your address" and can't complete the order. You don't get an error — you just silently lose the sale. Add a "Rest of World" zone as a catch-all to prevent this.

2. Gaps in weight or price ranges. If you set rates for 0–5 kg and 10–20 kg, orders weighing 5.1–9.9 kg have no rate. Same with price ranges: rates for $0–$50 and $75–$100 leave a gap where $50.01–$74.99 orders can't check out. Make sure every range connects to the next with no gaps.

3. Products in the wrong profile. If you accidentally assign a product to a custom profile that doesn't cover the customer's country, shipping fails for that product. When a cart contains products from multiple profiles, Shopify calculates shipping for each profile separately and combines them. If one profile is misconfigured, the whole order breaks.

4. Zero product weights. If you use weight-based rates or carrier-calculated shipping, every product needs an accurate weight. Products left at 0 kg get charged the lowest rate — or nothing at all. Include packaging weight too, not just the product itself.

5. Never testing your rates. Place a test order from each shipping zone before going live. Use Shopify's Bogus Gateway for test payments, and verify that every zone shows the correct rate. Test edge cases: a cart mixing products from different profiles, an order right at a weight or price boundary, and a customer address from your smallest zone.

Set Up Shipping for COD Markets

If you sell in COD-heavy markets like South Asia, the Middle East, or Latin America, your shipping profiles need extra attention. These markets often have zone-specific delivery fees that vary by city or province — not just by country.

The standard approach: create price-based or flat rates within your country zone, broken into sub-zones. For example, if you sell COD in Saudi Arabia, you might have one rate for Riyadh/Jeddah (where couriers are cheap and fast) and a higher rate for remote provinces.

Shopify's native shipping profiles support country-level zones but not city-level zones. If you need city or pincode-level shipping rules, you'll need a shipping app. Apps like EasySell let COD merchants set zone-based delivery fees and restrict COD availability to specific regions directly from the order form — useful when certain pincodes have high return-to-origin rates and you want to limit COD there.

Multi-Location Shipping: One Profile, Multiple Warehouses

If you fulfill orders from more than one location, each shipping profile can include multiple fulfillment origins. Shopify assigns each order to the nearest location with available inventory.

This matters for shipping rates because the origin affects the cost. An order shipping from your New York warehouse to a customer in New Jersey costs less than the same order shipping from your California warehouse.

To set this up, make sure each fulfillment location is added to the relevant shipping profiles. Then configure rates per location within each zone. Shopify will display the rate from whichever location fulfills the order.

One thing to watch: if Location A is out of stock and Location B fulfills instead, the customer pays Location B's rate — which might be different from what they saw at checkout if inventory shifted between cart and fulfillment. Keep your inventory synced tightly to avoid this. If shipping costs are a major margin concern, see our guide on reducing Shopify shipping costs.

Your First 15 Minutes

Open Settings → Shipping and delivery right now. Check three things: Does your General shipping profile have a "Rest of World" zone? Do your weight or price ranges have gaps? Is every product assigned to the correct profile? Those three checks catch most of the shipping profile errors that silently kill conversions. Fix them today, and the "Shipping not available" messages stop tomorrow.