Threshold-based
A price-based conditional rate at zero above your target subtotal. Choose the threshold from real order data: pitch it above the median order value so it lifts the average without eating margin on the median.
Shopify's shipping engine has three moving parts: zones (the countries a shipping profile covers), rates (what each zone charges), and exceptions (thresholds and heavy-item overrides). Get those three right and checkout stops surprising customers. Rules and paths from Shopify Help Center, read 2026-08-11.
A zone is a group of countries or regions that share a rate. Every region you intend to sell to has to sit inside a zone somewhere, or the checkout returns a "shipping not available" message and the sale falls out.
Wording drawn from the Shopify Help Center article "Setting up shipping zones", read 2026-08-11.
Shopify supports four rate types inside a zone. You can combine them - a flat rate for everyone, a free-shipping option above a threshold, and a carrier-calculated overnight - and let the customer pick.
| Rate type | How it prices | Good for |
|---|---|---|
| Flat rate | One price for every order in the zone. Set as low as zero for a free-of-charge tier. | Small catalogs where every parcel prices out about the same. |
| Price-based conditional | Rate changes based on the order subtotal. Set a paid tier below your target subtotal and a zero tier above it. | No-charge thresholds without eating margin on tiny orders. |
| Weight-based conditional | Rate changes based on the total item weight. Set a low tier for parcels up to 1 lb and a higher tier for heavier ones. | Catalogs where item weight varies widely - hardware, coffee, books. |
| Carrier-calculated | Live rate pulled from a connected carrier (Shopify Shipping, UPS or FedEx) at checkout, based on order weight, dimensions and destination. | Stores selling heavy or oddly-shaped items where any flat rate would over- or under-charge. |
One trap Shopify calls out directly on the help page: on conditional rates, leave the Maximum field empty on the highest tier so it covers larger orders too. A capped top tier means an oversized order sees no rate at all, and checkout blocks.
Free shipping is a rate, not a discount. Configure it inside the zone as one of the rate options.
A price-based conditional rate at zero above your target subtotal. Choose the threshold from real order data: pitch it above the median order value so it lifts the average without eating margin on the median.
Weight-based conditional rate at zero up to a specific weight, then a paid rate above. Protects margin on heavy orders without pulling the no-charge tier off the table entirely.
Move heavy or bulky items into a separate shipping profile so they carry their own weight-based rates and are excluded from any free-shipping promise in the General profile.
Shopify's carrier-calculated rates require either the Shopify Shipping product or a paid Shopify plan that unlocks carrier accounts. A store that wants live parcel rates without either option can lift the rate from our calculator: paste the item description and the ship-from and ship-to ZIPs into the SMKlog calculator, and use the returned figure to set your zone rate for a month, then re-check monthly.
Our Shopify Shipping vs buying labels separately page walks the trade-off between Shopify's built-in rates and buying labels here after the sale.
In the Shopify admin under Settings > Shipping and delivery, inside a shipping profile. General covers your whole catalog; add profiles for specific products with different rules.
Flat rate, price-based conditional, weight-based conditional and carrier-calculated. You can offer several inside one zone and let the customer choose.
Add a price-based conditional rate at zero above your chosen subtotal. Leave the top-tier maximum blank so larger orders still see the rate.
Yes. Create a separate shipping profile and assign the products. That profile's zones and rates override the General profile for those items.
Yes, or a paid Shopify plan that unlocks connected carrier accounts. Otherwise use flat, price-based or weight-based rates, and price a real box in our calculator to set them.