← All guides
HOW-TO GUIDE · SMARTER PROMOTIONS

How to Add a WooCommerce Bulk Discount Based on Quantity

Create a WooCommerce bulk discount by quantity: set a bulk or tiered pricing rule, show a banner and volume table, then test the savings in the cart.

Many shoppers who buy one item would happily buy more if each unit cost a little less. A WooCommerce bulk discount makes that offer explicit: buy five or more, and every unit gets cheaper. The math is rarely the hard part. The hard part is making sure shoppers see the offer before they reach the cart.

This guide builds a quantity discount with Dynamic Discounts, step by step. By the end, you will have a bulk pricing rule for one product, a banner and volume table on its product page, a savings line in the cart, and a banner style that fits your store.

Dynamic Discounts · Walkthrough · 1:07English narration · Captions available

What you need

  • WordPress 6.5 or newer, WooCommerce 8.2 or newer, and PHP 8.2 or newer.
  • Dynamic Discounts, with an active license. Discount rules run only while the license grants access.
  • Products sold in whole quantities. Bulk and tiered rules skip cart lines with fractional quantities.
  • Optional: Dynamic Pricing, if you also want dedicated unit-price and total-price rows. It displays the prices Dynamic Discounts calculates.

Step 1: Create a Product Pricing rule

Open UFP → Dynamic Discounts. On the Product Pricing tab, click Add product-pricing rule and set the Method to Bulk pricing.

Give the rule a Rule title you will recognize later. If you want a banner to explain the offer, add a short Public description, such as “Buy 5 or more and save 10%”. The Private note is visible only to store managers.

Bulk pricing gives every eligible unit the discount of the range the quantity reaches. If you want each range to apply only to the units inside it, choose Tiered pricing instead. The rest of the setup is the same.

Step 2: Set the quantity range and the product

Under Quantity ranges, set From to 5 and leave To empty, which makes the range open-ended. Choose Percentage discount and enter 10. From is inclusive, so a quantity of exactly five qualifies.

Leave Quantities based on at Individual product to count each product, with its variations, on its own. Choose Added up if every matching item should count toward the same threshold.

Under Product selectors, add a row, set Match to Product, and choose your product. A rule with no selector rows targets every product. Click Save rule.

Step 3: Turn on the promotion displays

Promotion displays are off by default, and they never change the price calculation. Open the Promotion tab and enable the parts you want:

  • Enable Your Price shows a live unit price for the quantity a shopper selects.
  • Enable product banners shows the rule’s public description on eligible product pages.
  • Enable volume pricing table lists the quantity ranges. Set Displayed value to Price and discount percentage to show both.
  • Enable You Saved shows the total savings in the cart and at checkout.

Click Save promotion settings.

Step 4: Test the offer in the cart

Open the product on your storefront. In the video, a bottle costs €25, so four bottles cost €100. At five, each bottle drops to €22.50, and the cart shows €12.50 saved. Change the quantity to four and update the cart, and the discount disappears. Go back to five, and it returns.

Test both sides of every threshold this way. When you add conditions later, such as a customer role or a date range, test with a session that matches them and one that does not.

Step 5: Style the banner

Open the Styling tab. Under Style, compare the Card and Classic (accent bar) layouts. Set Spacing to Compact for a narrower banner, pick an entrance Animation, and choose the background color and Title color.

The live preview updates as you go, but values apply only after you save. Click Save styling, then reload the product page to see the finished design.

Good to know

  • Shop, category and search pages keep WooCommerce’s native prices, so sorting and price filters stay consistent. Use the promotion displays to advertise a quantity offer.
  • Rules apply to cart-based purchases. Orders created in the admin, through the REST API, or by automatic subscription renewals use normal prices.
  • With tiered pricing, a cart line that spans tiers shows an average unit price, which can differ from the rate of any single tier.
  • Before larger changes, download a backup from Settings → Import, Export & Recovery. Importing creates a recovery backup first.

Frequently asked questions

What is the difference between bulk and tiered pricing?

Say your range gives 10% off from five units and a shopper buys six. With bulk pricing, all six units get 10% off, because the total reached the range. With tiered pricing, the first four units keep the regular price and only units five and six get 10% off.

Can I limit the discount to certain customers or dates?

Yes. Add Conditions to the rule. Options include user role, logged-in state, cart subtotal, coupons applied, shipping and payment methods, purchase history, and dates, times or days of the week. All conditions in a rule must pass for it to apply.

Does it work with block themes and the Checkout block?

Yes. Prices, discounts and fees are calculated on the server for both Classic and Cart and Checkout Blocks. In a block Single Product template, add the Dynamic Discount Promotion block. In a Classic builder, use [ufp_dynamic_discount display="volume_table"]. Set that display’s automatic position to Manual block or shortcode only so it does not appear twice.

Can I offer other kinds of deals?

Yes. Product Pricing also supports simple adjustments, product groups, Buy X Get X and Buy X Get Y. The Cart Discounts and Checkout Fees tabs add automatic cart-level discounts and positive checkout fees, with the same kind of conditions.