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 the WooCommerce Fees and Discounts plugin. WooCommerce dynamic pricing rules allow you to create offers like ‘Buy X Get Y Free’.

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

And so on.

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.

Get creative with dynamic pricing

It’s worth bearing in mind that customers are increasingly aware of these kinds of 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.

How to create a WooCommerce Buy X Get Y Free offer

As discussed above, Buy X Get Y 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

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 product, get a different product free or discounted in WooCommerce

A slight variation on the price rule above is to offer a different 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

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

Further reading

For some more ideas on dynamic pricing, check out this guide to creating a WooCommerce bulk discount.

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

Wrapping up

Dynamic pricing 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

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

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

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

Leave a Reply

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