Conditional Shipping for WooCommerce


Conditional Shipping for WooCommerce allows you to restrict shipping methods based on conditions. For example, you can disable free shipping for orders weighing over 30 kg or create a special shipping method for large products.

The plugin works with your existing shipping methods and zones. You can restrict flat rate, free shipping, pickup or any other shipping method created with shipping zones.


You have two flat rate shipping methods, Freight and Economy. Orders weighing under 30 kg are shipped with Economy shipping. Orders over 30 kg have to be shipped with Freight.

With Conditional Shipping you can set maximum weight (30 kg) for Economy and minimum weight for Freight (30 kg). The customer sees only the right shipping on the checkout.


Available Conditions

  • Products
  • Total Weight
  • Total Length
  • Total Height
  • Total Width
  • Total Volume
  • Order Subtotal

Pro Features

  • All free features
  • Set shipping costs conditionally. For example, increase shipping cost 20 % for large items.
  • Override shipping method titles conditionally
  • Display shipping notices based on conditions
  • Set custom “no shipping methods available” message based on conditions
  • More conditions
    • Product measurement conditions (for example highest allowed height for a product in the cart is 10 cm)
    • Shipping class conditions
    • Category conditions
    • Coupon conditions
    • Number of items in the cart condition
    • Customer logged in / out condition
    • Customer user role condition

Upgrade to Pro

Support Policy

If you need any help with the plugin, please create a new post on the WordPress plugin support forum. It will be checked regularly but please note that response cannot be guaranteed to all issues. Priority email support is available for the Pro version.

Other Useful Plugins

Make sure to check out other useful plugins from the author.



Conditional Shipping is installed just like any other WordPress plugin.

  1. Download the plugin zip file
  2. Go to Plugins in the WordPress admin panel
  3. Click Add new and Upload plugin
  4. Choose the downloaded zip file and upload it
  5. Activate the plugin

Once the plugin is activated, you can create rulesets at WooCommerce > Settings > Shipping > Conditions. Each ruleset comprises of conditions and actions which are run if conditions pass.

There is a debug mode which is really helpful to see how rulesets are working. You can activate it at WooCommerce > Settings > Shipping > Conditions > Debug mode. Once the mode is activated, you should be able to see Conditional Shipping Debug in the checkout which shows which conditions passed and actions were taken.

If you have dynamic / live shipping rates such as USPS, you will need to use Match by name option for selecting dynamic shipping methods. Please see here for more information.

That should be all. Any questions / issues / bug reports feel free to create a post on support forum.


May 13, 2024
…and the Pro version has exceptional customer support, plus a no-questions-asked 30 day refund.
June 20, 2023
Sorted a clinet problem in moments. Cracking little plugin. Added a shipping method in Woo and disabled normal shipping inside the plugin. Worked a treat. Thanks.
May 8, 2023
I needed to crete 2 different way to delivery, each one with a different cost and each one free over a certain cart total. The plugin has been perfect fo that.
March 26, 2023
Works perfectly, many thanks for your time in creating this useful plugin!
Read all 21 reviews

Contributors & Developers

“Conditional Shipping for WooCommerce” is open source software. The following people have contributed to this plugin.


“Conditional Shipping for WooCommerce” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Conditional Shipping for WooCommerce” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Support for WooCommerce block-based checkout


  • Declared compatibility with WordPress 6.4.x


  • Added multicurrency support for Price Based on Country for WooCommerce


  • Changed plugin text domain to conditional-shipping-for-woocommerce to allow translations
  • Declared WooCommerce 8.x and WordPress 6.3 compatibilities


  • Added Match by name option for selecting shipping methods based on their name
  • Declared compatibility with High-Performance Order Storage (HPOS)
  • Added option for hiding Pro features


  • Rulesets can now be ordered by drag-and-drop. Rulesets are evaluated from top to bottom
  • Improved user interface


  • Fixed bug which crashed the checkout if WooCommerce Multilingual & Multicurrency by WPML was activated but multicurrency functionality was not enabled


  • Improved support for WPML
  • Added All shipping methods selector for controlling all shipping methods without selecting them individually
  • Added support for the following multi-currency plugins: Aelia Currency Switcher for WooCommerce, FOX – Currency Switcher Professional for WooCommerce and WooCommerce Multilingual & Multicurrency (by WPML)
  • Minor bug fixes


  • Minor security fix


  • Fixed Undefined index: price_mode error message


  • Added AND / OR selection for conditions
  • Improved debug mode. It now shows active shipping zone and shipping methods before and after filtering
  • Improved compatibility with other plugins
  • Updated WooCommerce compatibility info


  • Removed “No products in the order” debug message

2.2.1 & 2.2.2

  • Added missing debug and css files


  • Added debug mode (WooCommerce > Settings > Shipping > Conditions > Debug mode)
  • Added “Disable all” setting for disabling all rulesets at once (WooCommerce > Settings > Shipping > Conditions > Disable all)


  • Minor fixes and improvements
  • Updated WooCommerce compatibility info up to 5.2.x


  • Fixed bug with Products condition which prevented it to work with a lot of product variations


  • Added Health Check to catch common issues with rulesets
  • Added AJAX toggle for ruleset state (enabled / disabled)
  • Excluded taxes from the subtotal condition if the store displays subtotal excluding tax (WooCommerce > Settings > Tax > Display prices during cart and checkout). Please note! Ensure rulesets are working correctly after updating if you have subtotal conditions.


  • Fixed missing frontend JS file


  • Improved PHP 7.3 compatibility
  • WooCommerce 4.1.x compatibility check
  • Other minor fixes and improvements


  • Improved product search


  • Added “Subtotal includes coupons” option
  • Added functionality for enabling / disabling rulesets


  • Moved conditions from individual shipping methods to separate settings page (WooCommerce > Settings > Shipping > Conditions). This change will allow more advanced functionality in upcoming versions. Important! Check that conditions are working correctly after updating.


  • Updated WordPress and WooCommerce compatibility info


  • Improved compatibility with 3rd party shipping method plugins


  • Improved admin user interface


  • Fixed compatibility issue with WooCommerce 3.4.x
  • Fixed compatibility issue with WooCommerce Services


  • Improved compatibility with some 3rd party shipping modules where settings were not saving.


  • Improved compatibility with WooCommerce


  • Improved compatibility with multi-site environments.


  • Added compatibility for WooCommerce Distance Rate Shipping plugin.


  • Improved compatibility with 3rd party plugins.


  • Fixed bug which prevented saving the conditions in some cases.


  • Added product variations to the product filters
  • Fixed compability with the WooCommerce USPS plugin


  • Added minimum total volume filter


  • Added product filters (require, exclude, exclusive)


  • Initial version