Combining discounts

For some of your promotions, you might want to let customers combine different discounts together. You can choose from eligible combinations that let customers benefit from the best possible total discount based on their cart. You can set up both automatic discounts and discount codes to combine.

Each discount that you create has one of the following classes depending on what the discount applies to:

  • Product discounts: Apply to specific items or collections
  • Order discounts: Apply to cart subtotals
  • Shipping discounts: Modify shipping costs

When you choose to let a discount combine with other discounts, you select which classes of discount it can combine with. For example, if you create a discount code for 10% off an order, then you can choose to let that discount code be combined with product discount codes as well.

Multiple order discounts, product discounts, and shipping discounts can all apply to the same order. Learn more about how different discounts combine. In some cases when there are active automatic discounts on your store, and a customer also uses one or more discount codes, then the best discount or combination of discounts automatically applies to the customer's cart.

If a customer enters more than one discount code during checkout that can't be combined, then the following message displays: Discount couldn't be used with your existing discounts.

Types of discount combinations

There are six types of discount combinations:

  • order discounts with free shipping discounts
  • product discounts with free shipping discounts
  • product discounts with other product discounts on separate items
  • product discounts with order discounts (available only to eligible merchants)
  • order discounts with other order discounts (available only to eligible merchants)
  • product discounts combined with other product discounts on the same item (Shopify Plus only)

Eligibility requirements

All merchants can combine the following discounts:

  • order discounts with free shipping discounts
  • product discounts with free shipping discounts
  • product discounts with other product discounts on separate items

To combine product discounts with order discounts or order discounts with other order discounts, you must meet the following eligibility requirements:

If you meet the eligibility requirements but you can't create discounts with the combinations, then contact Shopify Support.

To combine multiple product discounts on the same line item, you must meet the following requirements:

Considerations for discount combinations

Before activating discount combinations, review the following considerations.

Considerations when creating combinable discounts

Review the following factors that affect how you set up combinable discounts.

Combination settings

Multiple discounts are applied to an order only when the setting on each discount allows the combination.

If you're creating a new discount to combine with another new discount, then you don't have to set up both simultaneously. You can set up and save the first discount, and then create the second discount after. After each discount is active and set up to combine with one another, if a customer applies both discounts to an order, then they combine automatically.

Discount limits

The following limits apply to discount combinations:

  • You can have a maximum of 25 active automatic discounts. This total includes app-based discounts. This means that a maximum of 25 automatic discounts can be applied on the same order.
  • Customers can use a maximum of 5 product or order discount codes and 1 shipping discount code on the same order.

Supported sales channels

Discounts can only be combined on orders that are made through the Online Store, Storefront API, and Shopify POS.

Discounts that bypass combination settings

The following discount types always apply to an order, regardless of any combination settings for other discounts on the same order:

  • Custom discounts that are manually applied to an order. For example, from a manual discount applied to a POS cart, or a unique discount on a draft order.
  • Discounts added to an order using the Scripts API.

Considerations for how combinable discounts are calculated

Review the following factors that affect how discount values are calculated when multiple discounts apply to an order.

Discount application order

Discounts apply in the following order:

  1. Product discounts apply first to individual items.
  2. Order discounts apply to the revised subtotal after product discounts.
  3. Shipping discounts apply last.

Product discounts apply before the order subtotal calculates at checkout. This means that order discounts calculate based on the subtotal after the product discount is applied.

Multiple discounts on the same item

If product and order class discounts can combine, then multiple discounts might be applied to the same line item. For example, if a customer's cart is eligible for an automatic 10% off their order, and they enter a discount code for $5 USD off a product in their cart, then both discounts apply to the eligible item.

If your store is on the Shopify Plus plan, then you can configure multiple product discounts to combine on the same line item. For example, a loyalty discount and a seasonal discount can both apply to the same product.

Best discount selection

If two or more discounts are applied, but can't be combined due to the discount combination setting or the content of the cart, then the best discount for the customer's cart is always applied.

For example, if you have an uncombinable 20% off discount for your Socks collection and an uncombinable $30 USD off discount for your Christmas Socks collection, and then a customer applies both to their cart, then the better discount for the customer applies.

How percentage order discounts stack

If two or more order discounts that provide a percentage off are applied to the same order, then both percentages are calculated on the original subtotal.

For example, if a cart is eligible for a discount that provides 10% off the order, and a second discount code that provides 20% off the order, and the order subtotal is $100 USD, then the total after discounts is $70 USD or 30% off the original subtotal.

All order discounts are applied on the order subtotal after product discounts have been applied. For example, if the order subtotal is $100 USD and a cart is eligible for 10% off with code WELCOME10 and 20% off with code INFLUENCER20, then $10 USD and $20 USD are subtracted from the order total, for a total discount of $30 USD off.

Additional considerations for discount setup and compatibility

Review the following technical considerations that might affect how your discount combinations work:

  • Discount type changes: The discount type and method can't be changed for existing discounts. If you need to change these settings, then you must delete the discount and recreate it.
  • $0 USD and 0% discounts: Discounts with a $0 USD or 0% value might not work correctly at checkout. If you need to create a minimal discount, then use a value of at least $0.01 USD or 1%.
  • External checkouts: Discount combinations aren't available for checkouts on Facebook, Instagram, Google, or other external checkout platforms.

Limitations for discount combinations

Review the following limitations that apply when combining discounts:

  • You can have a maximum of 25 active automatic discounts. This total includes app-based discounts.
  • Customers can use a maximum of 5 product or order discount codes and one shipping discount code on the same order.
  • Discounts can only be combined on orders that are made through the Online Store, Storefront API, and Shopify POS.
  • For products that are part of a Buy X get Y discount, the following scenarios apply depending on the Shopify subsciption plan that your store is on:
    • For all plans except Shopify Plus: All products that are part of a Buy X get Y discount are ineligible for further product discounts. If a customer enters a discount code that applies to any products in a Buy X get Y discount, then the best value overall discount is applied for the customer.
    • For Shopify Plus: The customer-gets product in a Buy X get Y discount is eligible for combining product discounts on the same line item. If a customer enters a discount code for the customer-buys product of a Buy X get Y discount, then the best value overall discount is applied for the customer.
  • The following discount types always apply to an order, regardless of any combination settings for other discounts on the same order:
    • Custom discounts that are manually applied to an order. For example, a custom discount applied to a POS cart, or a custom discount on a draft order.
    • Discounts added to an order using the Scripts API.

Supported combinations

The following table illustrates some examples of possible discount combinations, and displays which combinations are supported.

Examples and descriptions of discount combinations and whether they're supported
Combination scenarioSupported combinationExample discountDescription
Product discount(s)
+
Order discount
20offPants + 10offShirts + Welcome10Product discounts apply before the subtotal is calculated, and then the order discounts apply to the subtotal.
Product discount
+
Product discount (applied to different products)
20offPants + 10offShirts20offPants and 10offShirts offer discounts to different items in the same cart.
Order discount
+
Order discount
Welcome10 + Spend200Get5offMultiple order discounts can apply to the same order.
Product discount(s)
+
Free shipping discount
20offPants + 10offShirts + FreeShipProduct discounts and shipping discounts can apply to the same order.
Order discount
+
Shipping discount
Welcome10 + FreeShipOrder discounts and shipping discounts can apply to the same order.
Product discount
+
Product discount (applied to same product)

(Shopify Plus only)
LoyaltyDiscount + SeasonalDiscountMultiple product discounts can be combined on the same line item.
Shipping discount
+
Shipping discount
5offShipping + 10offShippingMultiple shipping discounts can't apply to the same order.

Combination rules for discounts with multiple classes

If you use an app to create a single discount that includes more than one discount saving, then the discount might include a mix of product, order, or shipping discount classes. When a single discount includes multiple classes, it can combine only with other discounts that allow combinations with all of the included classes.

Review the following example scenarios for combining discounts with multiple classes:

  • You have a single discount that includes savings for product, order, and shipping classes. If you have another discount that allows combinations with product and order discounts, but not with shipping discounts, then the two discounts can't combine.
  • You have a single discount that includes savings for product and order classes. If you have another discount that allows order discount combinations, but doesn't allow product discount combinations, then the two discounts can't combine.

To check which discount classes are included in a discount that has multiple savings, refer to Viewing discount classes.

Managing discount combinations

Consider the following practices when managing your discount combinations:

Check if an active discount is combinable

If you want to view a list of all discounts that have combinations activated, then go to the Discounts page in your Shopify admin. The allowed combinations for each discount are indicated by the product, order, or shipping icons being displayed with a black outline in the Combinations column. You can also filter the Discounts page to view a list of combinations.

Steps:

  1. From your Shopify admin, go to Discounts.

  2. Click the search filter button.

  3. Click Add filter, and then select Combines with.

  4. Select all the discount classes that you want to view the combinations for.

Edit an existing discount to be combinable

You can edit an existing discount to make it combinable. Editing a discount to allow combinations doesn't impact orders where the discount was previously used.

Steps:

Desktop
  1. From your Shopify admin, go to Discounts.

  2. Click the discount that you want to make combinable.

  3. In the Combinations section, select the discount classes that you want the discount to be combinable with.

  4. Click Save.

Mobile
  1. From the Shopify app, tap the Menu icon.

  2. Tap Discounts.

  3. Tap the discount that you want to make combinable.

  4. In the Combinations section, select the discount classes that you want to let the discount combine with.

  5. Tap Save or .

Test your discount combinations

You can test your discount combinations by placing a test order on your store. You can also go through your checkout process and try adding discount codes and reviewing their combinations, and then stop the order process before payment.

If you want to test discounts without completing a purchase, then you can add products to a cart, proceed to checkout, enter your discount codes, and verify the discounts display correctly before closing the checkout page.

When testing your discount combinations, test any discount restrictions at the same time. For example, try adding products that apply to your discount codes as well as products that are excluded from the discount to ensure that the discount combinations work as expected. You can also use different addresses for the customers based on any regional restrictions in your discount.

Configuring product discounts on the same line item

You can configure multiple product discounts to apply at checkout to the same line item. You apply tags to discounts, for example loyalty or seasonal, which you use to identify and group the discounts that can be used on the same product.

Add a tag to a discount

  1. From your Shopify admin, go to Discounts.

  2. Create a new discount or click an existing discount.

  3. In the Tags section, click Plus circle Add tags, and then search for or enter a tag to add to your discount.

  4. Click Save.

Grouping product discounts for combining at checkout

After you've added tags to your discounts, you can then configure your product discount combination settings using the GraphQL Admin API and discount mutations, for example the discountCodeBasicCreate mutation. Your combination settings define a productDiscountsWithTagsOnSameCartLine field that specifies the product discount tags that another product discount can be combined with. For example, you might configure a loyalty discount to combine with any product discount that has the tag seasonal. Discounts with matching tags are then applied together on the same line item at checkout.

Troubleshooting discount combinations

If you're having issues with discount combinations, then review the following common issues and solutions.

If a customer receives this error at checkout even when it appears no other discount is being applied, then try the following steps:

  1. Verify both discounts are set to combine: Go to Discounts in your Shopify admin, open each discount, and confirm that the Combinations section allows the discount to combine with the other discount's class.
  2. Check for active automatic discounts: An automatic discount might be applying to the cart that conflicts with the discount code. Review your active automatic discounts to see if any apply to the products in the cart.
  3. Review any Shopify Scripts: If you use Shopify Scripts, then a script might be rejecting the discount code. Go to Settings > Checkout > Order processing and review any active scripts for conditions that might reject discount codes.
  4. Check for third-party apps: Some apps that modify checkout behavior can cause discount conflicts. Try temporarily uninstalling any discount or checkout-related apps to check if the issue is resolved. You can reinstall the app later if needed.

If the Combinations section in your discount settings doesn't display options to combine product discounts with order discounts, or order discounts with other order discounts, then verify your store meets the following requirements:

  1. Check your checkout setup: To combine product discounts with order discounts, or order discounts with other order discounts, your store must use Checkout Extensibility and not have any checkout.liquid customizations. Review your checkout settings.
  2. Verify app compatibility: Some apps aren't compatible with discount combinations. Check if you're using the Licensify app or any other apps that modify checkout behavior.
  3. Confirm the discount type: Not all discount types support all combinations. For example, Buy X get Y discounts have additional limitations when combined with other product discounts.

If you meet all requirements but still can't access combination options, then contact Shopify Support.

If a customer's discount code was automatically replaced by a different discount, then one of the following reasons might apply:

  • Better discount applied: When multiple discounts apply to the same items and can't be combined, then Shopify automatically applies the best discount for the customer. This is expected behavior to ensure customers receive the maximum savings.
  • Non-combinable discounts: If the discounts aren't set to combine with each other, then only one can apply. To allow both discounts to apply, edit each discount to allow combinations with the appropriate discount classes.
  • Same-value discounts: If two product discounts have the same value and both apply to the same items, then the system might select one over the other for checkout performance. This is expected behavior.

If an automatic discount isn't applying alongside a customer's discount code, then verify the following settings and limits:

  1. Verify combination settings: Ensure both the automatic discount and the discount code are set to combine with each other's class in their Combinations settings.
  2. Check discount eligibility: Confirm that all products in the cart meet the requirements for both discounts. If a product doesn't qualify for one of the discounts, then the combination might not work as expected.
  3. Review discount limits: You can have a maximum of 25 active automatic discounts. If you've reached this limit, then some automatic discounts might not apply. Review your active automatic discounts and deactivate any you no longer need.
  4. Check the discount code limit: Customers can use a maximum of 5 product or order discount codes and 1 shipping discount code per order. If this limit is reached, then additional codes won't apply.

If a shipping discount won't apply when a product or order discount is already in the cart, and the customer receives a message such as "You already have a better combination," then this is expected behavior.

Product and order discounts take priority over shipping discounts when they can't be combined. This is because the discounted cart value is used to calculate shipping options, and removing a product discount to apply a shipping discount could affect the available shipping rates.

To resolve this issue, try either of the following options:

  1. Set discounts to combine: Edit both the product or order discount and the shipping discount to allow them to combine. Go to Discounts, open each discount, and in the Combinations section, select the appropriate discount classes.
  2. Create a combined discount: If you want customers to always receive both discounts, then consider using an app to create a single discount with multiple savings.

Products that are part of a Buy X get Y discount are ineligible for additional product discounts. This is to prevent unintended stacking of discounts on the same items.

If a customer applies a discount code that would apply to products in an active Buy X get Y discount, then the Buy X get Y discount is removed and only the discount code applies.

To work around this limitation, consider the following approaches:

  • Ensure that your Buy X get Y discount and other product discounts apply to different products or collections.
  • Communicate clearly to customers which products are part of the Buy X get Y promotion.
  • Consider using order discounts instead of product discounts, which can combine with Buy X get Y discounts on eligible stores.

Frequently asked questions

Review the following common questions about discount combinations.

Yes, you can apply both automatic discounts and discount codes to the same cart, as long as each discount is configured to combine with the other discount's class. However, you can't apply multiple discounts to a single item unless the discounts are of different classes. For example, you can apply a product discount and a order discount to an order with one product.

When multiple discounts apply, they're calculated in the following order:

  1. Product discounts apply first to individual items.
  2. Order discounts apply to the revised subtotal (after product discounts).
  3. Shipping discounts apply last.

If discounts can combine, then all eligible discounts apply. If discounts can't combine, then the best discount or combination of discounts for the customer is automatically selected. Learn more about how combinable discounts are calculated.

Combining product discounts with order discounts, or order discounts with other order discounts, is only available to merchants who meet specific eligibility requirements. Review the eligibility requirements to confirm your store qualifies for these discount combinations.

No, discounts don't automatically combine. You must manually configure each discount's combination settings. When you create or edit a discount, then use the Combinations section to select which discount classes the discount can combine with.

This depends on whether the app developer has updated their app to support discount combinations. App developers need to update their apps to work with the discount combinations API. If you're experiencing issues combining app-created discounts, then contact the app developer for support.

Yes, you can apply discounts to subscription purchases. If an order contains both subscription products and one-time purchase products, then you can apply different discounts to each because they're treated as separate line items. Learn more about subscription discounts.

Shipping discounts can't be combined with each other because Shopify's shipping discounts apply to the entire shipping rate. Stacking multiple shipping discounts on a single rate isn't supported. You can combine shipping discounts with product or order discounts, but only one shipping discount can apply per order.

Examples of combined discounts

The following are examples of how different combinations of discount types combine at checkout:

Multiple fixed amount product discounts and a free shipping discount

A merchant has a 20offPants product discount code that provides $20 USD off pants, and a 10offShirts product discount that provides $10 USD off shirts. They also have an automatic free shipping discount called Freeship100 that automatically provides free shipping to all purchases over $100 USD.

For the customer's address, the shipping rate is normally $20 USD, but because there is an automatic free discount active for carts over $100 USD, the shipping is free.

The customer's cart would have the following details.

Example of cart contents with multiple product discounts and a free shipping discount.
Cart before discountsDiscountsCart after discounts
Pants: $100 USD
Shirts: $50 USD
Boots: $200 USD
20offPants: $20 USD off any pants
10offShirts: $10 USD off any shirt
Pants: $80 USD
Shirts: $40 USD
Boots: $200 USD
Subtotal: $350 USD Subtotal: $320 USD
Shipping: $20 USDFreeship100: Free shipping on any order over $100 USDShipping: Free
Total: $370 USD Total: $320 USD

Fixed amount product discount and a percentage off order discount

A merchant has a 20offPants product discount code that provides a fixed $20 USD off pants, and a 10offOrder order discount code that provides 10% off the order.

For the customer's address, the shipping rate is $20 USD.

The customer's cart would have the following details.

Example of a cart with a fixed amount product discount and a percent off order discount.
Cart before discountsDiscountsCart after discounts
Pants: $100 USD
Shirts: $50 USD
Boots: $200 USD
20offPants: $20 USD off any pantsPants: $80 USD
Shirts: $50 USD
Boots: $200 USD
Subtotal: $350 USD10offOrder: 10% off the orderSubtotal: $297 USD
Shipping: $20 USD Shipping: $20 USD
Total: $370 USD Total: $317 USD

Multiple percentage off order discounts

A merchant has a 10offOrder discount code that provides 10% off a customers' first order, and a 15offOver200 automatic discount that provides 15% off an order with a subtotal over $200 USD.

If two or more order discounts that each provide a percent off are applied to the same order, then each percent off is calculated based on the original subtotal. In the following example, both the 15% off discount and the 10% off discount are applied to the $350 USD subtotal.

For the customer's address, the shipping rate is $20 USD.

The customer's cart would have the following details.

Example of cart contents with multiple percent off order discounts.
Cart before discountsDiscountsCart after discounts
Pants: $100 USD
Shirts: $50 USD
Boots: $200 USD
Pants: $100 USD
Shirts: $50 USD
Boots: $200 USD
Subtotal: $350 USD10offOrder: 10% off the order
15offOver200: 15% off orders over $200 USD
Subtotal: $262.50 USD
Shipping: $20 USD Shipping: $20 USD
Total: $370 USD Total: $282.50 USD

A percentage off order discount and a fixed amount order discount

A merchant has a 10offOrder discount code that provides 10% off a customer's first order, and a 20offOrder automatic discount that provides $20 USD off an order with a subtotal over $200 USD.

If an order discount that provides a percent off, and an order discount that provides a fixed amount off are applied to the same order, then the percent off order discount applies first, and then the fixed amount order discount applies after.

For this cart, the 10% off order discount is applied to the $350 USD subtotal, and then the fixed $20 USD off order discount is applied to the new subtotal.

For the customer's address, the shipping rate is $20 USD.

The customer's cart would have the following details.

Example of cart contents with a percent off order discount and a fixed amount off order discount.
Cart before discountsDiscountsCart after discounts
Pants: $100 USD
Shirts: $50 USD
Boots: $200 USD
Pants: $100 USD
Shirts: $50 USD
Boots: $200 USD
Subtotal: $350 USD10offOrder: 10% off the order
20offOver200: $20 USD off orders over $200 USD
Subtotal: $295 USD
Shipping: $20 USD Shipping: $20 USD
Total: $370 USD Total: $315 USD

Multiple order discounts, multiple product discounts, and a free shipping discount

A merchant has the following discounts:

  • a 10offOrder discount code that provides 10% off a customer's first order
  • a 15offOver200 automatic discount that provides 15% off an order with a subtotal over $200 USD
  • a 20offPants product discount code that provides a fixed $20 USD off pants
  • a 10offBoots discount code that provides 10% off boots
  • a Freeship100 automatic free shipping discount that provides free shipping to all purchases over $100 USD

The product discount codes apply first, and then the order discount codes apply to the subtotal.

For the customer's address, the shipping rate is normally $20 USD, but because there is an automatic free discount active for carts over $100 USD, the shipping is free.

The customer's cart would have the following details.

Example of cart contents with multiple order discounts, multiple product discounts, and a free shipping discount.
Cart before discountsDiscountsCart after discounts
Pants: $100 USD
Shirts: $50 USD
Boots: $200 USD
20offPants: $20 USD off any pants
10offBoots: 10% off any boots
Pants: $80 USD
Shirts: $50 USD
Boots: $180 USD
Subtotal: $350 USD10offOrder: 10% off the order
15offOver200: 15% off orders over $200 USD
Subtotal: $232.50 USD
Shipping: $20 USDFreeship100: Free shipping on any order over $100 USDShipping: Free
Total: $370 USD Total: $232.50 USD

Fixed amount product discount and a percentage off product discount (Shopify Plus only, combining product discounts on the same line item)

A merchant has a 20offPants product discount code that provides a fixed $20 USD off pants, and a 10offClothing product discount code that provides 10% off all clothing. Percentage discounts are applied before fixed amount discounts to give the customer the best deal.

For the customer's address, the shipping rate is $20 USD.

The customer's cart would have the following details.

Example of cart contents with a percentage off product discount and a fixed amount product discount applied to the same line item.
Cart before discountsDiscountsCart after discounts
Pants: $100 USD
Shirts: $50 USD
Boots: $200 USD
10offClothing: 10% off all clothingPants: $90 USD
Shirts: $45 USD
Boots: $200 USD
20offPants: $20 USD off pants (applied to already discounted $90 USD)Pants: $70 USD
Shirts: $45 USD
Boots: $200 USD
Subtotal: $350 USD Subtotal: $315 USD
Shipping: $20 USD Shipping: $20 USD
Total: $370 USD Total: $335 USD

Before you contact Shopify Support about discount combinations

Before reaching out to Shopify Support, gather the following information to help resolve your issue faster:

  • The names of the discount codes or automatic discounts involved
  • Screenshots of the Combinations settings for each discount
  • The specific error message displayed at checkout, if applicable
  • An example order number where the issue occurred, if available
  • The products or collections affected by the discounts
  • Whether the issue occurs with specific customers or all customers
  • Any recent changes to your discounts or checkout settings
  • Steps you've already tried from the troubleshooting section