Share X in ✉

How to Setup WooCommerce Category Discount (Easy Guide)

Last updated
Read time
11 min
Category
How to Setup WooCommerce Category Discount (Easy Guide)

To set up a WooCommerce category discount, install a discount rules plugin like Disco, create a new discount campaign, set the discount type and value, then add a “Categories” condition so the rule only applies to products in that category. Core WooCommerce has no built-in way to discount an entire category, so a plugin fills that gap without custom code.

This guide walks through the full setup, then covers the other common category-discount scenarios: free shipping by category, bulk quantity discounts, cart-total thresholds, and time-limited campaigns.

How to set up a WooCommerce category discount using Disco

Disco is a free WooCommerce discount rules plugin that applies percentage, fixed, bulk, or free-shipping discounts automatically, based on conditions you set, with no coupon codes for customers to find or enter. Here’s how to set up a flat 10% discount on everything in a “Men” category.

Step 1: Getting Started With Disco Plugin

The easiest and simplest way to add category discounts in WooCommerce is by using a plugin. But out of all the tools available, which one should you choose? 

Well, let us introduce to you Disco – the All-in-One WooCommerce Discount plugin. This versatile freemium plugin lets you create all sorts of discounts based on different user conditions. And of course, you can make WooCommerce discounts by category easily with it. 

Disco - the All-in-One WooCommerce Discount plugin.
Disco - the All-in-One WooCommerce Discount plugin.

Now, to use it, you have to install and activate this WooCommerce category discount plugin. So, from the left-hand side of your WordPress Dashboard, go to Plugins>>Add New Plugin. 

WooCommerce Category Discounts- Plugins>> Add New Plugin
WooCommerce Category Discounts- Plugins>> Add New Plugin

Then search for the “Disco” plugin. After that, install and activate the plugin. 

WooCommerce Category Discounts- Install and Activate Disco
WooCommerce Category Discounts- Install and Activate Disco

Now, let’s set up a flat 10% discount on all the products in the “Men” Category. 

Step 2: Select Discount Campaign Name and Choose Discount Intention 

To use the Disco plugin, click on the Disco menu from the left-hand side of your WordPress panel. Then click on “Create a Discount” to make your category discount campaign.

Category Discounts in WooCommerce- Disco Menu>>Create a Discount
Category Discounts in WooCommerce- Disco Menu>>Create a Discount

There, give your discount campaign a name. In this part, we will be making a basic category discount campaign based on the products. So, select the discount intention as “Products” for now. 

Select Campaign name and intention
Select Campaign name and intention

Step 3: Selecting Discount Rules

Next up, in the “Discount” section we need to add the the discount rules. Here, you should choose between all products and specific products. As you can see, we have gone for “All Products”. Don’t worry, we will select the specific categories later on. 

All Products
All Products

How can I set a user limit for a WooCommerce category discount?

You can set a fixed user limit for your category discounts in WooCommerce using the “User Limit” field of the Disco plugin. 

For example, We will be selecting the user limit as 30, so the discount can be used for a total of 30 times. 

Category Discounts in WooCommerce- User Limit is 30
Category Discounts in WooCommerce- User Limit is 30

You can also, set a date validity for your Discount campaign in the “Valid Between” field. 

Step 4: Setting up Discount Type and Value

In the “Product Rules” section you will be able to add the Discount type and value. So, you should add the discount type as “Percentage”. Keep in mind that you could also select it as fixed, fixed per cart item, or free. 

Category Discounts in WooCommerce- Discount type Percentage
Category Discounts in WooCommerce- Discount type Percentage

Now, add the discount value as “10” in order to add a 10% discount. 

Discount value 5
Discount value 5

Step 5: Setting up User Conditions (Categories) 

In this step, we will be selecting the specific categories as user conditions. Now, to do that, firstly click on “Add Condition”. 

Add Condition
Add Condition

Then, from the Filtering options, select “Categories”. 

Categories
Categories

After that, select the “In List” options and choose the “Men” category. 

Category Discounts - In List>>Men Category
Category Discounts - In List>>Men Category

Key Note:  “In List” refers to the category you want to include in the discount. For example, if you select the “Men” category, only products within that category will be eligible for the discount.
On the other hand, “Not In List” excludes a category from the discount. So, if you add the category “Gadget” under “Not In List,” the discount will apply to all products in your store except those from category “Gadget.”

Step 6: Click “Save & Exit”

Scroll down below and click on the “Save & Exit” button. 

Save & Exit Button
Save & Exit Button

That’s it for the WooCommerce category discounts setup process. It will launch and run your campaign. You can enable and disable the campaign anytime you want with just one click. 

Category Discounts in WooCommerce- Enable & Disable Discounts
Category Discounts in WooCommerce- Enable & Disable Discounts

Now, we have to check out if the discount really applies to the products in the “Men” category. Let’s order a product from the front end. 

10% Discount on Classic Stretch Jeans
10% Discount on Classic Stretch Jeans

As you can see, the “Black Slim Fit Classic Stretch Jeans” product belongs to the “Men” category. 

Now, whenever the customers order it, they are going to get a 10% discount on it. The regular price was $40, but after the 10% discount, the price came down to $36. 

Let’s try out WooCommerce discount by category for multiple other scenarios. 

How do you set free shipping for a specific category in WooCommerce? 

Under this scenario, we will be applying free shipping-based discounts on all the products of one of our categories.

For Example, let’s set up Free Shipping on any products from the ‘Home Appliances’ Category.

As usual, start by, going to Disco Menu>>Create a Discount again. 

Disco>>Create a Discount
Disco>>Create a Discount

Give your discount campaign a name and choose the discount intention as “Free Shipping”. 

Free Shipping as Discount Intention
Free Shipping as Discount Intention

Then, as we will be providing this discount to all the products of our “Home Appliances” category, choose “All products”.

All Products
All Products

Afterward, to add the specific category rule, go down below and click on “Add Condition”. 

Add Condition
Add Condition

In the next step, from the filtering options, select “Conditions”. Then search and select your desired category. In our case, we have obviously selected the “Home Appliances” category.

Categories>>In List>> Home Appliances
Categories>>In List>> Home Appliances

Click on the “Save & Exit” button.

Save & Exit Button
Save & Exit Button

That’s it! Your campaign is up and running. 

Free Shipping on Home Appliances
Free Shipping on Home Appliances

Let’s check it out. You can see down below that the coffee Maker belongs to the “Home Appliances” category. 

Product in Home Appliances Category
Product in Home Appliances Category

Now, if anyone orders that, they are going to get the shipping for free. 

WooCommerce Category Discounts- Free Shipping
WooCommerce Category Discounts- Free Shipping

How to Set WooCommerce Category Discounts Based on Product Quantity? 

In this case, we will be setting up WooCommerce percentage category discounts based on product quantity. 

Example: Get a 15% flat discount on purchasing 3 or more units of a product from the ‘Gym’ category.

In this scenario, a percentage discount is applied when customers buy 5 or more units of any product from the selected category. 

Just like we did in the previous examples, let’s begin by giving the discount campaign a name and select the discount intention as “Bulk Discount” this time. 

Category Discounts in WooCommerce- Bulk Discounts
Category Discounts in WooCommerce- Bulk Discounts

Select “All Products” in the Discount Rules section. 

WooCommerce Discount by Category - All Products
WooCommerce Discount by Category - All Products

Then, in the “Bulk Rules” section set the “Minimum Quantity” as 3 and keep the “Maximum Quantity” field empty. 

Key Note: Here, keeping it blank means an unlimited amount of products. 

Set the discount type as a percentage and the value as 15. 

WooCommerce Discount by Category-Setting Bulk rules
WooCommerce Discount by Category-Setting Bulk rules

 In the next phase, select the “Categories” filter in the conditions section. Then, search and select your category. 

WooCommerce Discount by Category- Categories>>Gym
WooCommerce Discount by Category- Categories>>Gym

Save it. Now, let’s test it out from the front end. You will find that, there is no discount on our “Coffee Maker” product from the “Home Appliances” category. 

No Discount
No Discount

But, if someone orders at least 3 or more units of any product from the ‘Gym’ category, he or she will get the 15% WooCommerce bulk discount category on it. 

WooCommerce Discount by Category- 15% Bulk discount
WooCommerce Discount by Category- 15% Bulk discount

How to apply WooCommerce category discounts based on order total?

Under this scenario, we will be applying Category Discounts based on the total amount of the order. 

Example: Get $50 Off on orders of at least $750 from the category “Home Appliances”.

In this example, customers receive a flat $50 discount when their purchase from the “Home Appliances” category is at least $750 or exceeds the amount of $750.

Give your Discount campaign a name and select the Discount intention as “Cart”. 

Campaign name and Cart Discount as intention
Campaign name and Cart Discount as intention

Then, choose “All Products”. After that, from the “Cart Rules” section choose the discount type as “Fixed” and input the discount value as $50. 

All Products, Fixed Discount and Discount value is 50
All Products, Fixed Discount and Discount value is 50

Now, for this example, we will select two conditions. 

  • The usual Category selection.
  • The cart subtotal is equal to or exceeds $750. 

To add the first condition, select the “Categories” filter and under the “In List” option, choose “Home Appliances”. 

Categories>>Home Appliances
Categories>>Home Appliances

Let’s add up the second condition. Simply, click on the “Add Condition” option below it. 

Categories>>In List>>Home Appliances
Categories>>In List>>Home Appliances

Another similar window will come up. Now, from the filtering options, you should select “Cart Subtotal”. Then choose the “Greater Than or Equal” option and input the value $750. 

One important thing! Between the two conditions, you will find “And/Or” options. Here, you must select the “And” option as you want to run these two conditions together. 

Adding Conditions
Adding Conditions

Click on “Save & Exit”. Your campaign will be launched and running.

WooCommerce Discount by Category-$50 category discount on $750+ Orders
WooCommerce Discount by Category-$50 category discount on $750+ Orders

Let’s test it out. 

If someone orders one of our “Home Appliances” category’s products “BLUEAIR Air Purifiers” for anything less than $750, that person won’t be getting any discounts.

No Discount
No Discount

But, the moment, he adds another “Home Appliances” product and the cart total exceeds $750, he will get a flat $50 discount on it. 

WooCommerce Discount by Category-getting $50 discount
WooCommerce Discount by Category-getting $50 discount

Apply Category Discounts in WooCommerce for a Limited time 

A lot of people ask, “Is it possible to limit a category discount to only apply during holidays?”

Yes, you can set up a category discount to apply only during certain times of the year using the Disco Plugin’s “Valid Between” Feature. 

In fact, for this example, a flat $5 discount is applied to all products within the “Men” category, but only for a specific promotional period.

In a new discount campaign setup window, set up your Discount campaign name and select the Discount intention as “Product”. 

Discount Campaign name and intention
Discount Campaign name and intention

Afterward, choose “All Products”

All Products
All Products

Here’s the interesting part! In the “Valid Between” field, you can set up the date validity in just a couple of seconds. For instance, we want to offer a discount on Halloween week. So, we have selected the dates from 22nd October 2024 to 31st October 2024. 

Date Validitiy
Date Validitiy

Now, the discount will only apply during this promotional period. 

Next up, add the Discount type as “Fixed” and the discount value as 5. Then select the Categories filter and add the “Men” category. 

Categories>>In List>> Men
Categories>>In List>> Men

Click on “Save & Exit”.

Now, whenever someone orders any product from the Men category during this promotional period, he or she will get a $5 discount. 

As you can see down below, a men’s t-shirt product from the “Men” category is getting a $5 discount. But on the other hand, there is no discount available for the Water bottle. 

$5 Discount on Men T-shirt
$5 Discount on Men T-shirt

That’s it! Hopefully, now you know everything related to WooCommerce add discounts to a category. Let’s have a quick look at the category discount’s importance and some best practices related to it. 

How to run a category discount for a limited time

The “Valid Between” field handles time-limited campaigns without any extra setup. This example gives a flat $5 off the “Men” category, but only during a specific promotional window.

Set the discount intention to Product, choose All Products, and enter the promotion’s start and end dates in Valid Between (for example, October 22–31 for a Halloween-week sale). Set the discount type to Fixed, value 5, and add a Categories condition for Men. Save and exit.

During the promotional window, a men’s t-shirt gets the $5 discount. A water bottle outside that category doesn’t, and neither product gets the discount once the window closes.

7 best practices for WooCommerce category discounts

  1. Set a clear objective first. Decide whether the goal is clearing inventory, raising average order value, or driving a seasonal push, since that changes which discount type fits.
  2. Use time-limited offers. An expiration date creates urgency. The “Valid Between” field handles this without a separate countdown tool.
  3. Segment by audience. Combine a category condition with a user-role condition to reserve a deal for a specific group, like wholesale accounts or VIP customers.
  4. Watch your margins. Work out the lowest price you can offer on a category before a discount stops being profitable, then set the value below that line.
  5. Promote it where customers already are. Email, on-site banners, and social all work; the discount rule itself doesn’t drive traffic to the offer.
  6. Track performance. Disco’s paid plan adds reporting for campaign performance; check the current pricing page for what’s included before you plan around it.
  7. Test discount types against each other. Percentage works well across a wide price range; a flat amount tends to read as more concrete on lower-priced items. Run both on similar categories and compare.

Troubleshooting common WooCommerce category discount issues

IssueLikely causeFix
Discount not applying at checkoutConflicting rules or a plugin conflictReview active campaigns for overlapping rules; disable other plugins one at a time to isolate the conflict; confirm the campaign itself is enabled
Incorrect discount amountMisconfigured discount type or valueRecheck whether the type is set to Percentage or Fixed, and confirm the value matches your intent
Discount applying to the wrong productsProducts tagged in the wrong categoryVerify each product’s category assignment before troubleshooting the rule itself
One campaign affecting an unrelated promotionTwo campaigns running at once with overlapping scopeDisable one while the other runs, or stagger them with different Valid Between windows
Customers reusing a discount repeatedlyNo usage cap setSet a User Limit on the campaign

Frequently Asked Questions

Can I limit a WooCommerce category discount to specific customers?

Yes. Add a condition based on user role, country, or similar customer attributes alongside the category condition, using the same “And” logic shown in the cart-total example above. This restricts the discount to the group you choose without a separate coupon system.

Can category discounts in WooCommerce apply only to variable products?

Yes, add a second condition filter set to Product Type > In List > Variable Product, alongside the category condition. Both conditions need to be true for the discount to apply.

How do I exclude a category from a WooCommerce discount?

Set a category condition to Not In List instead of In List, then select the category you want excluded. The discount applies to every other category in the rule’s scope, and the excluded one is skipped entirely.

How do I set expiration dates for a category discount?

Use the Valid Between field when building the campaign to set a start and end date. The discount stops applying automatically once the window closes, with no manual deactivation needed.

What’s the difference between a category discount rule and a coupon?

A coupon requires the customer to find and enter a code. A category discount rule applies automatically the moment a matching product or cart meets the conditions, with no code involved.

Key takeaways

  • Core WooCommerce has no native category-level discount, so a rules plugin like Disco fills that gap.
  • Percentage, fixed, free shipping, and bulk discount types can all target a category condition instead of individual products.
  • “In List” includes a category; “Not In List” excludes it, useful for storewide sales that skip one category.
  • Combine a category condition with a cart-subtotal or user-role condition using “And” to layer requirements.
  • The “Valid Between” field handles time-limited campaigns without extra plugins.
  • Set a user limit if you need to cap total redemptions and prevent overuse.
[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.