How to create WooCommerce cart discounts: tutorial [+ video]

If you are frustrated with cart abandonment on your WooCommerce store, you might want to consider offering cart discounts. One of the most effective way to reduce abandoned carts and to increase your average order value is to offer a cart discount to your customers.
Figures for the average cart abandonment rate tend to be around 70%. According to the Baymard Institute, who surveyed 49 different studies on abandoned carts, the figure in 2024 is 70.19%. And the main reason that users give for abandoning their cart is simple: costs are too high.
WooCommerce cart discount plugin
So a simple way to mitigate cart abandonment in your WooCommerce store is to offer cart discounts. WooCommerce doesn’t have any built-in methods to offer discounts on the cart page so we’ll look at how to set them up using the Dynamic Pricing and Discount Rules plugin.
Dynamic Pricing and Discount Rules allows you to create several different types of cart discount, including:
- Discounts based on the total value of the cart
- Discounts based on the amount spent on certain products
- Buy one get one free style offers
- Simple discounts like percentage or fixed amounts off some or all products
- Bulk discounts based on the quantity of items in the cart
Moreover, you can limit your cart discounts to certain user roles, set start and end times, even add special promotional notices to encourage your customers to purchase more product.
Let’s have a look at how to implement cart discounts in WooCommerce.
How to create WooCommerce cart discounts – tutorial
Let’s look at some cart discount examples.
Install and active the Dynamic Pricing and Discount Rules plugin
Once you’ve purchased the Dynamic Pricing and Discount Rules plugin, you can install it on your site:
- Download the zip file using the link in your welcome email,
- Go to Plugins > Add New in your WordPress dashboard
- Click on the ‘Upload Plugin’ button
- Drag and drop the zip file into the ‘Choose File’ area and click ‘Install Now’.

When the file has uploaded, click on the ‘Activate’ button.
Example #1: WooCommerce cart discount based on total value – fixed amount
Our first type of cart discount is a discount based on the overall value of the cart. Let’s say we’ll give our users $20 if they spend more than $250 in total.
A discount like this will encourage the user to complete the checkout process – reducing your cart abandonment rate. And it will also encourage the user to purchase more product in order to achieve the discount.
By using a fixed amount discount, you know exactly how much the discount will be. This may be preferable to applying a percentage discount which will obviously increase the more the user spends.
To apply a fixed cart discount in WooCommerce based on the total order value:
- Go to WooCommerce > Fees and Discounts and click ‘Add Rule’. Rules are how you control your discounts. You can set as many or as few of them as you like
- Enter a title. This is just for your own reference and won’t appear on the front end of the site
- Select ‘Order Total’ in the ‘Rule’ field. The ‘Order Total’ rule type will apply a discount based on the total amount in the user’s cart
- In the ‘Tiers’ section, create your discount tiers

You can see that we can create multiple discount tiers by setting minimum and maximum totals, the type of adjustment (e.g. percentage or fixed), and the value of the adjustment.
In the settings above, we’ve created an initial cart discount of $20 if the user spends between $250 and $500. If the user spends between $501 and $1000, they’ll receive a $50 discount. And if they spend over $1000, they’ll receive a $100 discount.
There’s also a column to add a ‘Label’ per tier. This label will appear in the cart when the discount is triggered.
You can use these tiers to offer progressively more attractive cart discounts, encouraging the user to spend more.
When the user lands on the cart page, they’ll see their discount applied in the subtotals section of the cart. You can also enable a message informing the user how much more they need to spend to qualify for the next discount tier.

Let’s look at a slight variation on this.
Example #2: WooCommerce cart discount based on total value – percentage amount
In the example above, we looked at how to implement a fixed discount in the cart based on the total cart value. One of the reasons for using a fixed amount was to ensure that we had control of exactly how much discount we were applying.
However, you might prefer to use a percentage discount instead. In this case, the value of the discount will correspond directly to the total value of the cart.
To apply a percentage cart discount in WooCommerce based on the total order value:
- Go to WooCommerce > Fees and Discounts and click ‘Add Rule’
- Enter a title
- Select ‘Order Total’ in the ‘Rule’ field
- In the ‘Tiers’ section, create your discount tiers, choosing ‘Percentage Discount’ as the ‘Adjustment’ type:

In this example, the user will receive a 5% discount when they spend between $250 and $500 in total; a 10% discount if they spend between $501 and $1000; and a 15% discount if they spend $1001 or greater.
Increasing the percentage discount in tiers like this is a great incentive for users to add more products to their cart.
When the user lands on the cart page, there’s an optional promotional notice informing them of how much more to spend to qualify for the next discount level. The percentage discount is also applied per line item – so the user can see the original price struck through and the discounted price in its place.

Example #3: WooCommerce cart discount on spend – specific categories
The first two examples above are simple discounts on the value of the whole cart. Let’s look at refining this so that we only offer discounts on the value of certain items.
If you are finding that certain lines are not selling, you can offer a discount on spend in the cart just on those items. Other items in the user’s cart will not be discounted.
So if products in the ‘Hoodies’ section are not moving, you can offer the user a discount based on spend to encourage to buy more.
To apply a cart discount on spend for certain categories in WooCommerce:
- Go to WooCommerce > Fees and Discounts and click ‘Add Rule’
- Enter a title
- Select ‘Discount on Spend’ in the ‘Rule’ field
- In the ‘Applies to’ field, choose ‘Specific categories’
- In the ‘”Buy” categories’ field, select the categories that you want to apply the discount to
- In the ‘Tiers’ section, create your discount tiers. You can choose either percentage or fixed discounts as the ‘Adjustment’ type:

Users will now receive a discount in their cart when they purchase items in the specified categories to a certain value. Other products in the cart are not discounted.

In the cart above, the discount is applied as a deduction in the subtotals. This is because it is totalling up the value of all products in the specified category and calculating the discount.
If you prefer, you can calculate the discount separately for each item in the specified category. In that case, you can then display the discount as part of the line item.
Just set ‘Count by’ to ‘Product’.

Then the discount will be applied in the cart per line item.

Example #4: WooCommerce cart discount on spend – specific products
You can create exactly the same discount on spend as in Example 3 above – but apply it to specific products instead of categories.
To apply a cart discount on spend for certain products in WooCommerce:
- Go to WooCommerce > Fees and Discounts and click ‘Add Rule’
- Enter a title
- Select ‘Discount on Spend’ in the ‘Rule’ field
- In the ‘Applies to’ field, choose ‘Specific products’
- In the ‘”Buy” products’ field, select the products that you want to apply the discount to
- In the ‘Tiers’ section, create your discount tiers. You can choose either percentage or fixed discounts as the ‘Adjustment’ type:

Example #5: Discount based on the number of items in the cart
Our next example is slightly different from the ones we’ve looked at so far. Instead of calculating the discount based on the value of items in the cart, we’ll create a discount based on the quantity of items.
Quantity-based discounts are a popular way to encourage users to buy more product. It’s an ideal method to help clear old or slow-moving stock.
To apply a discount in WooCommerce based on the number of items in the cart:
- Go to WooCommerce > Fees and Discounts and click ‘Add Rule’
- Enter a title
- Select ‘Bulk Pricing’ in the ‘Rule’ field
- Set ‘Applies to’ to ‘All items’ if you would like to use the total of all items in the cart. See examples below for alternatives to this
- In the ‘Tiers’ section, create your discount tiers based on minimum and maximum quantities:

As with previous examples, you can choose to apply percentage or fixed amount discounts.
The discount is applied in the subtotals fields:

If you’re using fixed discounts, you can also choose whether to apply a single one-off discount when the user reaches a quantity threshold – e.g. $10 off the order – or apply the discount to each item – e.g. $10 off per item.

In the example above, the ‘Fixed adjustment type’ is set to ‘All’, which means we’ll applying a fixed discount to the entire order rather than to each product.

Example #6: Discount based on the number of items in the cart – specific categories
We can refine the example above so that cart discounts are not based on the quantity of all items in the cart, but only the number of items within specified categories.
Just follow the steps in Example 5 above, with the following changes:
- In the ‘Applies to’ field, choose ‘Specific categories’
- In the ‘”Buy” categories’ field, select the categories that you want to apply the discount to

Now, the plugin will count the number of items in the cart from those categories and apply a discount accordingly.
Example #7: Discount based on the number of items in the cart – specific products
We can update the example above so that cart discounts are based on the number of specific products in the cart.
Just follow the steps in Example 5 above, with the following changes:
- In the ‘Applies to’ field, choose ‘Specific products’
- In the ‘”Buy” products’ field, select the products that you want to apply the discount to

Example #8: Buy one get one free discounts in the cart
Buy one get one free offers are a great incentive for customers to purchase more goods. With Dynamic Pricing and Discount Rules, you can create all types of offer like:
- Buy two get one free
- Buy three get one half price
- Buy one from Category X and get one from category Y at $10 off
And so on. To create a BOGO offer:
- Go to WooCommerce > Fees and Discounts and click ‘Add Rule’
- Enter a title
- Select ‘Buy X Get X’ in the ‘Rule’ field
- In the ‘Applies to’ field, choose what products the offer should apply to. If you are creating an offer for specific products or categories, you’ll need to select these in the ‘”Buy” products’ or ‘”Buy” categories’ fields
- In the ‘Buy’ field, enter how many products the user needs to purchase in order to qualify for the deal
- In the ‘Get’ field, enter how many products the user will receive as part of the deal
- You can specify a maximum number of items in the ‘Max’ field
- Specify the type of discount in the ‘Adjustment type’ and ‘Amount’ fields

Then the user will be prompted to buy another item if they qualify:

There’s a detailed article on creating buy one get one free offers in WooCommerce here.
Example #9: WooCommerce cart discounts for specific user roles
If you want to restrict your cart discounts to certain user roles, you can do so easily. You might need to ensure only your wholesale customers get the cart discount, while retail customers always pay full price.
To enable role-based cart discounts, just follow any of the examples above. To restrict the discount to specific user rules, select the roles in the ‘Roles’ field:

Alternatively, you could choose to apply the cart discount to all your customers – but exclude one or more roles. Just select the roles in the ‘Exclude roles’ field:

Example #10: Scheduling cart discounts
Finally, if you want to run cart discounts some time in the future, you can schedule them using the Dynamic Pricing and Discount Rules plugin. This means that you can set up your discount then specify a start and end time – so the offer will start running automatically.
To schedule a cart discount offer, just select ‘Scheduled’ in the ‘Status’ field, then enter your start and end time and date.

If you leave the end date empty, the cart discount will run indefinitely.
WooCommerce cart discounts video
You can also use the video below to see how many of the examples above are implemented.
Start adding WooCommerce cart discounts today
Cart discounts are an effective way to reduce cart abandonment, sell more product and increase your average order value.
Using the WooCommerce Dynamic Pricing and Discount Rules plugin, you can quickly and easily set up all kinds of cart discount.
It’s compatible with all themes and it’s backed by our 14-day money-back guarantee.