Magento 3 for 2 promotion
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:
- Part 1 - percentage discount, fixed discount, and fixed discount for the whole cart in Magento
- Part 2 - Magento built-in buy x get y promotion (Buy x get y - same product)
- Part 3 - Magento buy one, get one free (different products))
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
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!”
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!”.
Adding another watch
If we add another watch, we can see that the hint message disappears, and the cheapest watch is discounted.
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:
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.
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”.
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.
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.
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.”
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).
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.