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.
On this page
- Types of discount combinations
- Eligibility requirements
- Considerations for discount combinations
- Limitations for discount combinations
- Supported combinations
- Combination rules for discounts with multiple classes
- Managing discount combinations
- Troubleshooting discount combinations
- Frequently asked questions
- Examples of combined discounts
- Before you contact Shopify Support about discount combinations
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:
- Your store must not use any checkout.liquid customizations or features.
- You're not using the Licensify app.
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:
- Your store must be on the Shopify Plus plan.
- You need to use the admin API to combine product discounts using tags.
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:
- Product discounts apply first to individual items.
- Order discounts apply to the revised subtotal after product discounts.
- 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.
| Combination scenario | Supported combination | Example discount | Description |
|---|---|---|---|
| Product discount(s)
+ Order discount | ✔ | 20offPants + 10offShirts + Welcome10 | Product 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 + 10offShirts | 20offPants and 10offShirts offer discounts to different items in the same cart. |
| Order discount
+ Order discount | ✔ | Welcome10 + Spend200Get5off | Multiple order discounts can apply to the same order. |
| Product discount(s)
+ Free shipping discount | ✔ | 20offPants + 10offShirts + FreeShip | Product discounts and shipping discounts can apply to the same order. |
| Order discount
+ Shipping discount | ✔ | Welcome10 + FreeShip | Order discounts and shipping discounts can apply to the same order. |
| Product discount
+ Product discount (applied to same product) | ✔ (Shopify Plus only) | LoyaltyDiscount + SeasonalDiscount | Multiple product discounts can be combined on the same line item. |
| Shipping discount
+ Shipping discount | ✘ | 5offShipping + 10offShipping | Multiple 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:
- Test your discount combinations
- Monitor your automatic discounts maximum limit of 25
- Check if an active discount is combinable
- Edit existing discounts to be combinable
- Use clear naming for your discount codes (for example,
STACK10-SHIPPING) - Audit your discount combination settings regularly
- Educate staff on how discounts interact
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 ,
, or
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:
From your Shopify admin, go to Discounts.
Click the
button.
Click Add filter, and then select Combines with.
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
From your Shopify admin, go to Discounts.
Click the discount that you want to make combinable.
In the Combinations section, select the discount classes that you want the discount to be combinable with.
Click Save.
Mobile
From the Shopify app, tap the
icon.
Tap Discounts.
Tap the discount that you want to make combinable.
In the Combinations section, select the discount classes that you want to let the discount combine with.
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
From your Shopify admin, go to Discounts.
Create a new discount or click an existing discount.
In the Tags section, click
Add tags, and then search for or enter a tag to add to your discount.
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.
Troubleshoot "Discount couldn't be used with your existing discounts" error
If a customer receives this error at checkout even when it appears no other discount is being applied, then try the following steps:
- 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.
- 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.
- 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.
- 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.
Troubleshoot discount combination option not available
Troubleshoot discount replaced by different discount
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.
Troubleshoot automatic discount not applying with discount code
If an automatic discount isn't applying alongside a customer's discount code, then verify the following settings and limits:
- 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.
- 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.
- 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.
- 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.
Troubleshoot shipping discount not overriding product discount
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:
- 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.
- 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.
Troubleshoot products in Buy X get Y discount not receiving additional discounts
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.
Can I apply an automatic discount and a discount code to the same cart?
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.
What happens when multiple discounts apply at checkout?
When multiple discounts apply, they're calculated in the following order:
- Product discounts apply first to individual items.
- Order discounts apply to the revised subtotal (after product discounts).
- 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.
Why don't I have the option to combine product discounts with order discounts?
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.
Do discounts I create combine automatically?
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.
Can I combine discounts created by third-party apps?
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.
Can I apply discounts to subscription orders?
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.
Why can't I combine shipping discounts with other shipping 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
- Fixed amount product discount and a percentage off order discount
- Multiple percentage off order discounts
- A percentage off order discount and a fixed amount order discount
- Multiple order discounts, multiple product discounts, and a free shipping discount
- Fixed amount product discount and a percentage off product discount (Shopify Plus only, combining product discounts on the same line item)
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.
| Cart before discounts | Discounts | Cart 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 USD | Freeship100: Free shipping on any order over $100 USD | Shipping: 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.
| Cart before discounts | Discounts | Cart after discounts |
|---|---|---|
| Pants: $100 USD Shirts: $50 USD Boots: $200 USD | 20offPants: $20 USD off any pants | Pants: $80 USD Shirts: $50 USD Boots: $200 USD |
| Subtotal: $350 USD | 10offOrder: 10% off the order | Subtotal: $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.
| Cart before discounts | Discounts | Cart after discounts |
|---|---|---|
| Pants: $100 USD Shirts: $50 USD Boots: $200 USD | Pants: $100 USD Shirts: $50 USD Boots: $200 USD | |
| Subtotal: $350 USD | 10offOrder: 10% off the order15offOver200: 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.
| Cart before discounts | Discounts | Cart after discounts |
|---|---|---|
| Pants: $100 USD Shirts: $50 USD Boots: $200 USD | Pants: $100 USD Shirts: $50 USD Boots: $200 USD | |
| Subtotal: $350 USD | 10offOrder: 10% off the order20offOver200: $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
10offOrderdiscount code that provides 10% off a customer's first order - a
15offOver200automatic discount that provides 15% off an order with a subtotal over $200 USD - a
20offPantsproduct discount code that provides a fixed $20 USD off pants - a
10offBootsdiscount code that provides 10% off boots - a
Freeship100automatic 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.
| Cart before discounts | Discounts | Cart after discounts |
|---|---|---|
| Pants: $100 USD Shirts: $50 USD Boots: $200 USD | 20offPants: $20 USD off any pants10offBoots: 10% off any boots | Pants: $80 USD Shirts: $50 USD Boots: $180 USD |
| Subtotal: $350 USD | 10offOrder: 10% off the order15offOver200: 15% off orders over $200 USD | Subtotal: $232.50 USD |
| Shipping: $20 USD | Freeship100: Free shipping on any order over $100 USD | Shipping: 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.
| Cart before discounts | Discounts | Cart after discounts |
|---|---|---|
| Pants: $100 USD Shirts: $50 USD Boots: $200 USD | 10offClothing: 10% off all clothing | Pants: $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