Is there a way to make discounts depend on one another?

Hello,

In Shopify Functions, product and order discounts are all calculated in parallel, without the ability to see the results of other discounts’ calculations. As far as I understand, this is for performance reasons: parallel execution prevents slowing down the checkout.

This makes sense from a technical perspective. However, it doesn’t align with many merchants’ expectations, so this leads to a lot of user frustration in use cases like:

  • Creating a WELCOME10 discount that takes 10% off the order. Many expect the 10% discount to be based on the order subtotal after product discounts are applied.
  • Free gift with purchase offers: Many merchants want to create offers based on the order subtotal after product discounts. For example, “Get a free shirt on an order over $100.”

In both cases, the prices that Shopify Functions reports to apps are before any other discounts are applied, which leads to confusion.

Are there any workarounds possible to allow discounts to depend on other discounts? If not, I totally get it—but do you have any guidance on the best way to communicate this to merchants? We receive many support tickets about this on a regular basis.

Thanks for your help,
Tobe

In Shopify, it is true discount Functions are calculated independently, but you can use conditions to achieve desired outcomes. Ony way of going about that is to create multiple discounts with conditions to control their application. For example, use “WELCOME10” for 10% off the entire order, with a orderMinimumSubtotal of 100.

Hi Samih,

Thanks for your response. Though it would require some changes to our app, and specific, advanced use cases would not be supported, I do think that conditions could help with many common cases for order discounts.