How To Give A Buy 2 Get 1 Half Price Deal In WooCommerce

buy 2 get 1 half price

Creating unique bargain shopping opportunities for your customers is a smart way to boost your online sales. However, administrating the logistics of a ‘Buy 2 Get 1 Half Price’ deal on your e-commerce site can be difficult.

Fortunately, our Advanced Coupons plugin for WooCommerce comes with a flexible Buy One Get One (BOGO) coupon feature, which you can adapt to offer variations on this popular deal. Ours is one of the few coupon plugins that offer multiple options for implementing this type of discount.

In this article, we’ll discuss the ins and outs of BOGO deals and how to implement one for your WooCommerce store. Let’s dive right in!

Understanding Buy 2 Get 1 Half Price Deals

In a Buy 2 Get 1 Half Price deal, customers receive a discount for every three items of one type they purchase. For example, say you sell basic t-shirts for $10. If you offer a Buy 2 Get 1 Half Price deal for them, then customers could buy three t-shirts for $25 instead of $30.

This is a variation on the classic BOGO discount, in which customers receive a second item free with the purchase of the first. These types of deals incentivize purchases and can sometimes lead people who otherwise wouldn’t spend money on your site to do so.

Modifying your BOGO deal and reducing it to a Buy 2 Get 1 Half Price offer enables you to stick closer to your original prices while still enticing customers with a discount. Increasing the minimum number of items that must be purchased can also help you clear out excess inventory.

One important thing to remember is that it may be harder to sell larger, more expensive items with this type of deal. For instance, few people will want to buy three computers, even at a discount.

How to Give a Buy 2 Get 1 Half Price Deal with WooCommerce (In 5 Steps)

Although WooCommerce includes coupon and discount features out of the box, it doesn’t include advanced configuration options for more complex deals. Fortunately, our Advanced Coupons plugin can help.

For the purposes of this tutorial, we’ll assume you already have an active WooCommerce store and that you have our premium plugin installed an activated on your site. Here’s how Advanced Coupons can help implement your Buy 2 Get 1 Half Price deal.

Step 1: Add a new BOGO deal

First, navigate to WooCommerce > Coupons > Add New in your dashboard. Here you can enter your coupon code and description as you would for a normal discount. You can also configure any general settings such as an expiration date.

Then scroll down and look for the BOGO Deals tab in the Coupon Data section:

Here you will set up the parameters for your modified BOGO deal.

Step 2: Set your coupon trigger

The first section in the Buy X Get X Deal (BOGO) discount type is the “Buy” Type:

There are four options here:

  • Specific Products: You’ll select individual items from your store that your deal will apply to.
  • Any Combination of Products: Customers who purchase any two products will be able to purchase any third item for half price.
  • Product Categories: Your deal will apply to all items within the specified category.
  • Any Products: Customer can select any products and the cheapest will automatically get a 50% discount.

For the purposes of this tutorial, we’ll stick with our previous t-shirt example. Therefore, we’ll select the Product Categories option from the dropdown. Then we’ll click on Add Category and enter Tshirts:

It’s important that you increase the quantity to two. Then click on the Add button.

Step 3: Specify your discount

Once your trigger is set, scroll down to the next section. Here you’ll specify how your discount should be applied:

First, choose whether the half-price item must be a specific product, any product, or a product within a certain category.

For our example, we’ve selected Product Category, since we want to allow customers to purchase any t-shirt for half price after purchasing two t-shirts at full price. Next, we’ll click on Add Category and enter Tshirts.

Then we’ll set the quantity to one. The discount should be a Percentage Discount of 50:

Remember to click on the Add button to save your discount settings.

Step 4: Configure your discount frequency and notifications

Next, there are a few other settings you may want to attend to. Under Additional Settings in the BOGO Deals tab, select whether or not you want your deal to repeat:

Configuring additional BOGO deal settings in Advanced Coupons.

If you select Only once, customers will only receive half price for one item no matter how many products they purchase. The Repeatedly option will apply your discount to every third item.

So, if we set our example deal to repeat, customers will receive two t-shirts at half price if they buy six, three t-shirts at half price if they buy nine, and so on.

You can also customize the customer notification message, button text and URL, and notice type to guide shoppers and alert them to your deal.

Step 5: Apply your cart conditions

The last thing you have to do is set up your cart conditions. This section needs to match the trigger you already created during Step 2.

For our example, that means adding the Product Categories Exist In Cart condition and setting it to Tshirts with its quantity set to More Than One:

When you put these conditions together, they state that the half price t-shirt discount will be applied when more than one item from the t-shirt category is in the cart. Save and publish your deal, then test it out:

A Buy 2 Get 1 Half Price deal in the cart.

Above, you can see an example of a cart with our sample deal applied.


Running a Buy 2 Get 1 Half Price deal can help you drive more sales and move excess inventory while losing minimal revenue. Although WooCommerce doesn’t support this type of discount out of the box, Advanced Coupons can help.

Here’s how to use our plugin to create a modified BOGO deal in five steps:

  1. Add a new BOGO deal.
  2. Set your coupon trigger.
  3. Specify your discount.
  4. Configure your discount frequency and notifications.
  5. Apply your cart conditions.

Do you have any questions about implementing a Buy 2 Get 1 Half Price sale on your WooCommerce site? Let us know in the comments section below!


18 thoughts on “How To Give A Buy 2 Get 1 Half Price Deal In WooCommerce

    1. Hey Bill, the cheapest item will always be the one given (ie. the least discount, so as to favor the store owner). Feel free to reach out to support, we’ll happily get you up and running 🙂

  1. You can delete my comments! I found the answer after looking a little closer. Definitely will be buying your fine plugin. Thank you!

  2. Hello Can you contact me to achieve a discount :
    – add1 or more products “A” to the cart
    e.g: 2 products A : 2×50€
    – apply 50% discount from the second to the last product “A”
    e.g: 1 product 50€, 1 product 25€
    I tried to make this rule on the free version of the plugin but tell me if it’s possible

    1. Hi Cyrille, yes you should be able to do that on the Specific Product BOGO.

      Select Specific Product for the trigger (buy) type, choose the product. Save this row.
      Select Specific Product for the apply (get) type, choose the same product. Choose Percentage Discount in the drop down and set to 50% off. Save this row.

      Hope this helps!

  3. Hello other question : do the coupon apply only in the cart, or as well in the backoffice Orders. I tried to create an order with the same products as in the cart with the same coupon but didn’t get my discount…

    1. Hi Cyrille, only on the front end. WooCommerce’s interface does not support enough hooks for us to apply cart conditions on the backend (because technically there is no cart at this point)

  4. Hi there,
    I don’t have BOGO deals in the discount type. Does it mean I have to upgrade to Premium to use this feature?

  5. The big issue here, is what if we want the coupon to only apply to two (or more) of the same product? Say we sell 100 products, but we want a code that makes any two that are the same have the BOGO offer applied?

    I cannot see how to achieve this.

    1. Great question Andy. If you’re doing a specific product you can do “Specific Product” on the Get Type as well. This then means you can have it auto apply the “get” product too. We’re also working on a “Same Product” get type as well but its actually trickier than it sounds to implement.

  6. Hi,

    I am looking to create a set of rules for items on my store and I believe this product will work best. I have a question and I want to make sure this will work correctly. The scenarios I am looking to trigger on my website at are:

    1. For any small games purchased, buy one get a second (of equal or lesser value) 50% off. Qualifying games include (Carrom Game Board, Champion Nok Hockey, Skittles, Bowl-A-Mania, Shuffleboard, and four SKUs of balance boards) Only valid on a 2nd item.

    2. For any balance board purchased, receive 50% off on any balance board or small game purchased (Carrom Game Board, Champion Nok Hockey, Skittles, Bowl-A-Mania, and Shuffleboard)

    Can you let me know if that is possible with the Advanced plugin?

    3) Lastly: am I able to have these instanced applied without the user having to enter a code? I would like it so that if they add one item to their cart, then add a second one, it just automatically discounts the second item at the correct percentage. If they add 4 more of that same product, will it discount the cheapest one at the percentage I want?

    Thanks in advance!

    1. Hi Evan,

      1. Yes, this is a BOGO deal and you would have it not-repeating. Use the category or product combination BUY type to trigger the deal.

      2. I’m getting you want them to pay full price for the first one, but 50% off on the second? If so, you can do this with BOGO too, the BUY type would be category and the GET type would be category as well by the sounds of it.

      If you’re just wanting to give the 50% off any balance board you can do this with a product discount and set a Cart Condition to restrict to only when that category is present in the cart in the desired quantity.

      3. Yes you can set matching Cart Conditions the same as what you put for the BOGO trigger and then select Auto Apply and it will add the coupon. For your deals though, as you don’t know what product they want, you will want to give them some instructions after the coupon applies to go select another eligible product (there’s a notice setting for this). It won’t auto apply the product unless you choose Specific Product.

      Discounting the cheapest is always true in any case.

      Hope this helps!

      1. Okay, I purchased this product and first and foremost I have to say – I am beyond impressed. You’ve covered absolutely everything that there could possibly be in a scenario.

        I have one issue that I’m having a problem with and I know I’m just doing one thing wrong, I just don’t know how to fix it! I’m hoping you can help.

        I’m going with the scenario I mentioned above:

        1. For any small games purchased, buy one get a second (of equal or lesser value) 50% off. Qualifying games include (Carrom Game Board, Champion Nok Hockey, Skittles, Bowl-A-Mania, Shuffleboard, and any of the four Balance Boards) Only valid on a 2nd item.

        I’ve created a Buy X Get X (BOGO) Deal. Set to “Customer Buys”: Any Combination of Products. I’ve added every product listed above, and set quantity to one.

        I’ve set “Customer Gets”: I’ve added every product listed above here as well, set quantity to one, percent to 50.

        I have checked “Automatically add deal products to cart” – Set to Only Once. Saved that.

        Furthermore: I think this is where I am going wrong. Cart Conditions – I have added “IF” Product Quantities Exists in Cart – I have also added every single product in the list, set each one to “EXACTLY” – set quantity to 1. And I have saved cart settings.

        However, when I test and add these items to my cart, I do not get the discount.

        Any ideas where I am going wrong? Thanks in advance!


Leave a Reply

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