safe Safe & Secure online payment
Grab the Black Friday Deal — Up to 33% OFF. Limited time.

Table of Contents

User documentation: Advance flat rate shipping

Table of Contents

Shipping methods

This section will show all the shipping methods created using this plugin

Shipping Method

This shows the name of the shipping method. This same name will be shown to the customer on the checkout/cart page when this shipping method will be available for selection

Amount

This shows the shipping method charge. The final charge of the shipping method can be different than this as the shipping charge can be changed based on the condition in the Advance Charges.

Enabled

You can disable the shipping method using this. Disabled shipping methods will not be shown to the customer. This allows you to temporarily disable a shipping method without deleting it.

Desc (PRO)

You can give a short description of the shipping method. There is an option in the Extra setting to show this description to the customer below the shipping method name.

Priority (PRO)

This shows the priority of the shipping method, this priority decides the order of the shipping method on the front end and the higher priority method can hide the low priority method.

Actions

This lists common actions like Edit, Delete, and Clone (pro) the shipping method.

Add shipping method

Using this you can add a new shipping method

Shipping method form

Step 1: Basic Settings (Required)

These are the core settings to define and activate your custom shipping method.

🔘 Enable this Shipping Method

Toggle this ON to make the shipping method active and available at checkout.

🏷️ Shipping Method Title (Required)

Enter the label customers will see at checkout (e.g., “Fast Delivery” or “Prime Shipping”).
Supports WPML/Polylang if translations are added below.

💵 Base Shipping Charge (Required)

The initial cost for this shipping method.
You can enter a fixed amount (e.g., 10) or use shortcodes to make it dynamic (e.g., [qty]*5 for quantity-based charge).

You can enter fixed amount or make it dynamic using below parameters:
[qty] ⇒ total number of items in cart

[fee percent="10" min_fee="20"] ⇒ Percentage based fee

Below are some examples:
i. 10.00 ⇒ To add flat 10.00 shipping charge.

ii. 20.00 * [qty] ⇒ To charge 20.00 per quantity in the cart. It will be 100.00 if the cart has 5 quantity.

iii. [fee percent="10" min_fee="20"] ⇒ This means charge 10 percent of cart subtotal, minimum 20 charge will be applicable. If the 10% is 10$ which is less then 20$ so this will apply a 20$ instead of $10

iv. [fee percent="10" max_fee="20"] ⇒ This means charge 10 percent of cart subtotal if the 10% is greater then 20 will be applied.

👉 Tip: Use Step 3 to conditionally modify this amount further.

⚙️ Other Basic Settings (Optional)

Fine-tune how the method behaves.

⬆️ Shipping Method Priority

Determines the order in which methods appear. Higher number = higher priority.
Useful when multiple methods are available.

🌐 Add Name Translation

Supports multilingual sites (e.g., WPML, Polylang). Use this to translate the method title.

⬇️ Minimum Shipping Charge ($)

Sets the minimum allowed cost, even if Step 3 logic calculates something lower.

⬆️ Maximum Shipping Charge ($)

Sets the maximum cap on shipping charge.

📝 Description

This will appear just below the shipping method title at checkout (if enabled in “Extra Settings”). Useful for giving customers more info.

📊 Apply Tax to This Shipping Method

Choose whether this method’s charge is taxable based on your store’s tax settings.

🎟️ Free If Free Shipping Coupon Applied

When enabled, this shipping method becomes FREE if a Free Shipping coupon is used.

💱 Restrict by Currency

Leave blank to apply for all currencies, or enter specific ones (e.g., USD, EUR) to restrict availability.

Step 2: Set Availability Conditions (Required)

Purpose: Control when this shipping method appears at checkout using flexible conditions.

Includes:

  • Conditions based on location, cart contents, user role, delivery time, product attributes, etc.
  • Logical operators (equals, not equals, in list, etc.) for each condition
  • All / One of the conditions must be satisfied for the method to be shown

Why it matters: This is the core logic layer that decides whether the method should be visible or not.

The simplest condition that will trigger shipping method all the time

You can add multiple conditions using the “Add Condition” button. You have the option to decide if you want the shipping method to show up when All the added conditions should match or If Any one of the conditions matches. Let’s understand this by an example.

Example:

All the below rules should match

All the below rules should match

This shipping method will be shown when the user Adds 10 units or more of the product to the cart AND select the United States as a country for delivery.

Any one of the below rule should match

Any one of the below rules should match

This shipping method will be shown when the user Adds 10 units or more to the cart OR If he selects the United States as a country for delivery. So this can trigger even when any of the two conditions is satisfied.

Step 3: Adjust Shipping Charge (Optional)

Purpose: Modify the base shipping charge based on cart-specific factors.

Includes:

  • Charge increments by weight, quantity, subtotal, product type, etc.
  • Tiered pricing support (e.g., $5 for 0–1kg, $10 for 1–3kg)

Why it matters: Enables dynamic, rule-based cost calculation instead of static pricing.

You can adjust the final shipping charge of this shipping method using these extra conditions, just like you do use shipping classes but in a much-advanced way with many conditions.

Let’s see one example of an Additional charge based on Cart Quantity

Say you have set the charges as shown below

Bas shipping charge

If the user has added 1 unit of product in the cart then the shipping charge will be 1$

If the user has added 2 units of product in the cart then the shipping charge will be 1 + 1 = 2$

If the user has added 12 units of product to the cart then the shipping charge will be 1 + 2 = 3$

If the user has added 25 or more units of product to the cart then the shipping charge will be 1 + 3 = 4$

Step 4: Other Settings (Optional)

Purpose: Add advanced behaviors like method visibility control and shipping class logic.

Includes:

  • Hide other shipping methods based on this method’s presence
  • Add extra shipping costs for specific shipping classes
  • Fine-grained control over when this method coexists

Why it matters: Allows you to fine-tune interactions between shipping methods for a seamless checkout experience.

What happen to other shipping methods (PRO)

When this shipping method is active then what will happen to other shipping methods. Below are the options describing, what will happen to other shipping methods when this shipping method is active.

Hide all other methods: This will hide all other methods when this method is active.

Hide all other methods (excluding WC Local Pickup method): This will hide all other methods leaving out WooCommerce local pickup shipping method and this method for selection.

Hide all methods except the one added by this plugin: This will hide all the shipping methods added by this plugin. If you have any WooCommerce shipping method then that will not be removed.

Hide all methods except the one added by this plugin and WC Local pickup: This will hide all other shipping methods leaving WooCommerce Local pickup shipping method and other shipping methods added by our plugin.

Hide all plugin methods with lower priority: This will hide all the plugin shipping methods that are of a lower priority than this shipping method.

Shipping classes

These costs can optionally be added to the main shipping charge based on the product shipping class.

Per class: Charge shipping for each shipping class individually: The shipping charge of each of the shipping classes whose products are present in the cart will be added to the main shipping charge.

Per order: Charge shipping for the most expensive shipping class: Whick ever shipping class has the largest shipping charge will be added to the main shipping charge.

Let’s understand it by example:

Say you have set the charges as shown below

Bas shipping charge

And Shipping classes charge as shown below

Per class: Charge shipping for each shipping class individually

If all the products in the user cart do not belong to any shipping class then the shipping charge will be 1$

If the user has 1 product of shipping class bulk then the shipping charge will be 1+1 = 2$

If the user has 1 product of bulk and 1 product of Test eng class in his cart then the shipping charge will be 1+1+2 = 4$


Per order: Charge shipping for the most expensive shipping class

If all the products in the user cart do not belong to any shipping class then the shipping charge will be 1$

If the user has 1 product of shipping class bulk then the shipping charge will be 1+1 = 2$

If the user has 1 product of bulk and 1 product of Test eng class in his cart then the shipping charge will be 1+2 = 3$ (it will use 2$ shipping charge of Test eng class only as it is greater than bulk shipping class charge)

Combine multiple shipping method in to single shipping method

Say your have shipping method A and B on the checkout page each shipping method costing 2 and 3 $ respectively and you want to combine them and show them as single shipping method then you can do that using our plugin so it will show combined shipping method as D whose shipping cost will be 5$ and if you want you can hide the method A and B when this combined method is been shown

What is a Virtual Category?

A Virtual Category allows you to group products dynamically based on rules and conditions, without altering the actual product categories in WooCommerce.
These are useful for conditional shipping rules, discounts, or any logic where grouping similar products is needed without manually maintaining lists.

How to Create a Virtual Category

Step 1: Choose Product Scope

Here, you decide the base rule for product selection:

  • All Products:
    Start with all products included, then exclude specific ones using Step 3.
  • Selected Products:
    Start with an empty category and include products based on conditions in Step 2.

Step 2: Add Products to This Virtual Category

Use conditions to include products. You can define:

  • When to include product
    Choose between:
    • Include when ANY condition matches (logical OR)
    • Include when ALL conditions match (logical AND)
  • Available filters to include products:
    • Product Categories
    • Specific Products
    • Tags
    • Stock status
    • Shipping class
    • Downloadable status
    • Product Subtotal
    • Product Dimensions (L×W×H)
    • Product Volume
    • Product Attributes

🛠️ You can mix multiple conditions as per your logic.
For example: Include all products in “Accessories” category AND stock status “In Stock”.

Step 3: Exclude Products from This Category

This step allows refinement by excluding products from the virtual category, even if they matched Step 2.

You can define exclusion by:

  • Product Categories
  • Specific Products
  • Tags
  • Stock status
  • Shipping class
  • Downloadable status
  • Product Subtotal
  • Product Dimensions
  • Product Volume
  • Product Attributes

💡 Exclusion rules help you avoid unwanted overlaps or conflicts with other logic.

💾 Final Step: Save Your Category

Click “Save Category” to store the virtual category.
You can now use this virtual category in shipping rules, order split logic, or condition matching elsewhere in the plugin.

Split Order

Splitting an order into packages means dividing the products in a single order into separate logical groups (packages) based on conditions like product type, quantity, virtual category, or other rules. Each package can then have its own shipping methods, rates, or handling rules applied independently.

Step 1: Basic Settings (Required)

Configure the general details of your shipping package.

  • Status
    Enable or disable this package.
  • Package Priority
    Set the execution priority. Higher numbers run earlier when multiple packages are matched.
  • Package Name
    Enter a recognizable name for this package.
  • Description
    (Optional) Add an internal note or purpose for this package.

Step 2: Virtual Category Targeting (Required)

Define which products should be included in this package using virtual categories.

  • Select Virtual Category
    Choose a predefined virtual category. Products in this category will be used for this package.

Step 3: Conditions (Optional)

Apply conditions that must be met for this package to activate.

  • When virtual category products total
    Select a condition (e.g., greater than, less than) and value for the cart total of products in the selected virtual category.
    • Example:
    • Condition: Greater than
    • Value: 100
    • Meaning: This package will apply only if the cart total (₹) of products in the selected virtual category (e.g., Accessories) is more than ₹100.
  • When virtual category products quantity
    Set a quantity-based condition for how many items from the virtual category must be in the cart.
    • Example:
    • Condition: Greater than or equal to
    • Value: 3
    • Meaning: This package will apply only if there are 3 or more items from the selected virtual category (Accessories) in the cart.

Step 4: Shipping Method Control (Optional)

Restrict specific shipping methods when this package is active.

  • Shipping methods to hide in this package
    Enter method IDs to hide (e.g., flat_rate:3, local_pickup:6).
  • Remove shipping methods by type
    Choose which types of shipping methods should be disabled when this package is active.
    • Only allow shipping method of this plugin
      → Disables all shipping methods except those created by this plugin.
    • Only allow shipping method of this plugin and WooCommerce Local Pickup
      → Disables all shipping methods except this plugin’s methods and WooCommerce Local Pickup.
    • Remove all WooCommerce core shipping methods
      → Disables Flat Rate, Free Shipping, and Local Pickup from WooCommerce core.
    • Remove all WooCommerce core shipping methods excluding Local Pickup
      → Disables WooCommerce’s Flat Rate and Free Shipping but keeps Local Pickup.
    • Remove all 3rd-party shipping methods
      → Disables shipping methods added by other plugins or custom code (not WooCommerce or this plugin).

Additional charges

Using additional charges you can add to subtract charge from the shipping charge based on different conditions

This are the different conditions available:

Based on cart quantity

This allows you to add/reduce charges to the shipping method charge based on the quantity of items present in the user cart. This section allows you to use shortcode [qty] that will get replaced with the number of items present in the user cart.

Based on cart weight

This allows you to add/reduce extra charges to the shipping method charge based on the total weight of items present in the user cart. This section allows you to use shortcode [weight] that will get replaced with the weight present in the cart.

Based on cart subtotal

This allows you to add/reduce extra charges to the shipping method charge based on the subtotal of the cart. This section allows you to use shortcode [subtotal] that will get replaced with the subtotal.

Using this you can charge lower shipping charge to the customer if there subtotal is high

Based on product quantity

This allows you to add/reduce extra charges to the shipping method charge based on the quantity of the product in the cart. This section allows you to use shortcode [qty] that will get replaced with the quanity of the specific product present in the cart.

In the above screenshot it is set as “Smallest of the Matched charges” now in the screenshot you have 4 rules,

Customer has added 10 unit of Pizza Test in the cart so the first rule will result in to charge of 4 * 10 = 40

And suppose he also has 5 unit of Christmas product in cart so the last rule will also match and it will result in to the cost of 1 * 5 = 5

since we have set it to apply only the “Smallest of the matched charges” it will add extra charge as 5 to the main shipping charge

so final shipping charge will be X + 5 (assuming X was the main shipping charge)

Based on Category Quantity

This section allows you to use shortcode [qty] that will get replaced with the quantity of the product present in the cart from the category.

Based on Shipping Class Quantity

This section allows you to use shortcode [qty] that will get replaced with the quantity of the product present in the cart from the specific shippign class.

Based on Product Weight

This section allows you to use shortcode [weight] that will get replaced with the weight of the specific product present in the cart.

Based on Category Weight

This section allows you to use shortcode [weight] that will get replaced with the weight of the product present in the cart from the specifc category.

Based on Shipping Class Weight

This section allows you to use shortcode [weight] that will get replaced with the weight of the product present in the cart from the specific shippign class.

Based on Product Subtotal

This section allows you to use shortcode [subtotal] that will get replaced with the subtotal of the specific product present in the cart.

Based on Category Subtotal

This section allows you to use shortcode [subtotal] that will get replaced with the subtotal of the product present in the cart from the specifc category.

Based on Shipping Class Subtotal

This section allows you to use shortcode [subtotal] that will get replaced with the subtotal of the product present in the cart from the specific shippign class.

Advanced settings

Move the plugin methods to top

You can force all the shipping methods added by this plugin should be shown at the top of the list of the shipping method

Show shipping description

It will show the description added in the shipping method to the customer below the name of the shipping method.

Show zero charge for shipping method

By default, WooCommerce does not show any shipping charge if the shipping charge is 0. If you want to show $0 as a shipping charge next to the Free shipping method then you can do that using this option.

Move to WooCommerce submenu

By default, the setting page of this plugin is shown on the left side of the WordPress menu (in the backend), Using this option you can move it inside the WooCommerce as a sub-menu.

Show System Name of Shipping Method on Checkout Page

When enabled, the system name (ID) of each shipping method will be shown below the method label on the checkout page.

  • Visible only to admin users
  • Customers will not see the system name

✅ Useful for debugging or identifying shipping methods when multiple custom methods are in use.

Give Only One Shipping Method Option to Customer

Use this setting if you want to automatically select a single shipping method for the customer, instead of showing multiple choices at checkout.

📝 Useful for simplifying the checkout experience.

Options:

  • Minimum – Show the shipping method with the lowest cost
  • Maximum – Show the shipping method with the highest cost
  • Minimum (Exclude Local Pickup) – Lowest cost method, excluding Local Pickup
  • Maximum (Exclude Local Pickup) – Highest cost method, excluding Local Pickup

Reveal Attribute System Names (Admin Only)

Enable this to easily identify product attribute names and their selected values.

After enabling:

  • Add a product with attributes to the cart.
  • Go to the Cart page (while logged in as Admin).
  • You’ll see the system name of each attribute and its selected value.

⚠️ Only visible to Admin — customers will not see this info.

Conditions for Shipping

User address matches with Zones

This condition checks if the customer’s shipping address matches any selected WooCommerce shipping zones. It does not use the single zone WooCommerce assigns to the customer; instead, it considers all zones their address could match based on country, state, continent, and postcode.

The plugin retrieves all possible matching zones for the address, then compares them with the zones selected in the rule:

  • Equal to – Passes if at least one zone matches.
  • Not Equal to – Passes if no zones match.

Example: You have two shipping zones in WooCommerce – Germany and Europe. You set the condition to Equal to with Europe selected. If a customer enters a German address, WooCommerce will assign them to the Germany zone. However, because their address also matches the Europe zone, this condition will still be true.

WooCommerce Assigned Zone

The “WooCommerce Assigned Zone” condition targets the shipping zone assigned to the customer’s address. It allows you to create rules for specific zones, such as regions, countries, or custom zones defined in WooCommerce. The logic supports “Equal to” (zone matches any selected) and “Not Equal to” (zone does not match any selected). This is essential for location-based shipping rates.

Example: To offer free shipping for customers in the “Europe” zone, set the condition to “Equal to” and select “Europe” from the zone list. The shipping method will apply only to orders assigned to the Europe shipping zone.

Time-Based Availability

The “Between Time” condition allows you to restrict the availability of a shipping method based on a specific time window. This condition checks whether the current time falls between a defined start and end time. If the current time is within this range, the shipping method will be available; otherwise, it will be hidden. This is useful for scenarios like offering same-day delivery only during business hours or enabling special shipping rates during promotional periods.

Example: Suppose you want to offer express shipping only between 9:00 AM and 5:00 PM. By setting the start time to “09:00 AM” and the end time to “05:00 PM” in the shipping method settings, customers will see the express shipping option only if they shop during those hours.

Cart Subtotal Conditions

These conditions let you create shipping rules based on the cart subtotal, with options to consider discounts, ignore virtual products, or both. You can choose comparison logics such as Equal to, Less than, Greater than, and more.

The following variations are available:

Cart Subtotal (Before Discount)

Calculates the subtotal before any discounts are applied. Useful when shipping rates should depend on the original cart value, ignoring coupon effects.
Example: Free shipping if subtotal before discounts ≥ $100.

Cart Subtotal Before Discount (Exclude Virtual Product Cost)

Same as above, but ignores virtual products like downloads or services. Calculates subtotal only from physical items before discounts.
Example: Free shipping if physical products before discount ≥ $100.

Cart Subtotal (After Discount)

Calculates subtotal after applying discounts (and discount tax if applicable). Useful when shipping rates depend on the final amount to pay.
Example: Free shipping if subtotal after discounts ≥ $100.

Cart Subtotal After Discount (Exclude Virtual Product Cost)

Same as above, but ignores the cost of virtual products. Calculates subtotal only from physical products after discounts.
Example: Free shipping if physical products after discounts ≥ $100.

Has product of category

This condition lets you control WooCommerce shipping methods based on whether the cart contains products from specific product categories. It only considers products directly assigned to the selected category — products in subcategories are not counted.

You can choose from multiple logic options, including Equal to, Not Equal to, Must Not Have All Selected Categories, Only Has This Category, Must Have All Selected Categories, and Exactly This Category.

It’s ideal for advanced shipping rules such as offering free shipping for certain categories, restricting shipping when specific categories are present, or applying special rates for category-only orders.

Example: To offer free shipping if the cart contains any product directly in the Electronics category, select Has Product of Category, choose Electronics, and set the logic to Equal to. The rule will apply if at least one Electronics product (not its subcategory products) is in the cart.

City/Town

This condition lets you apply WooCommerce shipping rules based on the customer’s shipping city or town. It compares the city entered at checkout with the list you specify in the rule.

You can set the logic to:

  • Equal to – Applies if the city matches any in your list.
  • Not Equal to – Applies if the city does not match any in your list.

Ideal for targeting specific locations with custom shipping rates, restrictions, or free shipping offers.

Example: To offer free shipping only in New York and Los Angeles, add these cities to the rule and set the logic to Equal to. Customers from these cities will see the free shipping option; all others will not.

Country/Continent

This condition lets you control WooCommerce shipping methods based on the customer’s shipping country or continent. You can select one or multiple countries and continents, and choose whether the logic is:

  • Equal to – Applies if the country or continent matches any selected value.
  • Not Equal to – Applies if it does not match any selected value.

Ideal for offering region-specific shipping rates, restrictions, or promotions.

Example: To offer free shipping in the United States, Canada, and anywhere in Europe, add these countries and the continent to the rule, then set the logic to Equal to.

Coupon

The Coupon condition lets you control WooCommerce shipping methods based on the coupons applied in the customer’s cart. You can select one or more coupons and set the logic to Equal to (applies if any selected coupon is present) or Not Equal to (applies if none of the selected coupons are present). This is useful for creating targeted shipping rules that reward customers for using specific coupons or for restricting shipping options when certain coupons are applied.

Example: To offer free shipping only when the customer uses the “SUMMER2025” or “WELCOME10” coupon, select these coupons in the condition values and set the logic to Equal to. The shipping method will be available only if the customer has applied one of these coupons at checkout.

Custom Product Attribute (Number)

The Custom Product Attribute (Number) condition allows you to apply WooCommerce shipping rules based on a custom numerical product attribute. It checks if the attribute exists in any product in the cart and compares its value against a specified number using operators such as Equal to, Less than, Greater than, and more. This is useful when shipping rates depend on specific numeric attributes like production time, warranty period, or any other custom numerical value you define for your products.

Example: Suppose you have a custom product attribute named “production_days” and want to apply express shipping only for products that can be produced in 3 days or less. Set the attribute name to “production_days,” choose the logic Less than or Equal to, and enter the value 3. The shipping method will apply only if the cart contains products with a production time of 3 days or less.

Custom Product Attribute (Text)

The Custom Product Attribute (Text) condition allows you to set WooCommerce shipping rules based on text-based custom product attributes. It targets products in the cart that match specific attribute names and values, such as color, material, brand, or any other custom text attribute you define. You can configure it to check if an attribute exists, matches, or does not match a specified value. This enables precise shipping logic, such as offering special rates or restrictions for products with certain characteristics.

Example: Suppose you sell mugs with a custom attribute called “material” and want to offer fragile-item shipping only if the material is “ceramic”. Set the condition name to “material”, the value to “ceramic”, and the logic to Equal to (=). The rule will apply only if the cart contains at least one product with the “material” attribute set to “ceramic”.

Day of the Week

The Day of the Week condition lets you create WooCommerce shipping rules based on the current day. It checks the purchase date and compares it with your selected days, allowing you to enable or disable shipping methods accordingly. You can use “Equal to” or “Not Equal to” logic, making it ideal for weekend promotions, weekday discounts, or holiday-specific shipping options.

Example: Suppose you want to offer free shipping only on Fridays and Saturdays. Set the condition to “Day of the Week”, select “Friday” and “Saturday”, and choose the logic Equal to (=). The rule will apply free shipping on those days, while other days will use your regular shipping rates.

Order Date

This condition lets you control shipping method visibility based on the order placement date. Enter one or more dates in YYYY/MM/DD format, separated by commas. This condition is especially useful for handling national holidays, company holidays, or non-working days.

  • Equal to: Matches if the order date equals any of the dates in the list.
    Example: 2025/09/20, 2025/09/21 — Shipping available only if the order is placed on either of those dates.
  • Not equal to: Matches if the order date does not equal any of the dates in the list.
    Example: 2025/12/25 — Shipping unavailable only on December 25, 2025.
  • You don’t want to offer “Same Day Delivery” on public holidays like Christmas (2025/12/25) or New Year’s Day (2026/01/01). Simply add these dates under the “Not equal to” operator, and the shipping method will automatically be hidden on those dates.

First Order

The First Order condition allows you to create WooCommerce shipping rules for customers placing their very first order. It checks the customer’s purchase history—via user ID for registered accounts or billing email for guest checkouts—and looks for any past orders with selected statuses (e.g., Completed, Processing). If no matching orders are found, the condition is true, letting you offer exclusive rates or promotions to first-time buyers. This is ideal for welcome offers or incentives to convert new visitors into customers.

Example: Suppose you want to give free shipping to first-time customers. Set the condition to “First Order” and choose the relevant order statuses. If the customer has no prior orders in those statuses, they’ll see the free shipping option at checkout. Returning customers will see your standard shipping rates instead.

Max Product Height

The Max Product Height condition lets you create shipping rules based on the tallest product in the customer’s cart or package. It’s useful for restricting or adjusting shipping options for oversized items. The plugin finds the product with the maximum height and compares it to your set value using operators like equal to, less than, greater than, or not equal to. This ensures only suitable shipping methods are offered based on product height limits.

Example: If you want to offer free shipping only when the tallest product in the cart is ≤ 50 cm, set the condition to “Less or Equal to (<=)” and enter “50” as the value. If any product exceeds 50 cm, the free shipping option won’t be available.

Last Order Total

The Last Order Total condition lets you set shipping rules based on the subtotal of a customer’s most recent WooCommerce order. It works for both registered users and guests (via billing email) and can be filtered by specific order statuses like Completed, Pending, or Processing. You can compare the last order’s subtotal against a set value using operators such as equal to, less than, or greater than, enabling targeted shipping offers or restrictions.

Example: To offer free shipping only to customers whose last order (status “Completed” or “Processing”) exceeded $100, set the condition to “Greater than” and enter “100” as the value. The plugin will apply the shipping method only if the customer’s last order meets the threshold.

Max Product Length

The Max Product Length condition lets you create shipping rules based on the longest product in a customer’s cart or package. Ideal for stores where shipping eligibility or cost depends on product size—like furniture, sporting goods, or custom items—the plugin compares the longest product’s length to your set value using operators such as equal to, less than, or greater than. This ensures shipping methods are only offered when products meet your specified length criteria.

Example: To offer free shipping only if the longest product is ≤ 120 cm, set the condition to “Less or Equal to (<=)” with a value of “120”. Any product longer than 120 cm will remove the free shipping option.

Number of Orders during a period

The Number of Orders during a period condition lets you control shipping methods based on how many orders a customer has placed within a defined timeframe. You can filter by order statuses (e.g., Completed, Processing), choose the period (e.g., today, this week, last X days), and set logic like equal to, less than, or greater than. This is useful for rewarding repeat customers, running loyalty-based promotions, or restricting shipping options for low-order customers.

Example: To offer free shipping only to customers with more than 5 completed orders in the last month, set the status to “Completed,” period to “Current Month,” and logic to “Greater than (>)” with a value of “5.” Only customers meeting this purchase history will see the free shipping option.

Number of time customer used this shipping method

This condition allows you to set shipping rules based on how many times a specific customer has previously used a particular shipping method. It checks the customer’s order history for selected order statuses (such as Completed, Processing, etc.) within a specified time range (like all time, today, current week, last X days, etc.). You can configure the rule to trigger when the usage count matches, exceeds, or falls below a set value, using logic options like Equal to, Less than, Greater than, etc. This is useful for offering loyalty-based shipping rates, restricting method usage, or creating targeted promotions for repeat customers.

Example: Suppose you want to offer free shipping to customers who have used the “Express Shipping” method at least 5 times in the past month. You would set the condition to “Number of time customer used this shipping method”, select the relevant order statuses, set the count to 5, choose “Greater or Equal to”, and set the range to “Current Month”. The rule will apply only to customers meeting these criteria.

Number of time shipping method got used

This condition enables you to create shipping rules based on the total number of times a specific shipping method has been used across all customers. It aggregates the usage count for the selected shipping method, considering chosen order statuses and a defined time range. The rule can be set to trigger when the method’s usage count matches, exceeds, or is less than a specified value, using logic options like Equal to, Less than, Greater than, etc. This is ideal for managing shipping method availability, limiting promotional shipping methods, or analyzing method popularity for business decisions.

Example: If you want to disable a promotional shipping method after it has been used 100 times in the current year, set the condition to “Number of time shipping method got used”, select the relevant statuses, set the count to 100, choose “Greater or Equal to”, and set the range to “Current Year”. The rule will activate once the method reaches the usage threshold.

Package content cost

This condition allows you to set shipping rules based on the total cost of the products in the customer’s cart/package. It evaluates the subtotal of the package contents before discounts and compares it to a specified value using logic options such as Equal to, Less than, Greater than, etc. This is useful for offering shipping rates based on cart value, incentivizing higher purchases, or restricting shipping methods for low-value orders.

Example: To offer free shipping for orders above $200, set the condition to “Package content cost”, enter 200 as the value, and select “Greater than” as the logic. The rule will apply only to carts with a subtotal exceeding $200.

Payment Methods

The Payment Methods condition controls shipping availability based on the payment gateway selected at checkout (e.g., PayPal, Credit Card, Cash on Delivery). You can set logic to Equal to or Not Equal to for the specified gateways, enabling you to offer special rates or restrict certain payment options.

Example: Offer free shipping only when “Cash on Delivery” is selected by setting logic to Equal to and value to “Cash on Delivery.”

Postcode

The Postcode condition restricts or allows shipping based on the customer’s shipping postcode. You can target specific postcodes, ranges (e.g., 1000…2000), or wildcards (e.g., AB1*). Use Equal to for matching areas or Not Equal to to exclude them. Ideal for regional shipping rates or blocking remote areas.

Example: Set logic to Equal to and value to “1000…2000” to allow the method only for addresses within that range.

Product Attribute

The Product Attribute condition applies shipping rules based on specific product attributes in the cart (e.g., color, size, material, custom attributes). The rule checks if products match selected attribute values, with logic set to Equal to or Not Equal to. Great for tailoring rates or excluding methods for certain product types.

Example: Offer free shipping only for products with attribute “Color: Red” by setting logic to Equal to and value to “Red.”

Product quantity

The “Product quantity” condition allows you to set shipping rules based on the quantity of a specific product in the cart or package. You can select a product and specify a quantity, then choose a logic operator such as equal to, less than, greater than, not equal to, multiple of, or not multiple of. This condition is useful for offering shipping rates when a customer buys a certain number of a particular product.

Example: If you want to offer free shipping when a customer buys at least 5 units of Product A, set the condition to “Product quantity”, select Product A, enter 5, and choose “Greater or Equal to (>=)”.

Product tag

The “Product tag” condition lets you create shipping rules based on product tags. You can select one or more product tags and determine if products with those tags are present or not present in the cart. This is ideal for grouping products by tag and applying shipping logic accordingly.

Example: To offer a special shipping rate when any product with the tag “Sale” is in the cart, set the condition to “Product tag”, select the “Sale” tag, and choose “Present in cart”.

Has Product

The “Has Product” condition enables you to set shipping rules based on the presence or absence of specific products in the cart. You can select multiple products and use various logic options: equal to (any selected product present), not equal to (none present), must not have all selected products, only has these products, must have all selected products, or exactly these products. This condition considers only the products directly selected in the rule and does not apply based on related, grouped, or variation parent products unless they are explicitly chosen.

Example: If you want to offer a shipping method only when the cart contains exactly Product A and Product B (and no other products), set the condition to “Has Product”, select both products, and choose “Exactly this products are in cart”.

Quantity

The “Quantity” condition allows you to set shipping rules based on the total number of items in the cart or package, regardless of product type. You can specify a quantity and use logic operators such as equal to, less than, greater than, not equal to, or multiple of. This is useful for bulk shipping discounts or minimum/maximum quantity requirements.

Example: To offer free shipping when a customer buys 10 or more items in total, set the condition to “Quantity”, enter 10, and choose “Greater or Equal to (>=)”.

Shipping Class

This condition allows you to target specific shipping classes in the cart or package. It provides flexible logic to match, exclude, or require certain shipping classes for a shipping method to apply. You can check if any product in the cart belongs to selected shipping classes, if only those classes are present, if all selected classes are present, or if the cart contains exactly the selected classes.

Example: To offer free shipping only when the cart contains products from the “Fragile” shipping class and no other classes, use the “only have this class product” logic and select “Fragile”.

Shipping Class total quantity

This condition checks the total quantity of products belonging to a specific shipping class in the cart or package. You can set rules based on whether the quantity is equal to, less than, greater than, or not equal to a specified value. This is useful for offering shipping rates based on the number of items from a particular shipping class.

Example: To apply a special shipping rate when there are more than 5 products from the “Heavy” shipping class, set the logic to “greater than” and the value to 5 for the “Heavy” class.

Shipping Class total

This condition evaluates the total cart value (subtotal) of products from a specific shipping class. It enables you to create shipping rules based on the monetary value of items in a shipping class, such as offering free shipping above a certain amount or charging extra below a threshold.

Example: To provide free shipping when the subtotal of “Books” shipping class products exceeds $50, set the logic to “greater than” and the value to 50 for the “Books” class.

Shipping Class weight

This condition checks the total weight of products from a specific shipping class in the cart or package. It allows you to set shipping rules based on the combined weight, which is useful for weight-based shipping rates or restrictions.

Example: To restrict a shipping method if the total weight of “Oversized” shipping class products exceeds 30kg, set the logic to “greater than” and the value to 30 for the “Oversized” class.

State

The “State” condition allows you to apply shipping methods based on the customer’s selected state during checkout. This is useful for region-specific shipping rules, enabling you to target or exclude certain states within countries. The condition supports logic for “Equal to” and “Not Equal to,” letting you specify whether the rule should apply to selected states or all except those states.

Example: If you want to offer free shipping only to customers in California and Texas, you can set the condition to “Equal to” and select “California” and “Texas” from the state dropdown.

Stock status of product

The “Stock status of product” condition lets you control shipping methods based on the stock status of products in the cart. You can choose to apply rules when all products are in stock or when at least one product is on backorder. This is ideal for managing shipping options for pre-orders, out-of-stock, or backordered items.

Example: If you want to disable express shipping when any product in the cart is on backorder, set the condition to “There is at least one product on back order.”

Total of Orders

The “Total of Orders” condition enables shipping rules based on the total value of a customer’s previous orders. You can set logic such as “Equal to,” “Less than,” “Greater than,” etc., and filter by order status and date range. This is useful for loyalty programs, rewarding repeat customers, or restricting shipping methods based on purchase history.

Example: To offer free shipping to customers who have spent more than $500 in the last 6 months, set the condition to “Greater than” and enter “500” as the total, selecting the appropriate date range.

User Role

The “User Role” condition allows you to apply shipping methods based on the customer’s WordPress user role, such as “Subscriber,” “Customer,” “Administrator,” or “Guest Customer.” This is useful for offering special shipping rates to certain user groups or restricting shipping options for guests.

Example: If you want to provide discounted shipping to wholesale customers, set the condition to “Equal to” and select the “Wholesale Customer” role.

User

The “User” condition lets you target specific users by their WordPress user ID. You can apply shipping methods to individual users or exclude them. This is ideal for personalized shipping offers or handling special cases for VIP customers.

Example: If you want to offer free shipping to a specific VIP customer, set the condition to “Equal to” and select their user ID from the list.

Has Variable Product

The “Has Variable Product” condition checks if the cart or package contains specific product variations. It allows you to target shipping rules based on the presence or absence of selected variations. The logic supports “Equal to” (at least one selected variation is present) and “Not Equal to” (none of the selected variations are present). This is useful for offering special shipping rates for specific variation attributes such as size or color.

Example: If you want to offer free shipping only when a customer purchases a “Large Red T-Shirt” variation, set this condition to “Equal to” and select that variation. The shipping method will apply only if the cart contains that variation.

Weight

The “Weight” condition evaluates the total weight of products in the cart or package. You can set rules based on weight thresholds, such as minimum, maximum, or multiples. Supported logic includes “Equal to”, “Less or Equal to”, “Less than”, “Greater or Equal to”, “Greater than”, “Not Equal to”, “Multiple of”, and “Not Multiple of”. This is useful when shipping rates depend on the total order weight.

Example: To offer a flat shipping rate for orders weighing less than 5kg, set the condition to “Less than” and enter 5. The shipping method will apply only if the total cart weight is below 5kg.

Max Product Width

The “Max Product Width” condition checks the maximum width among all products in the cart or package. It helps restrict shipping methods based on product dimensions, ensuring only orders with products under a certain width qualify. Supported logic includes “Equal to”, “Less or Equal to”, “Less than”, “Greater or Equal to”, “Greater than”, and “Not Equal to”.

Example: If your courier can only handle packages up to 50cm wide, set the condition to “Less or Equal to” and enter 50. The shipping method will be available only if the widest product in the cart is 50cm or less.

Delivery date and time plugin specific conditions

Following conditions are only available when you have our Date and time for delivery or pickup location plugin (Free version OR PRO version) installed in your website.

Selected Delivery Date

The “Selected Delivery Date” condition allows you to set shipping rules based on the exact date chosen by the customer during checkout. It compares the selected date with the list of dates you specify. This is useful for offering special rates or restricting shipping on particular days, such as public holidays, store events, or promotional dates. The condition requires the Delivery Date and Time plugin to be installed, allowing customers to select their preferred delivery date.

Example: To offer free shipping only on December 24th and October 2nd, set the condition value to “2021/12/24, 2021/10/02”. The shipping method will apply only when the customer selects one of these dates for delivery.

Selected Delivery Day

The “Selected Delivery Day” condition sets shipping rules based on the day of the week chosen for delivery (e.g., Monday, Friday). It checks if the selected delivery day matches any of the days you specify. This is ideal for applying different rates or restrictions on certain weekdays, such as weekend surcharges or midweek discounts. The condition requires the Delivery Date and Time plugin to be installed.

Example: To block shipping on Sundays and Mondays, select “Sunday” and “Monday” in the condition. The rule will apply only when the customer selects delivery on these days.

Selected Nth Delivery Date from Today

The “Selected Nth Delivery Date from Today” condition creates rules based on how many days from the current date the customer schedules their delivery. It calculates the gap between today and the selected date, allowing you to target same-day, next-day, or future deliveries. This is useful for express delivery offers, delayed shipping discounts, or preventing last-minute orders. The condition requires the Delivery Date and Time plugin to be installed.

Example: To offer express shipping only for next-day deliveries, set the condition value to “1”. The shipping method will apply only when the customer chooses a delivery date exactly one day after the current date.

Delivery Type (Delivery / Pickup / Dining)

The “Delivery Type” condition applies shipping rules based on the fulfillment method selected by the customer — Delivery, Pickup, or Dining. It checks the chosen type and applies the relevant shipping method. This is ideal for businesses offering multiple order fulfillment options with different pricing or availability rules. The condition requires the Delivery Date and Time plugin to be installed.

Example: To offer free shipping only for Pickup orders, select “Pickup” in the condition. The rule will apply only when the customer chooses Pickup at checkout.