I would like to create a discount code with these requirements:
For a complete productgroup which contains different priced products: when a user orders 3 of the same product, the user will receive a 4th product for free.
Similar if the user orders 6 of the same product, he will receive 2 free products.
I am struggling with the different possibilities in the discount rule and cannot seem to setup the required rules with the default rules and rewards I think.
I tried creating a rule where the user orders 4 to 7 products, we give a discount of 25% of the orderline price. But this is not correct, because the 25% discount is calculated on the whole order line, so also for product 4,5,6 and 7.
Unfortunately the products are all different priced, so I cannot create a fixed reward amount.
Is there anyone who has a similar set-up who got this to work?
Yea, we had a customer who needed to do this recently and it's highlighted we could do with a better approach for this kind of discount. OOTB the discounting mechanism is really only geared towards discounting prices and can't handle very well adding extra free products.
I think the first question I need to check then is whether the 4th item should be automatically added to the order? Or is it more the case, if they manually ad 4, the 4th one becomes free?
I think the first question I need to check then is whether the 4th item should be automatically added to the order? Or is it more the
case, if they manually ad 4, the 4th one becomes free?
For this customer at the moment, both options are fine. But for reference, we've had customers requesting both situations in the past with TeaCommerce.
For now I am implementing a custom reward & custom rule which discounts the orderline when the 4th product is added with 1 time the unitprice every 4th product. Will implement this today or monday, I think this should be possible.
But I was just checking to see if we could generate such a discount using the default rules / rewards.
Looking forward if you have any idea's. How did the other customer implement this?
Yea, this is probably exactly what I would have suggested to create a custom rule/reward to discount "every nth item".
The adding of free products automatically needed some custom code in the end and I think we might have ended up splitting the discount into 2, such that one discount became a flag to say "this order line matches". Then an order saving event handler was used to watch for an order being saved and if it had that discount, it added the extra product. We then had to force re-calculation where a second discount then applied the discount amount to the nth item.
Far from ideal.
The difficulty ultimately is that discounts are applied during order calculation, but to add a new order item during this phase would require restarting the calculation process so we really need to consider how this could be achieved better.
Thanks again for the quick response.
The option for adding an extra product is far more difficult indeed. We have created a fairly flexible set-up for another customer using TeaCommerce which has a slightly different approach, we named it "shopping cart rewards" where the customer can setup rules in standard Umbraco nodes, which are checked during the proces of adding products to the shopping cart, that flexible set of "rules" is triggered to check if a reward (the free products) need to be added to the order. This way the customer can create complex rules like "if order amount > 100 and product A is 3 times in the order then add product Y 1 time for free, but only on the first match, etc.",. We adjusted the order calculators to allow those products to be free when the conditions match.
This solution could also work for Vendr. Would be awesome if something like that is standard in the core. If you like I can demo / talk you through that solution someday.
For know I think I'll go with the custom discount rule/reward which discounts the orderline amount. Thanks!
Hehe, I was just thinking about suggesting this approach, and indeed it very much would still work for Vendr too. It would definitely be nicer for this to be something the discount engine could handle though for sure (I think, or maybe it does fit nicer with the content 🤔)
Defo up for a chat in the future, if only to get your real world perspective to see what might make a nicer approach.
Discount 4 + 1 products
I would like to create a discount code with these requirements:
For a complete productgroup which contains different priced products: when a user orders 3 of the same product, the user will receive a 4th product for free.
Similar if the user orders 6 of the same product, he will receive 2 free products.
I am struggling with the different possibilities in the discount rule and cannot seem to setup the required rules with the default rules and rewards I think.
I tried creating a rule where the user orders 4 to 7 products, we give a discount of 25% of the orderline price. But this is not correct, because the 25% discount is calculated on the whole order line, so also for product 4,5,6 and 7.
Unfortunately the products are all different priced, so I cannot create a fixed reward amount.
Is there anyone who has a similar set-up who got this to work?
Hi Rody,
Yea, we had a customer who needed to do this recently and it's highlighted we could do with a better approach for this kind of discount. OOTB the discounting mechanism is really only geared towards discounting prices and can't handle very well adding extra free products.
I think the first question I need to check then is whether the 4th item should be automatically added to the order? Or is it more the case, if they manually ad 4, the 4th one becomes free?
Matt
Hi Matt,
Thanks for your quick reply.
For this customer at the moment, both options are fine. But for reference, we've had customers requesting both situations in the past with TeaCommerce.
For now I am implementing a custom reward & custom rule which discounts the orderline when the 4th product is added with 1 time the unitprice every 4th product. Will implement this today or monday, I think this should be possible.
But I was just checking to see if we could generate such a discount using the default rules / rewards.
Looking forward if you have any idea's. How did the other customer implement this?
Hey Rody,
Yea, this is probably exactly what I would have suggested to create a custom rule/reward to discount "every nth item".
The adding of free products automatically needed some custom code in the end and I think we might have ended up splitting the discount into 2, such that one discount became a flag to say "this order line matches". Then an order saving event handler was used to watch for an order being saved and if it had that discount, it added the extra product. We then had to force re-calculation where a second discount then applied the discount amount to the nth item.
Far from ideal.
The difficulty ultimately is that discounts are applied during order calculation, but to add a new order item during this phase would require restarting the calculation process so we really need to consider how this could be achieved better.
Matt
Hi Matt,
Thanks again for the quick response. The option for adding an extra product is far more difficult indeed. We have created a fairly flexible set-up for another customer using TeaCommerce which has a slightly different approach, we named it "shopping cart rewards" where the customer can setup rules in standard Umbraco nodes, which are checked during the proces of adding products to the shopping cart, that flexible set of "rules" is triggered to check if a reward (the free products) need to be added to the order. This way the customer can create complex rules like "if order amount > 100 and product A is 3 times in the order then add product Y 1 time for free, but only on the first match, etc.",. We adjusted the order calculators to allow those products to be free when the conditions match.
This solution could also work for Vendr. Would be awesome if something like that is standard in the core. If you like I can demo / talk you through that solution someday.
For know I think I'll go with the custom discount rule/reward which discounts the orderline amount. Thanks!
Hey Rody,
Hehe, I was just thinking about suggesting this approach, and indeed it very much would still work for Vendr too. It would definitely be nicer for this to be something the discount engine could handle though for sure (I think, or maybe it does fit nicer with the content 🤔)
Defo up for a chat in the future, if only to get your real world perspective to see what might make a nicer approach.
Matt
is working on a reply...