Every Shopify store eventually hits the same wall. You have a shipping rate that should not be offered to everyone: Express on a 30 kg order, store pickup for a customer three countries away, a courier that refuses PO boxes. Shopify's shipping settings decide which rates exist and what they cost, but they give you very few ways to say do not show this rate when…. This guide walks through every option, from the free built-in settings to a rules app, and explains what each one can and cannot do.
What Shopify can hide on its own
Shopify never has a button called "hide shipping method". Instead, a rate disappears when the checkout cannot find one that matches the cart. Three native settings decide that:
- Shipping zones. A rate only shows for addresses inside the zone it belongs to. Leave a country out of a zone and no rate appears for it.
- Conditional pricing on a rate. Each rate can carry a weight range or an order price range. A cart outside the range does not see the rate.
- Shipping profiles. Products assigned to a custom profile get their own zones and rates. Put fragile products in a profile without Express and Express is gone for carts containing them.
Those three settings cover the easy cases. They fall apart as soon as the condition is about the customer, the postcode, the time of day, or a mix of products, which is where most real requests live.

Method 1: Remove the rate from the shipping zone
Open Settings → Shipping and delivery, pick the profile, and edit the zone. Deleting the Express rate from the "Rest of world" zone hides Express for every international address while keeping it for domestic orders. This is the right tool when the rule is purely geographic and country-level.
Limit: zones are made of countries and, for a few countries, states or provinces. You cannot build a zone from postcodes or cities, so "hide Express outside the metro area" is impossible here.
Method 2: Add a weight or price condition to the rate
Edit the rate and open Add conditions. You can set based on item weight or based on order price with a minimum and a maximum. Set Express to 0 to 20 kg and it vanishes for heavier carts. Set a Free shipping rate to a minimum of $75 and it only shows above the threshold.
Limit: one range per rate, weight or price, never both and never combined with anything else. If you want "free over $75 but only for domestic addresses and only for retail customers", you have outgrown this setting.
Method 3: Put products in a custom shipping profile
Profiles let a group of products carry different rates. Merchants use this to hide Express for oversized items or to give a freight-only product its own rate. It works, with one serious side effect: when a cart mixes products from two profiles, Shopify shows the customer two shipping lines and adds the prices together. A $30 cart can suddenly show $14 shipping because two profiles each contributed a rate. We cover the workaround in how to hide shipping rates for specific products.
Method 4: Shopify Scripts (gone) and Shopify Functions
For years, Shopify Plus stores used Shipping Scripts to hide, rename and reorder rates with Ruby code. Scripts were shut down on 28 August 2025. Their replacement is Shopify Functions, specifically the delivery customization function, and it is available on every plan, not only Plus.
A delivery customization runs inside Shopify's checkout on each cart change. It receives the cart, the destination address, the customer and the list of delivery options, and returns operations: hide this option, rename that one, move this one. Because it runs on Shopify's servers, there is no theme code, no network call and no visible delay.
You can write a Function yourself in Rust or JavaScript, deploy it with the Shopify CLI and attach it to the store. That is a developer project with a build pipeline, a review of the input query cost limit and ongoing maintenance when Shopify changes the API. Most stores take the shortcut: an app that ships the Function and gives you a rule editor.
Method 5: A shipping rules app built on Functions
Shipzo is our rules app for this. Each rule is a plain sentence: hide the methods Express when cart weight is at least 20 kg**. The conditions come from a list (cart subtotal, quantity, weight, products, collections, tags, customer tags, login state, country, state, city, postcode ranges, PO boxes, method title, price, type, date, weekday and hours) and the targets are your real rate names picked from the store. The app compiles the rule into a Function configuration and Shopify applies it at checkout.
Setting up a hide rule in Shipzo
- 1Install Shipzo from the Shopify App Store and pick a plan. All plans include a 7-day trial and development stores run free.
- 2On the home page, choose the template Hide Express for heavy carts or click Create rule.
- 3Step 1, action: tick Hide.
- 4Step 2, methods: select Express from your live rate list.
- 5Step 3, conditions: add Total weight is at least 20 kg. Add more conditions with all of or any of logic if needed.
- 6Click Save and activate. Open checkout with a heavy cart. Express is gone, Standard remains.
Which method should you use?
| You want to hide a rate by… | Use |
|---|---|
| Country or region | Shipping zones (free) |
| Cart weight only, or order price only | Conditional pricing on the rate (free) |
| Products, but every order is single-category | A custom shipping profile (free, watch for double charges) |
| Mixed carts, customer tags, postcodes, PO boxes, time of day, or any combination | A Shopify Functions rules app such as Shipzo |
| Something no app offers yet | A custom delivery customization Function (developer) |



