Share X in ✉

How to Setup WooCommerce Conditional Discounts (Easy Guide)

Last updated
Read time
13 min
Category
How to Setup WooCommerce Conditional Discounts (Easy Guide)

A WooCommerce conditional discount applies automatically once a shopper meets a rule you define, a cart subtotal, a user role, a product category, an order history threshold, or an item quantity. The native WooCommerce coupon tool only covers a handful of these conditions, so most stores use a dedicated engine like Disco, a WooCommerce dynamic pricing and discount rules plugin, to combine conditions with AND/OR logic. 

This guide covers building a rule step by step in Disco, then the specific discount types you’re most likely to need: role, category, first-order, loyalty, quantity, BOGO, shipping class, location, and time-based, plus what’s still possible with WooCommerce’s built-in coupon and shipping settings.

How to create a WooCommerce conditional discount using Disco

Here’s the full process for one common example: a 10% discount that kicks in once the cart subtotal reaches $100.

Step 1: Install the Disco Plugin

Log in to your WordPress admin dashboard. Go to Plugins >> Add New, search for the Disco plugin, and click Install. After installation, click Activate to enable the plugin.

install plugin
install plugin

Step 2: Open Disco Plugin Menu

Once activated, the plugin will add a Disco menu to the left panel of your dashboard. Click on it to access the plugin’s features and discount setup options.

disco menu
disco menu

Step 3: Start Creating a Discount

In the Disco menu, select Create a Discount to start setting up your conditional discount.

create WooCommerce conditional discounts
create WooCommerce conditional discounts

This will bring you to the discount rule window.

discount window
discount window

Step 4: Set the Discount Intention

From the discount setup window, select Cart as the Discount Intention. For our example, this will ensure the discount applies to the entire cart when specific conditions are met.

cart option
cart option

Step 5: Apply Discount to All Products

In the Discount section, select All Products if you want the 10% discount to be applicable across the store. Optionally, you can set an expiry date and limit user access to the discount.

all products
all products

Step 6: Define Discount Type and Value

In the Cart Rules section, choose Percentage as the discount type and enter 10 as the value.

percentage value
percentage value

Step 7: Add Conditions Using Disco Filters

To make this a conditional discount, click Add Condition.

enter value
enter value

Select Cart Subtotal as the condition type.

cart subtotal
cart subtotal

Step 8: Configure the Condition

For a discount to apply at exactly $100, select Equal as the condition type. For any cart total of $100 or more, select Greater than or Equal. Enter 100 in the subtotal value box.

add value
add value

Step 9: Save the Discount Rule

Once all details are entered, click Save to activate the discount.

Step 10: Test the Discount on Your Store

Before going live, test the discount. Add products worth $100 or more to your cart, then verify that the 10% discount is applied automatically when conditions are met.

WooCommerce conditional discounts
WooCommerce conditional discounts

Following these WooCommerce conditional discounts setup steps ensures your online store is set up with a dynamic, conditional discount strategy that’s ready to attract and convert customers.

Conditional discount strategies you can build with Disco

Disco covers far more conditions than the cart-subtotal example above. Below are the discount types WooCommerce stores build most often, with the setup each one needs.

Category-based discounts

Example: Provide a 15% discount on all items in the “Summer Collection” category.

WooCommerce category discounts are a great way to boost sales for specific collections or themes in your store. By targeting a product category, you can create tailored offers that encourage customers to explore and purchase items from that category.

As a result, these discounts create a sense of exclusivity and relevance for seasonal or themed products. Here’s a step-by-step guide on how to set up this type of WooCommerce conditional discounts sale.

Select the Product or Cart option from the Discount Intention and then select All Products. This applies the discount across every item within the specified category.

category based
category based

Configure your percentage value from the Product Rules section.

set value
set value

Next, add the condition Categories.

category condition
category condition

Select your target category and save the discount rule.

set condition
set condition

Disco automatically applies and displays the category discount to the target category page, individual pages, and the Shop page.

WooCommerce conditional discounts
WooCommerce conditional discounts

Customer role-based discounts

Example: Offer a 25% discount for Elite members, 20% for Platinum, and 15% for Diamond members.

This type of discount is most effective in WooCommerce membership stores. Disco allows you to create user role-based discounts that strengthen customer loyalty and promote memberships.

Here’s a step-by-step guide:

Go to Disco dashboard, create a new rule, and name it according to the membership (e.g., “Elite Member Discount”). Select Product or Cart in Discount Intention.

select Cart
select Cart

Choose eligible products and set the discount percentage.

all products
all products

Add User Role as a condition.

user role
user role

Select the specific role (e.g., Elite Member). Save the rule.

set role
set role

To set up conditional discount rules for WooCommerce checkout for different membership levels, you will need to create separate discount rules. Disco makes this easy by allowing you to clone existing rules, saving time.

In your Disco dashboard, select the rule you want to copy. Choose Duplicate from the Action dropdown.

duplicate
duplicate

This will generate a duplicate of the discount rule with all the settings from the original rule intact.

clone rule
clone rule

Enter the duplicate discount rule to edit and update the rule name to reflect the new membership level.

set name
set name

Change the percentage value according to your planned strategy. Under Condition, replace the current role with the new one and save your changes.

edit condition
edit condition

Repeat the process for Diamond members.

diamond discount
diamond discount

Thus, your loyal customers can enjoy exclusive discounts based on their membership level. This strategy can foster loyalty and encourage repeat purchases.

First-time customer discounts

Example: Provide a $15 discount to customers who make their first purchase.

Offering a WooCommerce first-order discount can encourage new visitors to make that all-important first purchase, helping you build a loyal customer base. By providing these WooCommerce conditional discounts, you can create a compelling incentive for new customers to choose your store.

Select the discount intention and your products.

first order discount
first order discount

This time we are offering a flat rate or fixed amount discount. Therefore, select the Fixed option and input your value.

set value
set value

Add the condition Is First Order from the condition filters.

is first order
is first order

Select Yes and save the discount rule. Now, your first-time buyers can enjoy $15 off their first purchases.

set condition
set condition

Loyalty discounts for returning customers

Example: Offer a 10% discount to returning customers who have made 5 or more purchases in the past.

You can incentivize repeat purchases and strengthen customer relationships by offering loyalty-based discounts.

To set the discount, configure the top parts in the following ways.

loyalty discount
loyalty discount

Next, add the condition called “Number of Order Made By Customer.”

set condition
set condition

Set the value as follows.

set WooCommerce conditional discounts
set WooCommerce conditional discounts

That’s it. Your loyal customers who have made at least 5 previous purchases can now enjoy 10% off their next purchase.

Product attribute-based discounts

Example: Apply a 17% discount on products with certain attributes like “eco-friendly.”

Before jumping into creating the discount rule, we want to discuss attributes briefly. Product attributes in WooCommerce are specific characteristics or features of a product.

They help you define different variations of a product and enable easy product filtering for your customers. They enhance the shopping experience by providing detailed information and enabling better organization of your product catalog.  

Common Product Attributes:

  • Color: Red, Blue, Green, Black, etc.  
  • Size: Small, Medium, Large, XL, etc.
  • Material: Cotton, Polyester, Leather, etc.  
  • Brand: Nike, Adidas, Apple, etc.  
  • Style: Casual, Formal, Sporty, etc.

For example, let’s say you have a product line that uses eco-friendly materials, and you have assigned an attribute called eco-friendly to those products.

eco friendly
eco friendly

Now, you want to offer WooCommerce conditional discounts, particularly for those products. Using Disco, you can set this rule by selecting Cart, then All Products, and entering a percentage value as shown in previous setups.

create WooCommerce conditional discounts
create WooCommerce conditional discounts

Add the Attribute condition and select your target attribute.

set attribute
set attribute

Here is how WooCommerce apply conditional discount.

WooCommerce conditional discounts
WooCommerce conditional discounts

Shipping class discounts

Example: Offer a 15% discount on “Heavy” shipping class.

Cart abandonment is every online store owner’s worst nightmare, and shipping cost is the primary reason why people leave their carts unpaid.

Offering shipping discounts can prevent this, significantly reduce your cart abandon rate, and increase your conversions. Disco allows you to offer different types of WooCommerce shipping discounts, including class-based discounts.

Using the plugin, you can easily set up shipping discounts for specific classes, like offering discounts on products in the “Heavy” shipping class. It’s a smart way to turn browsing into purchasing and motivate customers to complete their orders.

shipping class
shipping class

Here’s how to set it up using Disco. Start by configuring the following settings.

class based discount
class based discount

Next, add the Shipping Class condition.

add condition
add condition

We are selecting the Contain option. After that, type in your shipping class name.

set class
set class

Save your discount rule and add a product that has the “Heavy” shipping class assigned to the cart.

set class
set class

Here’s how Disco will display shipping WooCommerce conditional discounts.

WooCommerce conditional discounts
WooCommerce conditional discounts

Location-based discounts

Example: Offer a 20% discount to customers from specific locations, such as a country or city, or during a local event.

Suppose you’ve recently expanded to offer shipping in Chicago. You want to attract customers from that particular area with a 20% discount.

Here’s how you set this up using Disco.

Select the Product or Cart option from the Discount Intention section. Specify your products and enter your percentage value.

WooCommerce conditional discounts
WooCommerce conditional discounts

You can set a location by following three conditions.

  1. Country
  2. State
  3. Zip
set location
set location

We will go with the Zip condition. Select Contain if you have multiple zip codes to set, and enter your codes in the value box.

select location
select location

This setup will apply your 20% discount to customers in targeted Chicago locations.

Time-based discounts for seasons, birthdays, and anniversaries

Whether a store owner or a shopper, everyone wants to make the most of holiday shopping. That’s why discount campaigns on events like Black Friday or the holiday season have such a huge appeal!

Special offers during these times create excitement, encourage bigger purchases, and keep shoppers coming back for more.

Setting up time-based conditional discounts for special occasions, seasons, or events can be a game-changer for WooCommerce stores. These limited-time offers can make your customers feel like they’re getting something exclusive, whether it’s a holiday deal, a birthday surprise, or a seasonal discount.

Examples of Time-Based Discounts

  • Seasonal Discounts: Offer discounts during holidays like Christmas, Black Friday, or Cyber Monday.
  • Anniversary Discounts: Reward loyal customers with special discounts on your business anniversary.
  • Birthday Discounts: Offer personalized discounts to customers on their birthdays.
  • Flash Sales: Create a sense of urgency with limited-time offers on specific products.
  • Holiday Sales: Run promotions for specific holidays like Valentine’s Day or Mother’s Day.

Let’s say you want to offer a 25% discount on kids’ collections during Children’s Day 2025. To set this up using Disco, select the following settings.

time discount
time discount

The Valid Between box is where you can set your time-based discounts for specific dates and times.

valid between
valid between

Choose the starting and ending dates from the provided options to control exactly when your discount will be active.

set time
set time

After that, set your percentage value. Finally, select the kid’s collection category by adding the Categories condition.

select category
select category

Following this setup pattern, you can precisely target special occasions, seasonal promotions, or limited-time offers.

Free product and BOGO discounts

Example: Offer a 10% discount on a specific product if a customer buys at least 3 of that item.

This time, we will select the Few Products option as we are creating WooCommerce conditional discounts for a specific product.

WooCommerce conditional discounts
WooCommerce conditional discounts

Search or type in your product name to select it.

select product
select product

Enter your percentage value and hit the Add Condition button.

set value
set value

The condition we need to use this time is “Cart Item Quantity.” If you want to set this discount for 3 or more quantities, set it up as follows.

set condition
set condition

Add 3 quantities of your target product at the front end to test the discount rule. It should deduct 10% of the total.

WooCommerce conditional discounts
WooCommerce conditional discounts

Multiple-condition discounts

Example: Offer a 15% discount on specific categories when the cart subtotal is $100 or more or at least 4 quantities.

Adding multiple conditions to your discount rules allows you to personalize your discounts further. They let you create offers that resonate with your customers while achieving your business goals.

This strategy not only boosts your average order value but also makes shopping more engaging by giving customers a reason to add those extra items to their cart to unlock a deal.

Disco allows you to generate multi-condition discounts through its AND/OR condition features. To set this up in Disco, start with the Cart option along with other common settings.

multi-condition discount
multi-condition discount

First, add the Categories condition and select the target category.

set condition
set condition

You will see the Add Condition button in three places. However, you must select the following one to insert a multi-condition.

add condition
add condition

Select the AND option, choose Cart Subtotal as the next condition, and input the value. To ensure this condition applies correctly, select Greater Than or Equal as the parameter.

AND type
AND type

Now, if we add $100 worth of items from the target category, the cart will deduct 15% off the total.

WooCommerce conditional discounts
WooCommerce conditional discounts

Reaching a $100 cart subtotal can be challenging for low-priced items. That’s why we want to add another condition: even if the cart subtotal isn’t $100, customers can still enjoy the 15% discount when they add at least 4 quantities in total.

To add this condition, click the bigger Add Condition button.

add condition
add condition

This time, select OR type. Select Cart Items Quantity and set your value, as shown below.

or type
or type

Now, test the rule with a lower-priced item.

WooCommerce conditional discounts
WooCommerce conditional discounts

As you can see, even when the cart subtotal is not $100, the system still applies the discount when the quantity is a minimum of 4.

Setting up conditional discounts with WooCommerce’s built-in tools

A dedicated plugin isn’t required for every scenario. WooCommerce’s own coupon and shipping settings cover a few conditional cases on their own.

Free shipping conditional discounts

Free shipping doesn’t require a coupon at all. Go to WooCommerce, then Shipping, and edit your shipping zone. Add a Free Shipping method, then choose “A minimum order amount” (or “A valid free shipping coupon OR a minimum order amount”) from the Free Shipping Requires dropdown, and set your threshold, $200, for example. Save, then test by adding enough products to the cart to confirm the free shipping option appears.

Coupon-based conditional discounts

Go to Marketing, then Coupons, and click Add Coupon to create a minimum-spend discount, a category-specific discount, or (on subscription-enabled stores) a customer-role or new-user discount. These cover a narrower set of conditions than Disco and require the customer to enter a code, which is the main tradeoff against rule-based, auto-applied discounts.

Best WooCommerce discount plugin: Disco

Disco is a WooCommerce discount rules plugin built to replace manual coupon codes with rules that apply automatically once a shopper qualifies. It supports six discount intents: Product, Cart, Bulk, Bundle, BOGO, and Free Shipping, combined with condition filters like cart subtotal, user role, order history, product category, attribute, shipping class, location, and validity dates, using AND/OR logic to stack them. A free version is available on WordPress.org; BOGO, bundle-across-products, and a few advanced conditions are part of Disco Pro. Check the plugin’s pricing page before publishing anything about cost, since paid tiers change more often than the core feature set.

Key features

  • Discount intents: Product, Cart, Bulk, Bundle, BOGO, and Free Shipping campaigns from one dashboard.
  • Condition filters: cart subtotal, item quantity, user role, order history, category, attribute, shipping class, and location, combinable with AND/OR logic.
  • Product page display: discounted price and pricing tables shown directly on the product page, with the original price struck through.
  • Multi-currency support: works with WPML WooCommerce Multilingual, FOX Currency Switcher, CURCY, and Aelia Currency Switcher.
  • No coupon codes to distribute: discounts apply the moment a shopper qualifies, with nothing for them to remember or enter.

Frequently Asked Questions

Can I set up a WooCommerce discount for first-time customers?

Yes. In Disco, choose a Fixed or Percentage discount, set your product scope, then add the Is First Order condition and set it to Yes. It applies automatically at checkout without a coupon code.

Can I create a birthday discount in WooCommerce?

Disco doesn’t have a dedicated “birthday” condition, but you can approximate it with the Valid Between date field set to a short window around the customer’s birthday, or combine it with a user-role or purchase-history condition if birthdays are stored as customer meta on your site.

How do I set up a quantity-based discount in WooCommerce?

Add the Cart Item Quantity condition to a Cart or Product rule and set your minimum, 3 units of one product, for example, or 4 items across the cart when combined with another condition using OR logic.

Does Disco support conditional coupons, or only rule-based discounts?

Disco’s discounts are rule-based and apply automatically, they aren’t coupon codes a customer enters. If you specifically need code-based conditional coupons, WooCommerce’s native Marketing, then Coupons tool handles minimum-spend and category-restricted codes.

Can I combine multiple conditions in one WooCommerce discount rule?

Yes, using AND and OR logic. AND requires both conditions to be true (category plus a $100 minimum), while OR lets either condition trigger the discount on its own (the same $100 minimum, or 4+ items in cart).

Can I offer a free product instead of a percentage discount in WooCommerce?

Yes, through a BOGO rule. Choose BOGO as the Discount Intention in Disco, set the Buy and Get quantities, and set the discount on the “get” item to free. This is a Disco Pro feature.

Key takeaways

  • WooCommerce’s native coupon tool covers minimum spend, category restrictions, and a few role-based cases, but requires a code the customer enters.
  • Disco applies conditional discounts automatically, no code needed, and supports cart, product, bulk, bundle, BOGO, and free shipping.
  • AND/OR logic lets you stack conditions, like a category discount that also unlocks at a lower price point once quantity crosses a threshold.
  • BOGO deals in Disco use their own Discount Intention rather than a condition added to a cart or product rule, and require the Pro version.
  • Free shipping conditional discounts can be set up entirely inside WooCommerce’s own Shipping settings, without any plugin.
  • Test every new rule with real cart values before publishing it live.
[CTA] Stop reading. Start fixing.
Fix your product feed with CTX Feed Pro.

Free version on WordPress.org. Every Pro licence includes a 30-day money-back guarantee.

[0] Comments
Join the discussion
Leave a comment →

Leave a comment.

[NEWSLETTER] Field Notes, monthly

One email a month.
Zero fluff.

Channel-spec changes, plugin releases, the occasional deep dive on something we broke.