< Back to all blog posts

Beyond Basic: Layering Shopify Shipping Rules for Ultimate Control

Combine Product, Price, Weight, Tag, and Zip Code Conditions with Better Shipping

Diagram showing complex conditional shipping logic combining price, weight, product tags, and zip codes
Peter is the author and developer of the Better Shipping app for ShopifyBy Peter
04/12/2025

Unlock truly custom Shopify shipping logic by layering multiple conditions. Learn how to combine price thresholds, product tags, weight limits, and zip code restrictions using Better Shipping's rule engine for precise control.

Your Shopify store isn't simple, so why should your shipping rules be? While basic price or weight tiers work for some, many businesses need more nuanced control. What if you want to offer free shipping over $100, but only for customers in certain states, and exclude heavy items? Or maybe you need to add a surcharge for fragile products, but only if the order also requires express shipping?

Trying to manage these scenarios with Shopify's default settings or basic apps quickly becomes impossible. This is where layering multiple conditions using a powerful rule engine, like the one in Better Shipping, becomes essential.

Understanding the Building Blocks

Better Shipping allows you to create sophisticated logic because its rules aren't limited to a single factor. You can build conditions based on various aspects of the order and customer:

  • Order Price: Trigger rules based on the total cart value (e.g., '$0 - $49.99', '$50+').
  • Order Weight: Use the total weight of items in the cart.
  • Cart Contents (Includes/Doesn't Include): Check for the presence or absence of specific Products, Variants, Product Types, Vendors, or Tags.
  • Text Match: Match text patterns in customer details (Name, Address Lines, City, State, Country Code) or product details (Title, SKU).
  • Zip/Postal Code Restrictions: While set at the rate level, rules within that rate can further refine logic based on cart contents or price/weight for allowed zip codes.
  • All Orders: A catch-all trigger for setting base rates or default actions.

The Power of the Rule Queue: Layering Logic

The real magic happens with the Rule Queue. Each shipping rate in Better Shipping can have multiple rules, and they are processed in a specific order, from the lowest queue number (1) to the highest.

  • Sequential Processing: The app checks Rule 1. If triggered, it applies the effect. Then it checks Rule 2. If triggered, Rule 2's effect might replace or modify Rule 1's result.
  • Overwriting vs. Modifying: By default, most rules using "Replace total shipping price" will overwrite the previous calculation. However, rules using "Add/Subtract amount" modify the current calculated price.
  • Disabling/Re-enabling: A rule can disable a rate entirely, but a later rule in the queue can potentially re-enable it and set a price.

This sequential processing allows you to build complex decision trees for your shipping rates.

Example Scenarios: Combining Conditions

Let's see how to combine these building blocks:

Scenario 1: Free Shipping Over $100, Excludes Heavy Items, Specific States Only

  • Goal: Offer Free Shipping over $100, but not for items tagged 'Heavy', and only for customers in CA, OR, WA.
  • Setup within a specific Rate (e.g., "Standard Ground"):
    1. Rate Level: Use Zip/Postal Code restrictions to include only zip code prefixes covering CA, OR, WA (e.g., '90, 91, 92, 93, 94, 95, 960, 961, 97, 98, 990, 991, 992, 993, 994').
    2. Rule Queue 1 (Base Rate): Trigger: 'All Orders'. Effect: 'Replace total shipping price' with $10.00 (Your standard rate).
    3. Rule Queue 2 (Heavy Item Check): Trigger: 'Order includes products with tag' = 'Heavy'. Effect: 'Replace total shipping price' with $25.00 (Your heavy item flat rate). This rule ensures heavy items always get the higher rate, regardless of order value.
    4. Rule Queue 3 (Free Shipping Check): Trigger: 'Order price is $100 or more'. Effect: 'Replace total shipping price' with $0.00.
  • How it Works:
    • If outside CA/OR/WA zips, the rate doesn't show.
    • If inside the zips: Rule 1 sets base rate ($10). If a 'Heavy' item is present, Rule 2 overrides to $25. If no heavy item is present AND the order is >=$100, Rule 3 overrides to $0. If a heavy item IS present, Rule 2 already set it to $25, and Rule 3 (checking price) doesn't override the specific product tag rule placed earlier in the queue (assuming you want heavy items to always cost $25).
    • (Alternative if heavy items can get free shipping over $100: Put the Free Shipping rule before the Heavy Item rule). The order matters!

Scenario 2: Conditional Surcharge for Fragile Items based on Weight

  • Goal: Add a $5 handling surcharge if the cart contains items tagged 'Fragile' AND the total order weight is over 5 lbs.
  • Setup within a specific Rate:
    1. Rule Queue 1 (Base Rate): Set your base shipping cost (e.g., using price tiers or a flat rate).
    2. Rule Queue 2 (Fragile Surcharge): Trigger 1: 'Order includes products with tag' = 'Fragile'. Trigger 2 (AND condition, if supported/needed, often handled by sequence): 'Order weight is 5 lbs or more'. Effect: 'Add/Subtract amount' = Add $5.00.
  • How it Works: The base rate is calculated first. Then, only if the conditions of Rule 2 are met (fragile item present AND weight threshold met), the $5 surcharge is added to the previously calculated base rate.

Scenario 3: Different Express Rate Based on Product Type

  • Goal: Offer "Express Shipping". Base cost is $15. If the cart contains only items of type 'Apparel', reduce the cost to $10.
  • Setup within an "Express Shipping" Rate:
    1. Rule Queue 1 (Base Express Rate): Trigger: 'All Orders'. Effect: 'Replace total shipping price' with $15.00.
    2. Rule Queue 2 (Apparel Discount): Trigger: 'Order includes ONLY products of type' = 'Apparel'. Effect: 'Replace total shipping price' with $10.00.
  • How it Works: All orders initially get the $15 Express rate. If the cart only contains Apparel, Rule 2 overrides the price to $10. If the cart contains Apparel plus other types, Rule 2's 'Only' condition isn't met, and the rate remains $15.

Multi-Location Considerations

Implementing complex, layered rules like these heavily relies on the app seeing the entire cart accurately. If you use multiple inventory locations:

  • Default Shopify: These rules will likely fail or produce inaccurate results due to the split-cart problem described here.
  • Better Shipping Unified Cart Calculation (Beta): If you have our beta feature enabled, these layered rules will work correctly, as they evaluate against the total price, total weight, and complete list of products/tags from the unified cart data.

Unlock Precision Shipping

Stop settling for shipping rules that almost fit your business needs. By understanding how to layer conditions using Better Shipping's rule triggers and the rule queue, you can create highly specific, automated shipping logic that:

  • Protects your margins on complex orders.
  • Offers competitive rates tailored to specific products or customers.
  • Reduces cart abandonment caused by inaccurate or confusing shipping costs.
  • Automates surcharges or discounts based on precise criteria.

Ready to build smarter, more profitable shipping rules? Install Better Shipping and start experimenting with layered conditions today.


Peter is the author and developer of the Better Shipping app for ShopifyBy Peter
04/12/2025