---
title: Getting Started with Conditional Shipping for WooCommerce
description: Hide WooCommerce shipping methods by order amount, city, role, gateway, product or date. First setup, every condition and Free vs Pro.
url: "https://wpfactory.com/docs/how-to-use-conditional-shipping/"
updated: "2026-09-27"
category: How to
---

# Getting Started with Conditional Shipping for WooCommerce

[Conditional Shipping for WooCommerce: Restrict Shipping Options by Anything](https://wpfactory.com/item/conditional-shipping-for-woocommerce/) hides WooCommerce shipping methods that fail conditions you set, such as order amount, city, user role, payment gateway, product, category or date and time. Configure it at **WPFactory > Conditional Shipping** (also reachable at **WooCommerce > Settings > Conditional Shipping**).

[![Conditional Shipping for WooCommerce](https://wpfactory.com/wp-content/uploads/Conditional-Shipping-for-WooCommerce-1024x333.webp)](https://wpfactory.com/item/conditional-shipping-for-woocommerce/)

## What it does

For each condition you enable, you enter a value against each shipping method (Flat rate, Free shipping, Local pickup and so on). At the cart and checkout, Conditional Shipping removes any method whose condition is not met. Methods you leave empty are not affected.

## Install and activate

1. Free: go to **Plugins > Add New**, search for **Conditional Shipping for WooCommerce** by WPFactory, then install and activate it.
2. Pro: download **Conditional Shipping for WooCommerce: Restrict Shipping Options by Anything Pro** from your WPFactory account, upload the ZIP at **Plugins > Add New > Upload Plugin** and activate it. WooCommerce must be active.

![Uploading the Conditional Shipping plugin to WordPress](https://wpfactory.com/wp-content/uploads/WooCommerce-shipping-Step1-1024x724.webp)

For more detail, see [How to install Conditional Shipping](https://wpfactory.com/docs/installation-guide/).

## First setup

1. Go to **WPFactory > Conditional Shipping**. On the General section, confirm **Enable plugin** is ticked (it is on by default).
2. Leave **Logical operator** at **AND** (the default) for now. It only matters once you use more than one condition.
3. Under **Available Conditions**, tick the condition you need, for example **Minimum Order Amount**, and save. Every condition is off by default.
4. Click the condition's link to open its section, for example **Order Amount**. The same **Enable condition** checkbox appears there.
5. Enter a value against each shipping method you want to restrict, for example `50` next to Free shipping, and leave the others empty. Save.
6. Add products to a cart below and above the value to confirm the method hides and shows as expected.

![Enabling Conditional Shipping on the General section](https://wpfactory.com/wp-content/uploads/WooCommerce-shipping-Step3-1024x495.png)

### General options

| Label | What it does | Default | Free/Pro |
| --- | --- | --- | --- |
| Logical operator | AND: every enabled condition must pass. OR: any one passing condition is enough. | AND | Free |
| Add products variations | Adds variations to the product list in Require Products and Exclude Products. | On | Free |
| Require all | All cart products must match, instead of at least one (Require Products, Categories, Tags and Shipping Classes only). | Off | Free |
| Cart instead of package | Checks the whole cart instead of the current shipping package for order amount and product-based conditions. | Off | Free |
| Checkout notice | Shown if the chosen method becomes unavailable during checkout. Supports `%shipping_method%`. | `%shipping_method% is not available.` | Free |
| Use shipping instances | Set conditions per shipping method instance, for example a different Flat rate rule in each zone. | Off | Pro |
| Debug | Writes a log to WooCommerce > Status > Logs. Covers only the Cities and Date/Time conditions. | Off | Free |

![Choosing the AND or OR logical operator](https://wpfactory.com/wp-content/uploads/WooCommerce-shipping-Step32-1024x495.png)
 ![Debug and shipping instance options on the General section](https://wpfactory.com/wp-content/uploads/WooCommerce-shipping-Step33-1024x495.png)

More on these options: [Conditional Shipping options and general settings](https://wpfactory.com/docs/conditions-shipping-options/), [AND vs OR](https://wpfactory.com/docs/conditional-shipping-and-or-logical-operator/) and [debug logging](https://wpfactory.com/docs/conditional-shipping-debug-logging/).

## Main features

Every condition has a Require and an Exclude version, and each has its own section. All conditions are free.

### Order Amount

**Minimum Order Amount** hides a method when the cart total is below the value you enter, and **Maximum Order Amount** hides it when the total is above. See [minimum and maximum order amount shipping rules](https://wpfactory.com/docs/optimized-order-amount/).

![Order Amount condition settings](https://wpfactory.com/wp-content/uploads/WooCommerce-shipping-Step4-1024x495.png)

### Cities

Enter city names one per line to allow a method only for those cities (**Require Cities**) or to hide it for them (**Exclude Cities**). Matching ignores letter case. See [require cities](https://wpfactory.com/docs/requiring-cities-in-shipping/) and [exclude cities](https://wpfactory.com/docs/excluding-cities-shipping/).

![Require Cities condition settings](https://wpfactory.com/wp-content/uploads/WooCommerce-shipping-Step5-1024x495.png)
 ![Exclude Cities condition settings](https://wpfactory.com/wp-content/uploads/WooCommerce-shipping-Step52-1024x495.png)

### User Roles and Users

Allow or exclude a method by user role (a Guest role covers logged-out visitors, and only the customer's first role is checked) or by user ID. See [shipping rules by user role](https://wpfactory.com/docs/tailored-user-role-shipping/) and [shipping rules by user ID](https://wpfactory.com/docs/conditional-user-id-shipping/).

![User Roles condition settings](https://wpfactory.com/wp-content/uploads/WooCommerce-shipping-Step6-1024x495.png)
 ![Users condition settings](https://wpfactory.com/wp-content/uploads/WooCommerce-shipping-Step7-1024x495.png)

### User Memberships

Allow or exclude a method by membership plan. This condition works with the WooCommerce Memberships plugin. See [membership-based shipping methods](https://wpfactory.com/docs/targeted-shipping-unlock/).

### Payment Gateways

Show a method only with certain payment methods, or hide it for them. These rules are most reliable on the checkout page, where the selected gateway is known. See [conditional shipping with payment gateways](https://wpfactory.com/docs/conditional-shipping-gateways/) and [excluding payment gateways](https://wpfactory.com/docs/payment-gateway-exclusion/).

![Payment Gateways condition settings](https://wpfactory.com/wp-content/uploads/WooCommerce-shipping-Step8-1024x495.png)

### Products, Categories, Tags and Shipping Classes

Require or exclude specific products (and variations, when Add products variations is on), whole categories, tags or shipping classes, including a **No shipping class** option. See the guides for [products](https://wpfactory.com/docs/conditional-product-shipping/), [categories](https://wpfactory.com/docs/conditional-category-shipping/), [tags](https://wpfactory.com/docs/conditional-product-tags/) and [shipping classes](https://wpfactory.com/docs/conditional-product-classes/).

![Products condition settings](https://wpfactory.com/wp-content/uploads/WooCommerce-shipping-Step9-1024x495.png)
 ![Product Categories condition settings](https://wpfactory.com/wp-content/uploads/WooCommerce-shipping-Step10-1024x495.png)
 ![Product Tags condition settings](https://wpfactory.com/wp-content/uploads/WooCommerce-shipping-Step11-1024x495.png)
 ![Product Shipping Classes condition settings](https://wpfactory.com/wp-content/uploads/WooCommerce-shipping-Step12-1024x495.png)

### Date/Time

Enable or hide a method during set hours, days or months. A range is written as `from-to` with a single hyphen between the two sides, and multiple ranges are separated with a semicolon, for example `00:00:00-14:59:59` for before 3 PM daily. See [conditional shipping by date and time](https://wpfactory.com/docs/date-time-conditional-shipping/).

![Date/Time condition settings](https://wpfactory.com/wp-content/uploads/WooCommerce-shipping-Step13-1024x495.png)

### Cart and checkout notices

Each condition section has an **Additional notice** option that shows a message on the cart and checkout pages when a method is hidden. See [cart and checkout notices for hidden shipping methods](https://wpfactory.com/docs/conditional-shipping-cart-checkout-notices/).

### Per-instance conditions (Pro)

With **Use shipping instances** on, each shipping method instance in each zone gets its own value field. See [set shipping conditions per shipping method instance](https://wpfactory.com/docs/conditional-shipping-per-shipping-instance/).

## Free vs Pro

| Feature | Free | Pro |
| --- | --- | --- |
| All conditions (order amount, cities, user roles, users, memberships, payment gateways, products, categories, tags, shipping classes, date/time) | Yes | Yes |
| General options, notices and debug log | Yes | Yes |
| Use shipping instances (conditions per method instance and zone) | No | Yes |

## FAQ

### I entered a value but the method still shows. Why?

The condition is probably not enabled. Tick it under **Available Conditions** on the General section, or tick **Enable condition** in its own section, and save. See [shipping conditions ignored at checkout](https://wpfactory.com/docs/shipping-conditions-ignored/).

### How do I enter several cities?

One city per line. Commas are not treated as separators.

### What happens when I use two conditions on the same method?

With **Logical operator** set to AND, the method shows only when both pass. With OR, one passing condition is enough.

### Can I set a different rule for the same method in two zones?

Yes, with the Pro option **Use shipping instances**. In the free version, a rule applies to the method type in every zone.

### Does Debug log every condition?

No. It currently logs only Require and Exclude Cities and Require and Exclude Date/Time.

### Get more control

Every condition is free. [Conditional Shipping for WooCommerce: Restrict Shipping Options by Anything](https://wpfactory.com/item/conditional-shipping-for-woocommerce/) Pro adds the Use shipping instances option, so you can set conditions per shipping method instance inside a specific zone. [Get Conditional Shipping Pro](https://wpfactory.com/item/conditional-shipping-for-woocommerce/).

Need a hand? Our team answers every ticket on the [Conditional Shipping support forum](https://wpfactory.com/support/item/conditional-shipping-for-woocommerce/).

Related articles

- [Exploring Conditional Shipping Conditions](https://wpfactory.com/docs/conditional-shipping-conditions/)
- [Conditional Shipping: Developer Hooks and Filters Reference](https://wpfactory.com/docs/woocommerce-conditional-shipping-hooks-filters/)
- [Reset a Conditional Shipping Settings Section](https://wpfactory.com/docs/reset-conditional-shipping-settings/)
- [Plugin and Theme Conflicts with Conditional Shipping](https://wpfactory.com/docs/plugin-theme-conflicts-conditional-shipping/)
- [Fix Conditional Shipping After Site Migration](https://wpfactory.com/docs/fix-conditional-shipping-after-site-migration/)
