Why can't Shopify handle multiple discounts?

Simple scenario. I offer buy 4 get 5th free on vape shortfills. I also give away free nic shots with every shortfill, there is a choice of 5 different nic shots, so I use a 3rd party app to provide the choice of what nic shot to add.

It works perfectly if I put up to 4 shortfills and select 4 nic shots in my basket - all 4 shortills are charged and the nic shots are added free.

As soon as I put a 5th shortfill into the basket, the 5th shortfill is now free and the nic shots are full price.

Now, in the settings for discounts, they are both set to combine, but also in product discounts is says “If an item is eligible for multiple product discounts, only the largest will apply.”

I’m no expert in the English language, but surely if you set a discount to combine with another discount you’d expect it to apply any and all discounts you may want.

Why is this? Why has Shopify deliberately hobbled the software to underperform like this? Surely it should be up to the individual merchant to decide whether discounts can actually be combined?

Any insight would be appreciated.

Hi Bears_Vapes,

In Shopify, “combining” product discounts really means, “allowing discounts to be applied to different products within the same cart.”

It sounds like what you’re looking for is a way to “stack” product discounts. Unfortunately, you simply can’t do this.

Your best option for “stacking” discounts would be to make one a product discount, and the other an order discount.

I recommend consulting Shopify’s “Discount Combinations” help article to see if there’s another way you can set up your offer:

https://help.shopify.com/en/manual/discounts/combining-discounts/discount-combinations

One upcoming Shopify API I’m looking forward to is called the Discount Allocator Functions API. It’s still in developer preview, but it looks like it’ll give stores a way to provide their own logic for discount combinations (including stacking):

https://shopify.dev/docs/api/functions/reference/discounts-allocator

Best,
Tobe

1 Like

Hi Tobe,

Thanks for your reply and pointing out the difference between combining and stacking - I’d never heard of stacking before, except in reference to LIFOs.

Unfortunately I can’t see any (meaningful) way of handling either as an order discount, as all shortills are different prices and if you buy a 50ml shortfill you get 1 nic shot and 100mls will get you 2 nic shots.

At the moment I’m handling it with a notice: “You can choose 1 nic salt. You’ll get 2 bottles of your chosen shot if you are buying a 100ml Shortfill. Please note there can be problems at checkout with multiple promotions. If you are charged for your Nic Shot we will refund it to you.”, which seems to be working, but it’s cumbersome.

Looking forward to the Discounts Allocator Function API being rolled out. Any idea of the time-scale?

All the best,

Neil