Simple BOGOF Rule in Magento

Simple BOGOF Rule in Magento, Magento Blog

Magento comes with a ‘buy 1, get 1 free’ option in the shopping cart price rules section, but it’s not entirely clear how to use it. Here’s a quick tutorial in basic terms which covers how to create a ‘buy 1, get 1 free’ offer on a single Magento product.

Step 1) Ensure SKU is available for promo rule conditions.

This blog post I wrote a while back tells you how to enable certain attributes for use in promotion rules. You need to ensure that SKU is enabled in this way for this to work.

Step 2) Create Shopping Cart Price Rule

Fill in the details of your price rule on the ‘General’ tab by giving it a name, description and a start & finish date if you wish. You need to set Coupon to ‘No Coupon’ as we are not using a promo code here.

You can miss out the ‘Conditions’ section entirely and go straight to ‘Actions’. This tabs is where we set all the rules for our discount. Rather than using the ‘Buy X, Get Y free’

Apply: Percent of product price discount
Which basically means we’ll apply a % discount on the products specified.

Discount amount: 50
The amount of discount we’ll provide is 50% (which is equivalent to buy 1, get 1 free)

Maximum quantity discount is applied to: 0
We don’t need to limit the quantity purchased in this offer

Discount Qty Step (Buy X): 2
This means for every 2 of the SKU’s purchased the discount will be applied (Buy 1 + Get 1 = 2)

The other 3 options are up to you, I’ve left them all as know to keep it simple. The final step is to apply the rule to certain products, in this instance I have chosen to put a SKU as the condition for this to work. Your final standings should look something like this:

The Shining

On the next tab, you can set the label of your offer (e.g. Buy 1 get 1 Free). This helps keep the customer informed about what they’re getting.

Step 3) Test the rule

Who wouldn’t want 2 copies of The Shining on DVD? When you try a purchase of 2 copies of your product on the site it should look something like the following, with the discount label clearly stated in the totals section:


Buy 3 and the offer remains as just getting 1 free. Buy 4 and you’ll get 2 free. Repeat for as many as you have in stock. This is how to use the functionality in its simplest form, there are many other method described on the Magento Wiki. Thanks for reading.