What can we help you with?

How to apply Category Rule and Multiple Buy One Get One (BOGO) rules together?

Nikki is one of our customers who was using ELEX Dynamic Pricing and Discounts Plugin for WooCommerce. She wanted to run a promotional offer in which she could offer a discount on a certain product category, in addition to the BOGO(Buy One Get One) offers for the same set of products(s).

The Business Case

“I would like to have several BOGO discounts – 6+1, 11+2, 22+5, and want only one of them to apply (which is not a problem, just a first match or order from biggest to lowest). But this should in addition to the percentage discount (on a specific product category).
How could I create such a combo?”

For demonstration, let us say Nikki has a product category called ‘Hoodie’ for which she wanted to offer a 10% discount. And based on her BOGO discount requirement, let us consider, the purchase of 6 units of hoodies, one free mug was given, and consequently, 11 hoodies with 2 free mugs and 22 hoodies with 5 free mugs should be given.

Although this case may seem straight-forward, the available solution was short of something.

Our Dynamic Pricing and Discount Plugin for WooCommerce provides three discount calculation modes:

1. Best Discount – in which only the Category Rule was being applied, as the best discount.

2. First Match Rule – based on the priority set on the Execution Order settings, the first rule was being applied.
For example, if the BOGO rule was prioritized, the Category rule was not applied.

3. All Matched Rule – applies Category rule (10% discount) and all BOGO rules (6+1, 11+2 and 22+5)

The Optimal Solution

The available calculation mode did not help Nikki achieve her discount requirement correctly. Hence we suggested her to use ELEX WooCommerce Catalog Mode, Wholesale & Role Based Pricing plugin in addition to the ELEX Dynamic Pricing plugin.

Let us take a step-by-step walkthrough to see how the solution was achievable.

1. Configure Category discount using ELEX WooCommerce Catalog Mode, Wholesale & Role Base Pricing plugin

  • Go to WooCommerce > Pricing & Discount > Role-Based Pricing settings, and scroll down to find price adjustment table.
  • Next, select desired category (Hoodie in our case) from the Categories column and enter -10% value in Price Adjustment (%) column. Since we are offering this discount for all users, the same values have to be set up for all user roles.
  • Lastly, tick the Enable checkbox for all user roles and save the settings.

A sample screenshot of the settings is shown below.

2. Configure BOGO discounts using ELEX Dynamic Pricing and Discounts Plugin for WooCommerce

  • Go to WooCommerce > Dynamic Pricing > Settings.
  • In the Execution Order section, enable only BOGO Rules, and in the Calculation Mode settings, select First Match Rule option.
    Below is a sample screenshot that shows the settings to be configured.

  • Next, go to Dynamic Pricing > Discount Rules > BOGO Rules. 
  • Click on Add New Rule button.
  • Configure the first rule for 22 units of hoodies with 5 free units of mugs, as shown in the screenshot below.

  • Similarly, add other rules for 11 hoodies with 2 free mugs and 6 hoodies with 1 free mug.
    The final BOGO rules created will look something as shown in the below screenshot.

Hence all our settings are configured now.

The Outcome

Moving to the WooCommerce shop page, we have added one unit of product – ‘Woo Hoodie’ from the ‘Hoodie’ category to the cart, as shown in the screenshot below.

As shown in the above screenshot, the category discount of 10% is applied to the product.

Next, when we increase the number of units to six, the cart is updated with percentage discount and one unit of the free product (Woo Mug) is added to the cart, as shown in the below screenshot.

When the number of units for hoodies is increased to eleven, the cart gets updated with calculated percentage discount and two units of free mugs is added to the cart, as shown in the screenshot below.

Further, when the quantity of hoodies is increased to twenty-two, the cart is updated with percentage discount with five units of free mugs, as shown in the below screenshot.

Hence, in this way, Nikki was able to apply Percentage discount for a specific category from WooCommerce Catalog Mode, Wholesale & Role Based Pricing plugin and BOGO discounts from Dynamic Pricing and Discounts for WooCommerce very easily.

Nikki’s review of Dynamic Pricing and Discounts for WooCommerce:


great, even for more complex stores… we have many different rules for different combinations and categories that did not work out of the box with only this plugin, but the customer service was great, they understood what we needed and recommended combining it with another of their plugin and now it does exactly what we needed! btw, this was the 3rd plugin we tried, the others didn’t get close to providing this functionality! superb!


To explore more details about the plugins, go check out ELEX Dynamic Pricing and Discounts Plugin for WooCommerce and ELEX WooCommerce Catalog Mode, Wholesale & Role Based Pricing plugin.

Check out the product documentation section for more product related articles.

You can also check out other WooCommerce and WordPress plugins in ELEX.

Previous A quick guide to selling personalized products in WooCommerce and giving offers on them
You must be logged in to post a comment.