Skip to main content

Magento 3 for 2 promotion

· 9 min read

Advanced promotions creation in Magento - part 4

In this series, we cover Magento price cart rules in depth. This is the fourth part of our promo series, and it will deal with the Magento 3 for 2 promotion.

Magento 3 for 2 promotion = 2+1 promotion

Another way to look at 3 for 2 promotion is as a 2+1 promotion.

  • Buy three watches, pay only for the two (most expensive)
  • Buy two t-shirts, get the next (cheapest) t-shirt for free
  • 3 for 2 on all products for orders above $100
  • 2+1 on all products

Other articles in these series:

Creating 3 for 2 promotion without extension

Using the Magento built-in BOGO promotion, creating a 3 for 2 promotion is possible. However, as discussed in previous articles, the Magento built-in solution only applies the promotion to the exact same item.

If you add three quantities of the same product, for example, “Wayfayer Bag,” you will get one for free. This is rarely a useful case of the 3 for 2 promotion.

Most of the time, you would like the promotion to apply to a group of products, such as a category, a list of SKUs, or an attribute (e.g., brand).

Creating 3 for 2 promotion with extension

Therefore, to implement the 3 for 2 promotion on more than one product, we will need an advanced promotions extension for Magento. In the following examples, we will use the Mexbs Additional Promotions extension.

Let's see how to implement the promotions above using the extension.

Buy three watches, pay only for the two (most expensive)

This promotion applies a 100% discount to the cheapest product out of three. For example, if the customer adds 3 different watches, the cheapest one will be free. If he adds 6 different watches, the cheapest two will be free.

Promo configuration

To configure it, choose “N + M / Percent Discount” in the “Apply” field

Magento price cart rule configuration, the N+M action type is selected

We need to define the promo configuration so that it behaves exactly as we want. Let's see how to do that in this specific example and discuss all the fields and their meanings:

We fill the fields in the following way:

  • Buy [ 2 ] items , Get the subsequent [ 1 ] items with [ 100 ]% discount - because our promo is 2+1
  • Category is 6 - because this is the category of the watches in our store
  • [label for upsell cart hints—singular: [ watch ], plural: [ watches ]]—these are the hint messages that will appear in the cart and the mini-cart, encouraging the customer to add more items. For example, “Get another watch for free.” We will discuss the upsell cart hints later in detail.
  • Ordered by [most expensive] - the promo extension first looks at what items not to discount, so if we order by most expensive, the cheapest ones will get the discount
  • Discount method = Edge - as discussed in the previous article - the extension has two methods of discounting
  • Discount each alternative item (that is, discount method = Spread Out). In this case, the extension orders the items and discounts each alternative one (in our example two no and one yes)
  • Discount a sequence of items (that is, discount method - Edge). In this case, the extension orders the items and discounts them subsequently (in our example, the cheapest third of them).

Save the promo.

Promo results

Adding one watch to the cart

In the cart and the mini-cart, we can see that if we add one watch to the cart, we can see the hint message that suggests the customer add two more watches. The message is “Add one more watch to get the next watch for free!”

The Magento mini-cart shows a hint message that tells the customer to add another watch in order to get the next one for free

Adding another watch to the cart

If we add another watch, we will get the hint message “You can now add another watch for free!”.

The Magento mini-cart shows a hint message that tells the customer that he can add a free watch

Adding another watch

If we add another watch, we can see that the hint message disappears, and the cheapest watch is discounted.

The Magento mini-cart shows has three watches and the cheapest is free

In this example, we saw how the promotion and guiding upsell hints in the mini-cart (and the cart) make the best effort to keep the customer within the shopping funnel. By providing information about the promotion on every shopping step, we make it much more likely to keep the customer within the shopping funnel.

3 for 2 on all products (for orders above $100)

In this example, we encourage the customer to place a bigger order by providing the 3 for 2 promotions only for orders above $100.

We will implement this rule using the combination of Magento core conditions and the Additional Promotion extension's N+M promotion.

Again, using the upsell cart hints, we will maximize the chances that the customer will stay within the shopping funnel.

Promo configuration

First, we will configure the action “3 for 2 on all products” = “2+1 on all products (cheapest free)”. As in the previous example, to configure it, choose “N + M / Percent Discount” in the “Apply” field.

The fields are filled in the following way:

The configuration of the 3 for 2 on all product promotion

Explanation:

  • Buy [ 2 ] items, Get the subsequent [ 1 ] items with [ 100 ]% discount - because our promo is 2+1
  • Category is 2 - because this is the default category in our Magento store, and all products belong to this category
  • [label for upsell cart hints—singular: [ item ], plural: [ items ]]—these are the hint messages that will appear in the cart and the mini-cart, encouraging the customer to add more items. For example, “Get another item for free.”
  • Display Upsell Cart Hints = Yes - we want to display the upsell cart hints
  • Hide Cart Hints after the Discount was applied number of times = 1 - we want to hide the hints after the customer added three products to the cart, that is after the discount was applied once. If we leave this field empty, the hints will show up endlessly, which might be too naggy and repel the customer.

Promo results

Adding three items to the cart for less than $100

If we add three items to the cart, we can see that the cheapest one is discounted.

The Magento mini-cart with three products worth less than $100 and the cheapest is free

However, it is not exactly what we want. We want only to apply the discount if the order subtotal is $100 or more. For that, we will add a condition to our rule using the core Magento conditions.

Adding condition to the promotion for the order to be $100 or more

For that, we will go to the “Conditions” tab in our cart rule. In the drop-down, we have various options. To achieve the condition of a $100 subtotal, we choose “Cart attribute → Subtotal.”

We fill “equals or greater than 100”.

The Magento cart rule condition of subtotal equals or greater than $100

After saving the rule, if we go back to our cart and update it, we will see that the discount disappeared. This is good; however, the customer doesn’t have any indication that he needs to achieve a $100 subtotal in order to get the discount.

The Magento mini-cart with three products worth less than $100 and there is no discount applied

Therefore, we want to display a hint in the mini cart that will explain to the customer that he needs to reach the $100 in order to receive the discount.

To do that, we need to fill in the field “Action Label for Upsell Cart Hints.” This field is what the customer sees in the second part of the hint if he doesn’t reach $100. For example, “Add $5 worth of items to get the 3 for 2 on your products.”

Therefore, we fill the text “to get the 3 for 2 on your products” in this field.

The Magento promotion action label field that contains the second part of the hint if the subtotal didnt reach the $100

Having items for less than $100 in the cart and getting the hint message

Now, we will see the following hint message in the cart and the mini-cart: “Add $39 worth more products to get 3 for 2 on your products.”

The Magento mini-cart with three products worth less than $100 and there is no discount applied

Now there is no more confusion, and the customer knows that he needs to add another $39 worth of items in order to be eligible for the “3 for 2 promotion”.

Adding more items and reaching the $100 subtotal

If we add more items to the cart, the promotion will be applied, and the cheapest of each three will get a 100% discount. (In the following example it is the two cheapest out of six).

The Magento mini-cart with six products worth more than $100 and the cheapest two are free

Exactly as we wanted!

Wrap up

The “3 for 2 promotion” is a super powerful promotion that is used by many merchants to increase the average order value. We saw how to achieve this promotion using the special promotions extension (the Mexbs Additional Promotions extension).

We also saw the super powerful “cart / mini-cart hints” feature, which increases the chances of the customer's retention within the shopping funnel by keeping him informed about the promotion at each step of his journey.

We also saw a way to increase the average order value further by adding the “order above $100” condition. Using the cart hints, we ensured that the customer was informed about this condition and knew the amount needed to be added to achieve the discount.