How to limit number of discount codes per checkout? (Advanced plan, not Plus)

Topic summary

Goal: Cap the total number of discount codes applied at checkout to 3 on Shopify Advanced, with ~9,000 existing codes and mixed, stackable discounts.

Current limitations:

  • No native way on non-Plus to enforce a “max count of discounts” at checkout. One reply states it’s not possible.
  • Shopify allows up to 25 active automatic discounts; this is unrelated to limiting the number used per checkout.
  • Apps found so far tend to limit discount percentages/stacking logic, not the count; no confirmed app achieves this without re-creating codes.

Suggested workarounds/mitigations:

  • Reduce/limit active and combinable discounts to avoid problematic stacks; tighten campaign architecture.
  • Ask Shopify Support if the automatic discount limit can be voluntarily lowered and submit a feature request.
  • Evaluate logic-based discount apps (e.g., Regios Automatic Discounts), though may still require retooling.
  • Custom Shopify Functions are constrained (no list of applied discounts; network access typically Plus-only).
  • Consider customer segments (require logins) or cart attributes to invalidate further discounts; complex and brittle.
  • Use draft orders (e.g., via Mechanic) to control which discounts apply.

Status: No definitive solution confirmed; remains open with suggested workarounds and a recommendation to contact Support/feature request.

Summarized with AI on December 11. AI used: gpt-5.

Hi everyone,

I’m looking for a way to limit the total number of discount codes a customer can use per checkout to 3.

Our current setup:

  • Shopify Advanced plan (not Plus)

  • ~9,000 unique discount codes in our system

  • Multiple discount types that can currently stack:

    • 10% storewide discount

    • Bulk/quantity discounts (20-30%)

    • Fixed amount codes ($5 off)

    • Special discounts (e.g., 10% military)

What we need: A way to cap the number of discounts applied at checkout to a maximum of 3, regardless of type.

Constraints:

  • Migrating 9,000+ codes to a new app isn’t ideal

  • We don’t have Shopify Plus

  • Some checkout applications form the App Store only lets us limit discount percentages, not the count of codes used

My questions:

  1. Is there an app that can enforce a maximum number of combined discounts without requiring us to recreate all our codes?

  2. Has anyone found a workaround for this?

Any advice or recommendations would be hugely appreciated!

Thanks in advance.

You cannot. What you can do is limit the amount of combineable discounts you have active at any one time.

1 Like

Fix the information architecture first, campaigns should be given a shorter leash to avoid negative combinations just like dogs in a park.

“You can have a maximum of 25 active automatic discounts” shopify help doc

Longshot is to just ask support DIRECTLY if that number can be voluntarily lowered but even IF they entertain that it’s not like it’s gonna be a switch you can toggle off on when you want.
But you should make this a feature request to an actual support-advisor.


If there’s a limit then that implies a priority system for automatic discounts and that’s a whole other problem by itself.
See if a discount app with logic features like Regios Automatic discounts can handle this; @tobebuilds :waving_hand: .

Otherwise you probably need to build custom and retool the discounts.
If there’s serious budget behind trying to explore this you can reach out to me for services.
With shopify-functions the issue might be the cartInput doesn’t come with a list of already applied discounts the function has to parse the cart lines etc and figure it out which might ruin the performance limits required by shopify.
And to work smoothly I think it might need the additional networking permissions for coordinating system-state(counting, set attributes/metafields??).
Which means Plus/enterprise plans https://shopify.dev/docs/apps/build/functions/network-access#availability-of-network-access-for-functions

About the only way to do this just through the admin is with like customer segments as a filter??, READ: everyone is logged in.
Or some scheme where a specific item/attribute in the cart makes discounts invalid, e.g. duplicate products, but also somehow not arbitrary so some discounts will apply but also somehow with a maximum.

Maybe possible through the draft-order system but then your no longer dealing with pure auto applied automatic discounts.
e.g. https://help.shopify.com/en/manual/fulfillment/managing-orders/create-orders/discounts#apply-all-eligible-automatic-discounts & tools like mechanic https://tasks.mechanic.dev/create-a-draft-order-from-the-cart

With over 9,000.. discounts in the mix with any number of them allowed to be combinable your gonna have a bad time from the poor information architecture.