WooCommerce dynamic pricing – everything you need to know

Create a ‘buy one, get one free’ offer – or any other combination like ‘buy two, get one half price’ – in WooCommerce

In this article I’m going to show you how to create dynamic pricing rules using WooCommerce and WooCommerce Fees and Discounts (a WooCommerce discounts plugin). WooCommerce dynamic pricing rules allow you to create offers like ‘Buy One Get One Free’, bulk pricing, user role pricing and all kinds of discount.

What is WooCommerce dynamic pricing?

A really simple example of WooCommerce dynamic pricing is a ‘Buy One Get One Free’ (BOGOF) offer, otherwise known as ‘Buy X Get Y Free’.

Although BOGOF stands for ‘Buy One Get One Free’, it can refer to any combination of discounted item accompanying a full-price purchase, for example:

  • Buy two items, get a third item at a discount
  • Purchase one product and get another product free or at a discounted rate
  • Buy any three products from one category and get 30% off products in a second category
  • Buy one get one half price

And so on. These are all great examples of WooCommerce dynamic discounts.

Use the menu below to navigate through this article.

Reasons for using WooCommerce dynamic pricing

Like any discounting strategy, the idea is to sell more product. But dynamic pricing gives you extra flexibility and subtlety.

There is a fine but distinct difference between these two scenarios:

  • Buy 4 items and get 33% off the purchase price (price reduction strategy)
  • Buy 3 items and we’ll give you one more item for free (BOGOF)

Both scenarios encourage you to buy more items than you might originally have planned – you might only have wanted to buy one or two, for instance.

But whereas the first scenario could be said to cheapen the perceived value of the product by offering money off, the second scenario maintains the perceived value but appears to present the user with a bonus or gift.

In both cases, the price ends up being the same but by offering ‘buy three get one free’ you’re making the customer feel special.

Free gifts and bonus products

There’s another benefit to WooCommerce dynamic pricing over a simple money-off offer: the ability to offer a second product as a free gift or bonus when the customer buys a certain quantity of the main product. For instance:

  • Buy any three items from our cosmetics range and get a make-up bag absolutely free
  • Purchase a certain brand of laptop and get a free case
  • Buy an iPhone and get a screen protector at half price
  • Purchase two pairs of jeans, get a belt for free

These offers incentivise the customer to buy more items by luring them with the promise of a free gift or discounted item.

Now let’s look at how to create a number of dynamic pricing rules in WooCommerce.

All these examples will use the WooCommerce Fees and Discounts plugin.

How to create a WooCommerce Buy One Get One Free offer

As discussed above, Buy One Get One Free is one of the most popular dynamic pricing strategies you can adopt in WooCommerce.

In the first example working with Fees and Discounts, we’ll look at creating a simple BOGOF offer. In our example, we have a shop selling fruit. We’d like to incentivise the customer to buy more bananas by offering a two for one deal, i.e. buy one banana, get a second banana free.

With Fees and Discounts, it’s simple. Once installed, you’ll get another tab in WooCommerce > Settings:

WooCommerce dynamic pricing settings tab

Click on the ‘Fees and Discounts’ tab, then on the ‘Dynamic Pricing’ menu link underneath.

Click ‘Add Rule’ to add a dynamic pricing rule.

WooCommerce dynamic pricing rule - buy one get one free

In the rule above, I’ve added the following settings:

  • Offer type: ‘Buy X Get X’
  • Label: optional text to add under the price label on the product
  • Applies to: ‘Specific products’ – so we can specify the exact products that the offer applies to
  • Count: ‘Product’ – we count how many products we have
  • Buy: how many products the customer needs to buy in order to qualify for the offer
  • Get: how many products the customer will receive at the adjusted rate once they qualify
  • Adjustment type: ‘Percentage Discount’ – so we’ll calculate the offer as a percentage of the product price
  • Amount: ‘100’ – so we’ll reduce the price by 100%
  • Buy products – this is a list of products that the offer applies to

You can see from the above how quick it to set up this WooCommerce dynamic pricing rule.

On the front end, the additional pricing information has been added:

Buy One Get One Free WooCommerce

And when the customer adds two items to their cart, the discount is applied:

WooCommerce dynamic pricing rule in cart - buy one get one free

You could easily adapt this method in WooCommerce for a scenario like buy one get one half price etc.

How to create a buy one product, get a different product free in WooCommerce

A slight variation on the WooCommerce BOGOF rule above is to offer a different product as an incentive for buying the main product, for instance ‘Buy this camera and get a new lens cap free’.

This is sometimes referred to as Buy X Get Y Free.

We can set this up using WooCommerce Fees and Discounts as follows:

  • In WooCommerce > Settings > Fees and Discounts, add a new rule like this:
WooCommerce buy X get Y free

The rules are set as follows:

  • Offer type: ‘Buy X Get Y’
  • Label: optional text to add under the price label on the product
  • Applies to: ‘Specific products’ – so we can specify the exact products that the offer applies to
  • Count: ‘Product’ – we count how many products we have
  • Buy: how many products the customer needs to buy in order to qualify for the offer
  • Get: how many products the customer will receive at the adjusted rate once they qualify
  • Max Items: the maximum number of items the customer can receive for free
  • Adjustment type: ‘Percentage Discount’ – here we’ll adjust the price of the free item 100% (to make it free)
  • Amount: ‘100’ – we’ll reduce the price by 100%
  • Buy products – this is a list of products that the offer applies to
  • Get products – this is the list of products that will have their price adjusted if the customer purchases a product from the “Buy products” list

You can see how this looks in the cart here:

WooCommerce buy one item get another item free

How to create a Buy one product, get a different product discounted in WooCommerce

A slight variation on the WooCommerce dynamic discount rule above is to offer a discount on a second product as an incentive for buying the main product, for instance ‘buy this camera and get $50 off a new lens cap’.

We can set this up using WooCommerce Fees and Discounts as follows:

  • In WooCommerce > Settings > Fees and Discounts, add a new rule like this:
WooCommerce pricing rule

The rules are set as follows:

  • Offer type: ‘Buy X Get Y’
  • Label: optional text to add under the price label on the product
  • Applies to: ‘Specific products’ – so we can specify the exact products that the offer applies to
  • Count: ‘Product’ – we count how many products we have
  • Buy: how many products the customer needs to buy in order to qualify for the offer
  • Get: how many products the customer will receive at the adjusted rate once they qualify
  • Adjustment type: ‘Fixed Discount’ – so we’ll adjust the price by a fixed amount
  • Amount: ’50’ – we’ll reduce the price by 50
  • Buy products – this is a list of products that the offer applies to
  • Get products – this is the list of products that will have their price adjusted if the customer purchases a product from the “Buy products” list

You can see how this looks in the cart here:

WooCommerce buy one item get another item free

How to create bulk pricing discounts

Bulk pricing discounts are percentage or fixed discounts based on the quantity of product being purchased. To set up a bulk pricing discount:

  • In WooCommerce > Settings > Fees and Discounts, add a new rule like this:
WooCommerce dynamic bulk pricing

The rules are set as follows:

  • Offer type: ‘Bulk Pricing’
  • Applies to: ‘Specific products’ – so we can specify the exact products that the offer applies to
  • Buy products – this is a list of products that the offer applies to
  • Tiers – in this section, we enter one or more tiers to specify how our bulk pricing discounts will be applied. In the example above, we’ve got two tiers – one for quantities between 101 and 200, and one for quantities between 201 and 500

You can see how this looks on the product page here:

Note that the product price is expressed as a range, plus there’s a table below the add to cart button showing the bulk pricing tiers.

For more information, check out this guide to creating WooCommerce bulk discounts.

How to create discounts for specific product categories

If we want, we can create WooCommerce dynamic pricing rules for all products in specific categories. We can do this for Buy One Get One Free, or for bulk discounts.

In this example, we’ll create a bulk discount for all products in the ‘Fruit’ category.

WooCommerce dynamic discount for categories

The settings are almost identical to the bulk pricing rule above, except:

  • In ‘Applies to’, choose ‘Specific categories’
  • Then in ‘Buy categories’, enter the category or categories that the rule applies to

Now all products in the chosen WooCommerce category will be subject to the same dynamic pricing discount.

How to create discounts according to user roles

Another common way to use dynamic pricing in WooCommerce is user role pricing. With this method, you can charge different prices for the same products depending on the customer’s user role.

To enable user role pricing in Fees and Discounts, go to WooCommerce > Settings > Fees and Discounts and check the ‘Enable User Role Pricing’ option.

Click on the ‘User Role Pricing’ submenu item.

You’ll see a list of all user roles in your site. Enter percentage or fixed discounts or fees for each user role. These rules will be applied globally to all products on the site.

Dynamic user role pricing in WooCommerce

For more information, take a look at this article on WooCommerce user role pricing.

You might also like to look at this article on WooCommerce wholesale pricing which focuses on a specific aspect of user role pricing.

How to create discounts according to user roles for individual products

Instead of applying user role pricing discounts globally, as above, you may wish to apply discounts only to selected products.

In this case, edit the product that you would like to apply the user role pricing to.

Click the ‘User Roles’ tab in the Product Data section.

User role pricing by product

You’ll see a list of all user roles and options for setting a discount or fee for each.

How to create percentage discounts

We’ve covered percentage discounts in several of the examples above.

Or you can take a look at this article for more information on how to create percentage discounts in WooCommerce.

How to dynamic pricing rules that add fees in WooCommerce

All the examples we’ve looked at so far involve discounts. But the Fees and Discounts plugin allows you to add a fixed or percentage fee to prices, not just to discount them.

To add a fee, just choose ‘Percentage fee’ or ‘Fixed fee’ from the pricing rule in any of the examples above.

Advanced dynamic pricing rules for WooCommerce categories

The final example in this walkthrough is for an offer based on product categories, rather than on specific products. Let’s say that any customer who purchases an item from Category A will receive a free item from Category B. So, for example, buy a pair of shoes and get a free pair of socks.

  • In WooCommerce > Settings > Fees and Discounts, add a new rule similar to this:
WooCommerce category based pricing

The rules are set as follows:

  • Offer type: ‘Buy X Get Y’
  • Applies to: ‘Specific categories’ – this will allow you to choose which categories your offer is valid for
  • Count: ‘Product’ – we count how many products we have
  • Buy: how many products the customer needs to buy in order to qualify for the offer
  • Get: how many products the customer will receive at the adjusted rate once they qualify
  • Adjustment type: ‘Percentage Discount’ – so we’ll adjust the price by a percentage
  • Amount: ‘100’ – we’ll reduce the price by 100%
  • Buy categories – select which categories the customer must purchase products from to qualify for the offer
  • Get categories – the list of categories where the free items will be drawn from

You can see how this looks in the cart here:

WooCommerce Buy X Get Y Free

Get creative with WooCommerce dynamic pricing

It’s worth bearing in mind that customers are increasingly aware of these kinds of dynamic pricing techniques.

It’s worth checking out this article from Entrepreneur magazine which suggests getting creative with your dynamic pricing marketing. Consumers are getting wise to simple offers like ‘two for one’. Instead, you can try something left-field like ‘buy one, get three free’.

A psychological approach to dynamic pricing

If you’d like to get more in depth in to the psychology of BOGOF, check out this scientific research paper showing which ratios of purchased to free products in your BOGOF will bring you most success.

You can also use this method to add costs – for example, buying a product in a certain quantity will actually increase the price of other products. You can use this to add punitive charges, perhaps if some items are over a certain weight, or if they are particularly collectible.

Further reading on WooCommerce dynamic pricing

You can also get some ideas for pricing strategies from this article on implementing a WooCommerce discount.

Read this article if you want to know more about setting prices by user role in WooCommerce.

Wrapping up

WooCommerce dynamic discounts can be an incredibly effective sales strategy. Hopefully, this article has shown you how easy they can be to set up.

If you want to implement any of the WooCommerce dynamic pricing rules I’ve described above, click the image below to purchase your copy of the WooCommerce Fees and Discounts plugin.


Popular Posts

5 thoughts on “WooCommerce dynamic pricing – everything you need to know

Avatar

Hello Gareth,
I’m trying to create a website for in house use in our store. I work for a small mattress company and literally nothing is computerized. All orders are written out on paper and there is no way to track orders except to actually physically track the paper trail.
So I’m setting up a woocommerce site just for use in house. And I’m trying to see if I can use your plugin. All beds and mattresses we sell are made to order and we can make them in any size the customer wants. I want to use your plugin to calculate the price of the order based on the size of the bed.
I don’t want to create an insanely long list of variables but I need to be able to change the price automatically.
What I need is as follows;
1. Customer will choose what type of bed/mattress they wish to buy
2. Customer will input width – Width can be whatever the client wants (in 1cm increments) but prices change every 10cm (prices are set in our pricelist, no calculations needed)
3. Customer will input length – Lenght can be whatever the client wants but there is a 10% increase in price for extra long beds/mattresses; ie 206cm and longer
4. Customer will input various other options which will affect total price of bed/mattress
I hope there is an easy solution to this problem. Thank you for your time.

Reply
Avatar

Hi – thanks for the comment. Actually, this sounds like you might need to customise a plugin to achieve exactly what you need. I’m happy to discuss customisations – but I don’t have a solution that will meet your exact needs just off the shelf.

You can email me directly at info@pluginrepublic.com if you would like to discuss a customisation.

Thanks.

Reply
Avatar

Would this plugin work with another plugin by plugin republic called product add-ons ultimate?

Thanks

Reply
Avatar

Hi – yes, the two plugins will work together for role-based discounts. The discounts will apply on the base price of the product.

Please let me know if you need any more information.

Thanks

Gareth

Reply
Avatar

HI,

Will this plugin work to have some items in the shop sell by weight and others by ‘each’?

Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

WooCommerce dynamic pricing – everything you need to know Changelog