
Properly setting up shipping rates in WooCommerce is essential for providing a smooth shopping experience, reduce cart abandonment, building trust with your customers, and offering clear, contextual messaging. A poor setup can lead to unexpected costs, checkouts with no shipping methods available, and a negative impression of your store. This guide will help you establish fair, progressive, and informative rates tailored to the specific needs of your business.
Table of Contents
- 1 Properly Defining Shipping Zones
- 2 Native WooCommerce Shipping Methods
- 3 Multiple Methods + Conditional Shipping Methods
- 4 Weight-Based Shipping Rates
- 5 Quantity-Based Shipping Rates
- 6 Volumetric Weight-Based Shipping
- 7 Rates Based on Size, Volume, or Price
- 8 Standard Box-Based Rates
- 9 User Role-Based Shipping Rates
- 10 Skipping WooCommerce Shipping Zones
- 11 Rates Based on Custom Fields
- 12 Hiding Other Shipping Methods
- 13 Showing Custom Messages
- 14 Try It or Buy It
- 15 FAQ list
Properly Defining Shipping Zones
Shipping zones are the foundation of any shipping rate configuration in WooCommerce. They determine where your products can be shipped and which shipping methods will be available for each zone.
Think of zones as a series of geographic filters, ranging from very specific to very broad. For example, a common structure might look like this:
- Your city (i.e. Paris)
- Your near zone Country (i.e. North France)
- The rest of your country (i.e. France)
- Neighboring countries, islands excluded (i.e. West Europe)
- Islands of neighboring countries (i.e. UK, Mediterranean islands)
- Your continent (i.e. Europe)
Each customer address is matched to one shipping zone, and only the shipping methods defined in that zone will be offered. So you must define the zones first, then add your desired methods within each one.
👉 Note: The order of the shipping zones matters! If a broader zone is listed before a more specific one, WooCommerce will never assign addresses to the specific zone.
👉 Note: A single customer will never see shipping methods from multiple zones.
For a more detailed explanation, check out our article on How to Configure Zone Shipping in WooCommerce
Native WooCommerce Shipping Methods
WooCommerce offers built-in shipping methods that don’t require third-party plugins and can cover the basic needs of your store:
- Free shipping: You can make this conditional on a minimum order amount, the use of a coupon, or both.
- Flat rate: Set different prices based on product shipping classes.
- Local pickup: Offer one or more pickup locations to your customers.
However, these methods have limitations. You can’t easily make them conditional based on product characteristics like weight or maximum size.
👉 If your needs are more specific, you’ll likely need additional plugins to manage things more efficiently. Keep reading to learn how Advanced Shipping Rates for WooCommerce could be the key to shipping success in your store!
Multiple Methods + Conditional Shipping Methods
An effective strategy is to define multiple shipping methods so you can offer the most appropriate one for each case. The key is making them conditional—so methods that don’t apply to the current cart are not shown.
For example, you can create the following rates:
- Free shipping over $50
- Lightweight: fast and cheap
- Affordable but slow for heavy products
If several methods are available, customers can choose the one that suits them best. Some might be free (like “Free Shipping”), while others have a cost. It’s important that customers always see all available options and their prices.

👉 A shipping method will only be available if at least one rule from its rules table is met.
A more advanced use case allows you to block a shipping method even if one or more rules have been met. To do this, use the special “Abort shipping method” action under certain conditions:

👉 Important: If no method is available, the purchase cannot be completed. Make sure that every shipping zone always has at least one available shipping method.
You can also hide other shipping methods conditionally (including native WooCommerce methods or third-party ones). We will talk about below: Hide other shipping methods.
Weight-Based Shipping Rates
If you want to define shipping rates based on product weight, a basic table-range setting lets you configure ranges. For example:
👉 Manually setting up many weight ranges can be time-consuming and tedious — to simplify this, you can use the range feature, which handles dynamic weight ranges efficiently and automates the entire setup: Shipping Rates by Weight Chart in WooCommerce

Quantity-Based Shipping Rates
Just like with weight-based rates, you can set rates depending on the number of items added to the cart. This gives you more control over shipping costs based on quantity rather than weight.
If you’re interested in this option, you can also use ranges, allowing you to group quantity brackets into a flexible rate system: Shipping cost per product quantity range

Volumetric Weight-Based Shipping
Volumetric weight is a metric used to calculate shipping costs based on volume (using a DIM factor), rather than actual weight.
👉 The higher of the two—volumetric weight or real weight—is used to determine the cost.
For more details on how this works, and to use our handy unit converter, check out our full guide: Volumetric weight rates: shipping calculator for WooCommerce
Rates Based on Size, Volume, or Price
In addition to weight, Advanced Shipping Rates for WooCommerce lets you define shipping rates based on other factors such as product dimensions, volume, or even the total cart value. This is especially helpful if you sell products of varying sizes or with special features.
As with weight and quantity, you can use ranges here too to automate calculations and create more dynamic rates.
Standard Box-Based Rates
If you want to automatically optimize how products fit into your shipping boxes, we offer an algorithm that packs items in the most space-efficient way—saving you shipping costs.
👉 You can set rates based on standard shipping boxes and let Advanced Shipping Rates for WooCommerce handle the rest.
Learn how to configure it in our article on Shipping boxes flat rate

User Role-Based Shipping Rates
Another useful feature is the ability to set different shipping rates based on user roles (e.g., registered customer vs guest, vendor, club member, etc.). This allows you to offer special rates or discounts to specific customer groups.
To learn how to set this up, check out our article on Shipping rates by user roles in WooCommerce

Skipping WooCommerce Shipping Zones
Sometimes it’s more practical not to create separate zones for each location. For example, if you have a special shipping method for your city but multiple methods for the whole country, you can avoid duplicating this shipping methods across the two zones.
Instead, manage this exception with specific zip codes within a broader geographic zone within your city-specific method.
👉 This flexibility helps reduce the number of zones you need to define.
Check out our guide: Shipping rates by ZIP/Postcode on WooCommerce without extra Shipping Zones
Rates Based on Custom Fields
If your products have additional options that affect weight, size, volume, or price—like tiles sold per square meter, cut-to-size products, custom saunas or whatever—you can set specific shipping rates based on custom fields.
If you’re using Studio Wombat’s Advanced Product Fields or WooCommerce Product Add-Ons Ultimate, read our guides on how to adjust shipping costs based on these fields:
- Shipping Rates with Studio Wombat’s Advanced Product Fields
- Shipping Rates with WooCommerce Product Add-Ons Ultimate
Hiding Other Shipping Methods
You can use Advanced Shipping Rates for WooCommerce to hide certain methods under specific conditions. For example, you can hide simpler native WooCommerce methods or shipping options from official carrier plugins (like UPS or FedEx) based on your own logic.
👉 This lets you get the best of both worlds: live rates from carrier APIs and custom logic where needed.
Learn how to set this up in our article: Hide shipping methods on WooCommerce
Showing Custom Messages
With Advanced Shipping Rates for WooCommerce, you can add custom messages to the cart or checkout page. These messages can improve user experience by making things clearer and more interactive.
For example, you can:
- Show how much more is needed to qualify for free shipping
- Display compatibility alerts between products
To learn how to add these messages, see our guides:
Try It or Buy It
Try it out today and see how it can simplify your WooCommerce shipping rates setup!
If you want to test all these features without installing anything, try our demo. If you’re already convinced, purchase the plugin with confidence—we offer a 15-day money-back guarantee, no questions asked:
FAQ list
If you still have questions or need clarification on any of the topics covered, don’t hesitate to check our FAQ list: You’ll find answers to common questions about setting up Advanced Shipping Rates for WooCommerce and more.
What’s available in the free version vs the pro version?
Check this page for a clear comparison between the two: Free vs pro
Can I combine different calculation methods?
Absolutely. This is one of the most powerful features of Advanced Shipping Rates for WooCommerce. Each rule can have its own conditions and apply them to matching products.
Can I set complex conditions in a rule?
Sure. You can add as many conditions as you need in a rule and combine them using AND or OR operators.
Can I apply handling fees or surcharges?
Yes, under standard rules you can also add special rules that run after the global calculation, allowing you to apply surcharges or discounts.
Can I use this plugin with others?
Absolutely. Advanced Shipping Rates for WooCommerce behaves like any other shipping method plugin and follows WooCommerce’s model—while also letting you interact with other methods (e.g., hiding them conditionally).
Need help or have questions?
If you can’t find the answer you’re looking for, we’ll be happy to assist you personally. Don’t hesitate to contact us here!