WYRONTechnologies

Hide shipping rates for specific products in Shopify

Hide Express or any shipping rate when a Shopify cart contains certain products, collections or tags, without shipping profiles splitting the order into two charges.

By Wyron Technologies7 min read

Shopify cart with a fragile product where Express shipping is hidden and Standard shipping remains

Some products should never go Express. Glass, plants, furniture, lithium batteries, anything over the courier's size limit. Shopify's answer is shipping profiles, and for a store that sells only one kind of product that is fine. For everyone else, profiles create a problem that costs sales: double shipping charges on mixed carts. Here is how profiles behave, when they are enough, and how to hide a rate for specific products without that side effect.

The shipping profile approach

Go to Settings → Shipping and delivery → Create new profile, add the products that should not ship Express, and give the profile its own zones and rates, leaving Express out. From then on, a cart with one of those products will not be offered Express.

The catch appears the moment a customer adds a product from the general profile and one from the custom profile. Shopify treats them as two shipments. The checkout shows one combined rate per combination ("Standard: $6 + $8"), and the customer pays the sum of both rates. Merchants discover this through abandoned-cart emails that say "shipping was too expensive".

Diagram showing how two Shopify shipping profiles in one cart add their rates together into one higher charge
Two profiles in one cart: Shopify adds the rates. A rule on a single profile does not.

Hide a rate for specific products with a rule

A delivery customization built on Shopify Functions can look at the cart lines and remove a rate when a matching product is present, while every product stays in the same profile. With Shipzo the rule reads:

  • Hide the methods Express when cart contains any product in collection "Fragile".
  • Hide the methods Express, Next day when any product has tag "oversized".
  • Hide the methods Standard when cart contains product "Live plant bundle" (so only the courier that accepts plants remains).

Products, collections and tags are picked from your catalogue, so there is no code and nothing to keep in sync. The rule runs on every cart, mixed or not, and the customer always sees one shipping line.

Step by step

  1. 1Install Shipzo and open Rules → Create rule.
  2. 2Action: Hide. Methods: pick Express from the list of your live rates.
  3. 3Conditions: Products → Collection → is any of → Fragile. For a product list use Product → in list, for tags use Product tag → contains.
  4. 4Optional: add Country is United States or Cart subtotal is less than 200 to narrow the rule further.
  5. 5Click Save and activate, then open checkout with a fragile product in the cart to confirm Express is gone.
  • Hide every rate except freight for a collection of large items, so a sofa is never quoted at parcel prices.
  • Hide Standard when a cart holds a perishable product, leaving only the chilled courier.
  • Hide Express when total weight is at least 20 kg, which catches heavy carts even when no single product is heavy. See how to hide shipping methods in Shopify for the weight version.
  • Rename Express to "Express (fragile items excluded)" instead of hiding it, when you prefer to explain. See renaming shipping rates.

What about variants and quantities?

Conditions can use quantity as well as presence: hide Express when quantity of products in collection "Cases of wine" is at least 3. If weight is the real constraint, give the products a weight in Shopify and use the weight condition, which handles any mix of products in one rule.

Frequently asked questions

Why does Shopify charge shipping twice when I use a custom shipping profile?+

Each profile produces its own rate for the products in it. A cart with products from two profiles gets both rates, and Shopify shows the total to the customer. A rule-based hide keeps all products in one profile and avoids the second charge.

Can I hide a shipping rate for one product only?+

Yes. In Shipzo, use the condition Product is any of and pick the product. The rate is hidden whenever that product is in the cart.

Can I hide shipping rates by product tag or collection?+

Yes. Collection, product tag, product and quantity-in-collection are all available as conditions on every Shipzo plan.

Does hiding a rate by product work for Shop Pay and draft orders?+

Yes. Delivery customizations run inside Shopify's checkout, so Shop Pay, accelerated checkouts and draft order invoices all see the same rates.