How to Set Up a WooCommerce Category Discount (Without Coupon Codes)

Target the category, not a list of products: a Categories condition in Disco covers new arrivals automatically, Not In List excludes a category, and a coupon does the same only with a code.

Shanjida Haider
Content Writer
Last Updated:
4 min read
How to Set Up a WooCommerce Category Discount (Without Coupon Codes)

WooCommerce can restrict a markdown to one category, but only inside a coupon, and a coupon does nothing until somebody types its code. Want every item in Shoes showing 10% off on the shop page? Core WooCommerce has no setting for that.

A WooCommerce category discount works best when it targets the category itself rather than a hand-picked product list. New arrivals land in Shoes next month and inherit the price without anyone touching the rule, and the same condition can be flipped to mean “everything except Shoes”.

The coupon route: category targeting behind a code

Core WooCommerce handles this through coupons (WooCommerce coupon documentation). Open Marketing, then Coupons, then Add new coupon, set an amount, and go to Usage restriction. Product categories limits where the code works; Exclude categories keeps it away from others.

WooCommerce coupon Usage restriction settings with the Clothing category selected

That suits codes you send in a newsletter. Shop-page prices stay untouched, though, and visitors who never see the code never get the saving.

Set up an automatic WooCommerce category discount in Disco

Disco runs equivalent category targeting as a campaign that fires by itself, no code involved, and product campaigns cost nothing. These steps follow Disco’s own category example:

  1. From the WordPress menu, open Disco and click Create a Discount.
  2. Name it (say, “10% off Shoes”) and choose Product as the discount intention.
  3. Under Discount, select All products; the category arrives through a condition instead.
  4. In Product rules, pick percentage or fixed and enter the value.
  5. Click Add condition, choose Categories, set In List, and add Shoes.
  6. Save and exit, then open Shoes in a private browser window.
Disco product rules set to a 10% percentage discount with a Categories In List condition for Shoes

With strikethrough display switched on for the shop and product pages (Disco has per-page settings), each Shoes product shows its original price crossed out beside the new one, while everything outside the category keeps its regular price. Give the campaign a start and end date if the sale should switch itself off.

WooCommerce shop page with shoes showing crossed-out regular prices next to discounted prices

Discount everything except one category

Flip the operator when a storewide sale needs one exception. Disco’s documentation describes Not In List as exclusion: put a category there and every product in your store qualifies except that category’s items.

That’s the tidier way to run “20% off sitewide, new arrivals excluded” or a promotion that has to skip a category you can’t mark down. Coupons manage it too, through Exclude categories, but again only for shoppers holding the code.

Add a second condition to a category discount

A Categories condition sits beside other conditions in one campaign. Here’s what each pairing costs:

PairingExamplePlan
Category + user role15% off Bags for logged-in wholesale accountsFree
Category + cart subtotal10% off Gadgets when the cart passes $100Free
Category + quantity tiersBulk campaign on Books, 20% off from the third copyFree
Free shipping for a categoryShipping campaign limited to SkincareFree
Buy from one category, get from anotherBuy Shoes, get 50% off one AccessoryPro (BOGO)
Category + order historyFirst-time buyers only, on KidsPro

Two rows behave differently from a price cut. That shipping campaign adds a $0 Free Shipping rate to the whole order once a qualifying item sits in the cart, listed beside your other rates, rather than zeroing one product’s postage. Inside a bulk campaign, whichever tier matches applies to every unit on that cart line, so “20% off from the third copy” means all three copies at 20% off.

Wholesale setups are covered under role-based pricing in WooCommerce, thresholds in WooCommerce cart discounts, tiers in WooCommerce bulk discounts, and postage offers in free shipping after a set amount.

Begin with one category and one campaign, check an item inside it and one outside, then layer the second condition. Get Disco free for category campaigns, or see Disco Pro pricing if you need BOGO across categories.

FAQ

Can I discount one WooCommerce category without a coupon?

Not in core WooCommerce. Coupons can be limited to categories but need a code. Disco applies a category discount automatically through a Categories condition, and product campaigns are free.

How do I exclude a category from a storewide sale?

Use the Categories condition with Not In List. The campaign then covers every product except that category.

Is a buy-from-one-category, get-from-another deal free?

No. Buy X Get Y across categories is a BOGO campaign, which needs Disco Pro.

Written by

Shanjida Haider

Shanjida Haidar is an emerging writer whose work blends metaphor, introspection, and refined narrative craft. Formerly known by the pseudonym “Eriza Alica,” she has authored five titles on Wattpad and further developed her voice through consistent, reflective blogging. She is currently pursuing a master’s degree in English Language Teaching at the University of Dhaka, with academic interests spanning language education, child development, philosophy, and psychology. Professionally, Shanjida works as a WooCommerce Writer at WebAppick. She remains committed to continuous growth—both as a writer and as an educator—striving to produce work that is purposeful, insightful, and resonant.

Leave a Comment

Ready to Boost Your WooCommerce Sales?

Join 700+ store owners using the best WooCommerce discount plugin. Start free or go Pro for BOGO, bulk discounts, and dynamic pricing.

14-Day Money-Back Guarantee • 5-Year Loyalty Rewards • Lifetime Updates