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.
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.
Step 3: Start Creating a Discount
In the Disco menu, select Create a Discount to start setting up your conditional discount.
This will bring you to the discount rule 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.
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.
Step 6: Define Discount Type and Value
In the Cart Rules section, choose Percentage as the discount type and enter 10 as the value.
Step 7: Add Conditions Using Disco Filters
To make this a conditional discount, click Add Condition.
Select Cart Subtotal as the condition type.
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.
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.
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.
Configure your percentage value from the Product Rules section.
Next, add the condition Categories.
Select your target category and save the discount rule.
Disco automatically applies and displays the category discount to the target category page, individual pages, and the Shop page.
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.
Choose eligible products and set the discount percentage.
Add User Role as a condition.
Select the specific role (e.g., Elite Member). Save the rule.
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.
This will generate a duplicate of the discount rule with all the settings from the original rule intact.
Enter the duplicate discount rule to edit and update the rule name to reflect the new membership level.
Change the percentage value according to your planned strategy. Under Condition, replace the current role with the new one and save your changes.
Repeat the process for Diamond members.
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.
This time we are offering a flat rate or fixed amount discount. Therefore, select the Fixed option and input your value.
Add the condition Is First Order from the condition filters.
Select Yes and save the discount rule. Now, your first-time buyers can enjoy $15 off their first purchases.
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.
Next, add the condition called “Number of Order Made By Customer.”
Set the value as follows.
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.
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.
Add the Attribute condition and select your target attribute.
Here is how WooCommerce apply conditional discount.
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.
Here’s how to set it up using Disco. Start by configuring the following settings.
Next, add the Shipping Class condition.
We are selecting the Contain option. After that, type in your shipping class name.
Save your discount rule and add a product that has the “Heavy” shipping class assigned to the cart.
Here’s how Disco will display shipping 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.
You can set a location by following three conditions.
- Country
- State
- Zip
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.
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.
The Valid Between box is where you can set your time-based discounts for specific dates and times.
Choose the starting and ending dates from the provided options to control exactly when your discount will be active.
After that, set your percentage value. Finally, select the kid’s collection category by adding the Categories condition.
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.
Search or type in your product name to select it.
Enter your percentage value and hit the Add Condition button.
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.
Add 3 quantities of your target product at the front end to test the discount rule. It should deduct 10% of the total.
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.
First, add the Categories condition and select the target category.
You will see the Add Condition button in three places. However, you must select the following one to insert a multi-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.
Now, if we add $100 worth of items from the target category, the cart will deduct 15% off the total.
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.
This time, select OR type. Select Cart Items Quantity and set your value, as shown below.
Now, test the rule with a lower-priced item.
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.
Free version on WordPress.org. Every Pro licence includes a 30-day money-back guarantee.