Shopify Shipping Profiles: Set Different Shipping Rates by Product
How Shopify’s general and custom shipping profiles work, how to move products into a custom profile, how mixed carts are charged, and what changes as shipping moves to markets.

On this page
Shopify shipping profiles let you charge different shipping rates for different products. Every store has one general shipping profile that holds all products by default. For products that need their own rates, such as heavy, fragile or free-shipping items, you create a custom shipping profile (up to 99), add the products, then give it fulfillment locations, shipping zones and rates. You manage both in Settings > Shipping and delivery. When a cart mixes products from different profiles, Shopify combines their rates into one charge at checkout.
One caveat for late 2026: Shopify is moving stores from profiles to shipping options by market, so check which system your admin shows before you start.
What is a Shopify shipping profile?
Shopify's shipping profiles overview defines a profile as a set of shipping rules for specific products and locations. There are two kinds:
| General profile | Custom profile | |
|---|---|---|
| What it covers | Every product or variant not in a custom profile | Only the products and variants you add |
| New products | Added automatically | Not added automatically |
| How many | One per store | Up to 99 |
| Can you delete it? | No | Yes |
| Typical use | Your standard rates | Products that need different rates or ship from different places |
Two rules shape everything else. First, a product, or a single variant, can be in only one profile at a time. Adding it to a second profile removes it from the first, according to Shopify's setup guide. Second, anything not in a custom profile uses the general profile's rates.
How do locations, zones and rates fit inside a profile?
Each profile is a small hierarchy. From the top down:
- Products. The products and variants the profile covers.
- Fulfillment locations. The locations that ship those products, arranged in location groups. Each group has its own zones and rates, so the location that fulfills an order decides which rates apply (managing fulfillment locations).
- Shipping zones. Groups of countries or regions that share rates. Shopify's rate setup guide says a country can be in only one zone within a profile, and its market must be active.
- Rates. The shipping options customers pick at checkout, such as Standard or Express. Each has a rate type: flat, order amount, weight, or carrier or app calculated. Our guide to Shopify shipping rates explains each type.
So the price a customer pays depends on three things: the profile each product is in, the location that ships it, and the zone that contains the delivery address.
New locations need attention. When you create a profile, all locations that fulfill online orders are added to it in one location group. A location you add later goes into every profile's Not fulfilling from section (the troubleshooting guide calls it Not shipping from this location) with no rates, so it ships nothing until you either reuse another location's shipping options or create new ones for it.
Does your store still use shipping profiles?
Shopify is replacing this setup. Its upgrade guide says shipping profiles, location groups and zones are replaced by shipping options set up for each market. A Shopify developer changelog post of 7 July 2026 gives this schedule for what it calls market-driven shipping:
- 1 October 2026: merchant opt-in opens, and new shops are opted in automatically.
- 1 October 2026 to 1 July 2027: existing stores move automatically, as the shipping apps they use become compatible.
- 1 July 2027: the new system is on for all shops.
The Help Center gives no dates. As of 26 October 2026 it still calls shipping options by market early access, available only to certain stores, which can opt in with Get early access in Settings > Shipping and delivery.
To check your store, go to Settings > Shipping and delivery. If shipping is organized by market in a Shipping options section, your store has been upgraded and the profile steps below no longer apply; skip to the section on shipping options by market. If you still see a Shipping profiles section, read on. Your existing rates are migrated for you when the upgrade happens.
How to create a custom shipping profile
These steps follow Shopify's setup guide as of 26 October 2026:
- In your Shopify admin, go to Settings > Shipping and delivery.
- In the Shipping profiles section, click Add custom profile.
- Enter a Profile name that tells your team what the profile is for, such as "Oversized" or "Free shipping items".
- In the Products section, click the arrow icon, select the products or variants, and click Done.
- In Fulfillment locations, check which locations ship these products and change them if needed.
- In Shipping zones, click Add zone, enter a Zone name, select the countries or regions, and click Done.
- For each rate in the zone, click Add shipping option, enter the rate details, and click Done.
- Repeat steps 6 and 7 for every zone where these products sell, then click Save.
Two details save trouble later. Use the same rate names as your general profile, such as "Standard" and "Express", because Shopify combines mixed carts by name (more on that below). And add a zone for every country where these products are sold: if a product's profile has no rate for an address, Shopify's troubleshooting guide lists that as a cause of the "Your order cannot be shipped to the selected address" error.
Staff and collaborators who manage shipping profiles need both the Products and Manage settings permissions.
How to add or move products in a shipping profile
Shopify's instructions assign products from inside the profile, not from the product page.
How do you add a product or a single variant?
Open the profile from Settings > Shipping and delivery, go to the Products section, select the products, and click Done, then Save. You can add a whole product or only some of its variants, for example to charge more for the large size of a rug.
How do you move products to another profile?
Shopify doesn't document a separate move action. Add the product to the profile you want: Shopify removes it from its previous profile automatically.
How do you add many products at once?
Shopify's steps have you select the products in the profile's picker and then click Done, so you can add several in one pass. For larger groups, plan first: keep a tag or a list of the products that belong in each profile, so you can check membership later.
Shopify's product CSV has no shipping profile column, according to the CSV import guide, so an import can't move products between profiles. It can, however, fix the product weights that weight-based and calculated rates depend on; our product CSV update checklist covers doing that without overwriting variant data.
For hundreds or thousands of variants on a store that still uses profiles, a developer can use the Admin GraphQL API. Its DeliveryProfileInput reference lists a variantsToAssociate field that adds variant IDs to a profile, and a variantsToDissociate field that returns variants to the default profile.
How do you return products to the general profile?
Any product or variant that isn't in a custom profile uses the general rates. To take products out of a custom profile, open it, click products, remove them in the Manage products window and click Save. Shopify's troubleshooting guide uses these steps to empty an app's profile.
You can also delete a custom profile: open it in Settings > Shipping and delivery, click Delete profile, then click Delete profile again to confirm. Shopify's delete steps don't say where the products go, so check one of them at checkout afterwards. You can't delete the general profile.
What happens to new products?
New products always start in the general profile. When you add an oversized or free-shipping product to the catalog, add it to its custom profile in the same session.
How does Shopify charge a cart with products from several profiles?
When a cart contains products from more than one profile, Shopify calculates a rate for each and shows customers a single combined rate. Shopify's combined rates guide sets out the rules:
- Matching names are added together. If both profiles have a rate called "Standard", the two prices are summed under that name.
- Different names become "Shipping". If no names match, the cheapest rate from each profile is added together and shown as one rate called "Shipping". The troubleshooting guide adds that names must match exactly, including capitalization.
- Price-based rates use the whole cart. Shopify says they apply to the total price of the cart, and the troubleshooting guide notes checkout uses the value after discounts and before tax.
- Weight-based rates add the default package to every product. The store's default package weight is added to each product's weight before rating, so a mixed cart can be rated heavier than one box.
- Locations matter too. Rates are added only when no single location can fulfill the order. If several locations in the same flat-rate location group ship it, the flat rate is charged once; locations in different groups add their rates together.
Here is an illustration with made-up prices. The general profile has Standard at $5 and the oversized profile has Standard at $20, both flat and both shipping from one warehouse:
| Cart | What checkout shows |
|---|---|
| Only general products | Standard, $5 |
| Only oversized products | Standard, $20 |
| One of each | Standard, $25 |
| One of each, with the oversized rate renamed "Freight" | Shipping, $25 |
The totals are the same, but in the last row customers lose the name they recognize. And because only the cheapest rates are combined when no names match, customers see a single "Shipping" rate instead of the choices you set up. Giving every profile the same set of rate names keeps checkout predictable.
Should a custom profile charge a surcharge or a full rate?
Because same-name rates add up, decide what a mixed cart should cost before you set prices:
- Full rate. Set the oversized Standard rate to what that item costs to ship alone, say $25. Alone it is right; with a $5 general item the cart pays $30.
- Surcharge. Set it to the extra cost of the item, say $20. With a general item the cart pays $25, but the oversized item alone also pays only $20.
Pick the version that matches how your orders usually look, then test both cases at checkout.
When should you use a custom shipping profile?
When Shopify launched shipping profiles in November 2019, it named fragile or bulky items, multiple warehouses, vendors shipping from different places and special mail classes as the reasons to use them. The setups below follow those reasons.
Heavy or oversized items
Create an "Oversized" profile with a higher flat rate or its own weight tiers. Weight-based and carrier-calculated rates need accurate product weights, and carrier rates also need sensible package sizes. If you buy labels in Shopify, the same weights feed your shipping labels.
Fragile goods
Fragile items often need extra packaging, handling or insurance. A "Fragile" profile with the same rate names as your general profile, and a surcharge on top, covers that cost without raising shipping on the rest of the catalog.
Print on demand and dropshipping suppliers
Shopify's setup guide warns that some fulfillment apps, such as on-demand printing apps, are added as a location automatically and can change your shipping setup. Three checks keep this under control:
- Give the supplier's location rates. If it sits in the profile's not-fulfilling list, the troubleshooting guide says to click Add rates and either create new rates or reuse another location's.
- Mirror the supplier's real shipping costs in a custom profile for those products, so mixed carts with your own stock add up correctly.
- If an app keeps resetting rates in a profile it created, Shopify's fix is to make sure your general or custom profile has the right rates and ships from the app's location, then remove all products from the app's profile and save. The app can still fulfill orders, but it no longer controls checkout rates.
Free shipping on some products only
Shopify's rate guide gives the method: create a custom profile, add the products, and create a flat rate with free shipping (a price of 0) in each zone. Name it like your paid rate, for example "Standard", so a mixed cart pays only the other items' rate. To give free shipping to specific customers instead, use a free shipping discount rather than a profile.
Products that ship from one location or to fewer countries
A custom profile can include only the location that stocks a product, or only the zones it may ship to, such as a product you can't send abroad. Test a mixed cart with an address outside those zones, because an address with no rate for a product's profile is a documented cause of the "cannot be shipped" error.
What limits and plan requirements apply?
- Profiles: one general profile plus up to 99 custom profiles, according to Shopify's overview.
- One profile per product or variant. Adding an item to a second profile removes it from the first.
- One zone per country within a profile.
- No plan requirement for profiles is stated in Shopify's Help Center. Some rate types are different: connecting your own carrier accounts for calculated rates needs specific plans or an extra monthly fee, which our shipping rates guide covers.
- No per-profile product limit is stated in the Help Center.
- Staff permissions: Products and Manage settings.
- No CSV column for shipping profiles.
What changes with shipping options by market?
On an upgraded store, profiles disappear from the setup. Shopify's overview of shipping options by market and its upgrade guide describe the differences:
| Shipping profiles | Shipping options by market | |
|---|---|---|
| Where you set it up | Settings > Shipping and delivery | Markets, then the market, then Shipping |
| How rates target products | Products and variants added to a profile | A rate's Applies to condition, set to specific collections |
| How rates target origins | Location groups | A Ships from condition on each rate |
| Several matching rates in a cart | Same-name rates are added together | Flat and order amount rates: only the highest matching rate in a shipping option is charged |
| Split shipping | A setting you could turn off | Always on after the upgrade |
| Weight, carrier and app rates | Added together | Still calculated per shipment and added together |
During the upgrade, the product groups from your custom profiles become collections with a "[Shipping]" prefix, such as "[Shipping] Fragile". Shopify says these collections are unpublished, so customers don't see them. Staff who manage shipping need the Markets permission, which isn't granted automatically or included in existing staff roles.
To charge a different rate for some products on an upgraded store, Shopify's setup guide for shipping options works like this:
- Go to Markets and click the market.
- Click Shipping, then Add shipping option, and enter the Name customers see at checkout.
- Set the Rate type to Flat and enter the Price.
- In the Applies to drop-down, select Specific collections, click Add collections, choose the collection and click Done.
- Optional: click Add another rate to price other products in the same option.
- Click Done, then Save, and place a test order.
Rates apply to collections, not single products, so put a product in its own collection if it needs its own price.
The pricing logic changes with it. Flat and order amount rates are charged once per shipping option, and when a cart matches several rates in the same option, only the highest is charged. With made-up prices, a cart that matches a $5 rate and a $9 rate in the same Standard option pays $9, not $14. The upgrade consolidates rates that share a name into one option, and Shopify doesn't say how migrated rates are priced for mixed carts. A surcharge-style rate built for profiles could therefore charge less after the upgrade, so review product-specific rates and test a mixed cart once your store moves.
How to keep your shipping policy in sync
Every custom profile changes what some customers pay, so your shipping policy should say so. Mention surcharges for oversized or fragile items, which products ship free, products that ship only to some countries, and how mixed orders are charged. Check the policy again after any profile change, and after your store moves to shipping options by market.
Our Shopify shipping policy template shows each section and how to check it against Settings > Shipping and delivery. If you'd rather not write it yourself, ShopOpsy's Shipping Policy Setup is a one-time $49 service that drafts the policy from your zones, rates, carriers and delivery options, delivered as plain text ready to paste into Settings > Policies.
How to fix common shipping profile problems
The causes below come from Shopify's shipping rate troubleshooting guide. Test every fix with a new checkout, because an abandoned checkout keeps the rates it had when it was created.
| What you see | Likely cause | What to check |
|---|---|---|
| "Your order cannot be shipped to the selected address" | A product's profile has no zone or rate for the address, or the country isn't in an active market | Add a zone with rates in that profile; add the country to a market |
| Checkout shows one rate called "Shipping" | Rate names differ between profiles | Make names match exactly, including capitalization |
| Mixed carts cost more than expected | Same-name rates are added; the default package is added to each product's weight | Use surcharge pricing; check the default package weight |
| A product still gets the old rate | It's in the wrong profile, changes weren't saved, or you reused an old checkout | Check the profile's product list, click Save, start a new checkout |
| Supplier or app products show no rates or sold out | The app's location isn't shipping in the profile | Click Add rates for that location |
| An app keeps overwriting rates | The app controls its own profile | Ship from the app's location in your profile and remove products from the app's profile |
| Weight-based rate lands in the wrong tier | Missing weights, wrong units or gaps between tiers | Enter weights in the right units and close tier gaps |
| No rates for one product | Digital product, inactive location, or no stock at a fulfilling location | Mark it as a physical product, activate the location, or turn on Continue selling when out of stock |
The last row overlaps with stock settings, which our guide to Shopify out of stock settings explains. If you sell items before stock arrives, our preorder setup checklist covers setting a delivery promise you can keep.
Frequently asked questions
Do you need an app to set shipping rates per product?
No. Custom shipping profiles are part of Settings > Shipping and delivery, so you can give a group of products its own flat, weight or order amount rates without installing anything. A shipping app matters when you want a carrier or app to calculate the price, which is a rate type rather than a profile feature. If you want to charge for each unit in the cart rather than for each product, our shipping rates guide covers the options.
Can I switch back after my store moves to shipping options by market?
Only during the opt-out window after the upgrade. Shopify's upgrade guide says switching back restores your previous setup but permanently removes shipping changes made after the upgrade, along with the collections and sub-region markets the upgrade created. Once the window closes, you can't switch back.
Sources
- Shipping profiles — Shopify Help Center, accessed 26 October 2026.
- Setting up and managing shipping profiles — Shopify Help Center, accessed 26 October 2026.
- Managing fulfillment locations in shipping profiles — Shopify Help Center, accessed 26 October 2026.
- Calculating shipping rates from different shipping profiles — Shopify Help Center, accessed 26 October 2026.
- Setting up shipping rates — Shopify Help Center, accessed 26 October 2026.
- Troubleshooting shipping rates — Shopify Help Center, accessed 26 October 2026.
- Upgrading from shipping profiles to shipping options by market — Shopify Help Center, accessed 26 October 2026.
- Understanding shipping options by market — Shopify Help Center, accessed 26 October 2026.
- Setting up shipping options for a market — Shopify Help Center, accessed 26 October 2026.
- Using CSV files to import and export products — Shopify Help Center, accessed 26 October 2026.
- DeliveryProfileInput — Shopify developer documentation, accessed 26 October 2026.
- The next generation of Shopify fulfillment is coming — Shopify developer changelog, accessed 26 October 2026.
- Add product or location specific shipping rates with shipping profiles — Shopify Changelog, accessed 26 October 2026.


