Skip to main content

Shopify eCommerce: How do I allow discount stacking in Shopify?

Allow customers to apply multiple discounts during checkout.

Updated over 2 weeks ago

For Shopify merchants

Enable customers to use loyalty rewards, referral incentives, or email discounts alongside Shopify discounts.

Marsello discount combinations are available for:

  • Loyalty rewards

  • Referral incentive rewards

  • Email discounts (campaigns & automations)

☀️ Most common reason to enable discount stacking: If you are using an automated “free shipping on orders over $100” Shopify discount and would like customers to have the option to also use their loyalty reward or email discount on their order too.

⚠️ Important:

  • In order for two discounts to combine/stack, they must be set to combine in both Marsello and Shopify.

  • Discount stacking can result in large discounts, please be conscious when deciding if you'd like to create stackable discounts.

  • Shopify only allows discount codes to stack when they target different products or collections. Two discount codes cannot be applied to the same item at checkout.


Enable discount stacking in Marsello

1. In your Marsello admin, go to Settings > Loyalty > Points program

2. Scroll to [YourStoreDomain] Shopify settings

3. Under Stackable Discounts, select the Discount stacking is disabled toggle to ON

4. Select the types of Shopify discounts you'd like your Marsello discount codes to be able to be stacked with.

  • Shipping discounts

    • 💡Optional: Shipping discounts can be stacked with order discounts or product discounts.

  • Order discounts

  • Product discounts

🤖 Best practice: We recommend selecting all the combination setting options to ensure a smooth & user-friendly experience for your customers.

5. Click Save Changes

All discounts created by Marsello for Shopify will now be able to be combined with any Shopify discounts.


How do I enable discount stacking in Shopify?

Every time you create a new discount in Shopify it's important to also set the discount combination settings if you want the discount to be alongside a Marsello discount at checkout.

1. In your Shopify admin, go to Discounts and click Create discount

2. Select the discount type

3. Create the discount settings

4. Under Combinations select the types of Marsello discounts you'd like your Shopify discount codes to be stacked with

✅ Product discounts

✅ Order discounts

✅ Shipping discounts

🤖 Best practice: We recommend selecting all the combination setting options to ensure a smooth & user-friendly experience for your customers.

5. Complete your discount settings

6. Click Save discount


Your Shopify discounts will now be able to be combined with any Marsello discounts.


FAQs

Troubleshooting Discount Stacking Issues

Q. I’ve enabled stacking in Marsello, but it doesn’t appear in Shopify combinations. Why?

A. Stackable discounts will apply to new discounts created after stacking is enabled.

If you created discounts before enabling this setting, they may need to be recreated or updated.


Q. Discount stacking is enabled in both Marsello and Shopify, but it still isn’t working. Why?

A. This can sometimes be caused by missing Shopify app permissions.

Even if stacking appears enabled in both platforms, Shopify may not have received the correct configuration from Marsello.


For stacking to work properly, the Marsello Shopify app must have the following permission scopes:

  • read_discounts

  • write_discounts

Marsello enables stacking in three steps:

  1. Creates the discount in Shopify

  2. Reads the created discount

  3. Updates the discount to enable stacking

If the required permissions are missing, Marsello cannot complete the final step. This results in the discount behaving as non-stackable, even though stacking appears enabled.

👉 If you suspect this issue, contact Marsello Support. We can update permissions and fix affected discounts. This issue is uncommon and may occur due to a problem during the initial Shopify app authorisation.


Brands also searched for: iscount, multiiser, Shpify, Shpi

Did this answer your question?