The fastest way to set up a WooCommerce volume discount is to install a dynamic pricing plugin like Disco, create a discount rule, and choose your trigger: cart subtotal, item quantity, or a tiered bulk range. WooCommerce’s built-in coupon tool can do a basic version of this too, but customers have to enter a code manually for it to apply. This guide covers both routes.
What counts as a WooCommerce volume discount
A volume discount lowers the price per item as a customer buys more, either of one product or across their whole cart. It rewards bulk buying instead of relying on a code the customer has to find and enter. Three structures cover most use cases:
| Type | How it works | Example |
|---|---|---|
| Quantity-based | Discount applies once cart quantity of one item crosses a threshold | 10% off when a customer buys 5 or more units of a product |
| Bulk (tiered) | Discount rate increases across defined quantity ranges | 10% off 5–9 t-shirts, 20% off 10 or more |
| Cart-total | Discount applies once the entire cart subtotal crosses a dollar amount | 10% off orders over $100 |
Which one you build depends on whether you’re trying to move more units of a specific product, clear inventory across a category, or raise average order value store-wide.
How to set up a WooCommerce volume discount using Disco
Disco – WooCommerce Dynamic Pricing & Discount Rules is a free plugin built specifically for this. Install and activate it, then use the sections below depending on which discount type you need. Each rule takes about two minutes to build.
Set a cart-total discount
Say you want 10% off any order over $100. From the Disco dashboard, click Create a Discount, name the rule, and select Cart as the discount intent. Choose All Products (or a specific category), set the discount type to Percentage, and enter your value. Add a Cart Subtotal condition set to Greater than or Equal, and input $100. If you want to restrict this to one category, stack a second Category condition on the same rule. Save it, then test by adding qualifying products to the cart.
Set a quantity-based discount
This one triggers off units in the cart rather than dollar value. Select Cart as the discount intent again, choose All Products or specific ones, and set your percentage. Instead of a Cart Subtotal condition, add a Cart Quantity condition, set it to Greater than or Equal, and enter the unit count. Five units at 15% off is a common starting point. Save the rule and add five qualifying items to the cart to confirm it fires.
Set a tiered bulk discount
Tiered pricing needs its own discount intent because it applies different rates across ranges instead of one flat percentage. Select Bulk from the Discount Intent options, then choose which products the rule applies to. In the Bulk Rules box, define each tier: for example, a minimum of 5 and maximum of 9 units at 10% off, then click Add More to add a second tier at 10+ units and 20% off. If the discount should only apply to one category (t-shirts, say), add a Category condition before saving. Test with quantities in each range to confirm both tiers apply correctly.
How to set a volume discount using coupon codes
WooCommerce’s native Coupons feature can do this without a plugin, at the cost of requiring the customer to enter a code. Go to Marketing > Coupons and add a new coupon. Set the discount type to Percentage and enter your value (25% off a $500 minimum spend, for example). Under Usage Restriction, set the minimum spend amount, and optionally restrict the coupon to specific products or categories. Save it. Customers apply it by clicking Add a Coupon on the cart page and entering the code.
How to auto-apply a coupon discount with custom code
The coupon tool above doesn’t apply itself automatically. If you’re comfortable editing theme files, you can add a snippet to functions.php that applies a discount as soon as the cart subtotal qualifies, with no code entry required. Back up functions.php before editing, and test on staging first: a broken snippet here can take down cart calculation storewide.
// Apply 25% discount when cart total is $500 or more
add_action( 'woocommerce_cart_calculate_fees', 'custom_discount_for_large_orders', 20, 1 );
function custom_discount_for_large_orders( $cart ) {
if ( is_admin() || ! defined( 'WC_ABSPATH' ) || WC()->cart->is_empty() ) {
return;
}
$minimum_spend = 500;
$discount_percentage = 25;
$cart_subtotal = $cart->get_subtotal();
if ( $cart_subtotal >= $minimum_spend ) {
$discount_amount = $cart_subtotal * ($discount_percentage / 100);
$cart->add_fee( __( '25% Discount for Orders Over $500', 'woocommerce' ), -$discount_amount );
}
}
Add products worth $500 or more to the cart to confirm the fee line appears without a coupon code. If you switch themes later, you’ll need to move this snippet into the new theme’s functions.php, or better, into a small site-specific plugin so a theme update can’t wipe it out.
Best WooCommerce volume discount plugin: Disco
Disco handles all three discount types above in one plugin, plus bundle and BOGO deals in the Pro version. It’s free at the core, with no code required for the setups in this guide.
Key features:
- Discount intent: Choose product, cart, bulk, bundle, BOGO, or free-shipping rules from one interface.
- Condition stacking: Combine cart subtotal, quantity, category, and other conditions with AND/OR logic on a single rule.
- Multi-currency support: Discounts calculated correctly alongside WPML, FOX, CURCY, and Aelia currency switchers.
- No coupon codes: Rules apply automatically at checkout, so there’s nothing for the customer to enter or forget.
Check the official pricing page for current plan details before publishing anything customer-facing.
Why store owners use volume discounts
Volume discounts push customers toward buying more per order, which lifts average order value and helps clear slower-moving stock faster than single-unit sales would. The tradeoff is margin: a 20% tier on top-sellers can eat into profit if the threshold is set too low, so it’s worth checking your margin on the discounted tier before launching, not after.
Beyond order value, discounts tend to reduce cart abandonment (a customer who’s two units away from a discount often adds one more rather than checking out early) and can double as a light acquisition tool, since bulk pricing shows up in comparison shopping and price-conscious searches.
Frequently Asked Questions
What is a WooCommerce volume discount?
It’s a pricing rule that reduces the price per item as a customer buys more, either of a single product or across their entire cart. It’s usually set up through a dynamic pricing plugin so the discount applies automatically, without a coupon code.
What’s the difference between a bulk discount and a quantity discount?
They’re closely related. A quantity discount typically applies to one flat rate once a threshold is met. A bulk discount is the tiered version: different rates for different quantity ranges, like 10% off 5–9 units and 20% off 10 or more.
Can I add a volume discount without a plugin?
Yes, using WooCommerce’s built-in Coupons feature or a custom snippet in functions.php. Both work, but coupons require the customer to enter a code, and custom code needs testing on staging before it touches a live store.
How do I create a bulk discount in a WooCommerce store?
Install a dynamic pricing plugin, select the bulk discount intent, and define quantity ranges with their own discount rate for each tier. Add a category or product condition if the tiers should only apply to specific items, then test each range separately.
Is Disco free to use?
Disco’s core features, including cart, quantity, and bulk discounts, are available in the free version. BOGO and bundle deals are part of the Pro upgrade. Check the plugin’s official page for current pricing before committing to a plan.
Key takeaways
- Quantity, bulk, and cart-total discounts cover most volume pricing needs. Pick based on whether you’re targeting one product, a tiered range, or overall cart value.
- A plugin like Disco applies these rules automatically at checkout, with no coupon code for the customer to remember.
- WooCommerce’s native Coupons tool works for a basic version, but it’s manual: the customer has to enter the code.
- Custom code can auto-apply a discount without a plugin, but it needs a staging test and a backup of
functions.phpfirst. - Check your margin on any discount tier before launching it, not after.
Free version on WordPress.org. Every Pro licence includes a 30-day money-back guarantee.