Exclude specific products from all discounts on Shopify Plus

Hi everyone,

We’re currently on Shopify Plus and want to make certain products non-discountable.

For example, we’d like to exclude gift cards (and possibly other specific products) from:

  • Automatic discounts

  • Discount codes

  • Any other promotions applied at checkout

What is the best and recommended approach on Shopify Plus to achieve this?
Should this be handled using Shopify Functions (discounts), checkout customization, or another native method?

Looking for a scalable solution that works across all discount types.

Thanks in advance for your help!

Thanks for the explanation — this is helpful :+1:

One important clarification: Discount Functions only control discounts created via Shopify Functions. They can’t override or block native Admin-created discount codes or automatic discounts.

So for a true “non-discountable” product setup, either:

  • All discounts need to be implemented via Functions, or

  • Discounts should be applied via product/collection targeting (excluding gift cards).

Agreed that UI extensions, theme logic, or JS aren’t reliable, and Scripts are deprecated.

For a truly viable solution here @Shopify_Dev - you can take a look at the Discount Allocator Functionality.

It’s still in dev preview, but I think you can request Shopify team to enable it for you. It allows you to truly build extremely custom logic to ensure business logic related to discounts are always met when you’re using the native discount functionalities.

Otherwise - you can have a look at apps that use Shopify discount functions to ensure that the items you specify are not discounted. But you’d need to be careful to set this logic up per discount that you configure on these apps as well.

For example, in our app Dollarlabs: Ultimate Discounts - we have a condition like “Product ID“ is not one of “Selected items“

Hopefully the screenshot shared helps illustrate how you can setup such rules within apps that can achieve the use case you detailed.

If there’s any specific question about discount functions or discount allocator functions - feel free to ask.

Hi @Shopify_Dev

With Checkout Boost, excluding products like gift cards from discounts is handled directly inside the discount conditions, so it works cleanly across promotions.

You can exclude products by:

  • Product tags (e.g. tag gift cards as no-discount)

  • Collections (e.g. exclude the Gift Cards collection)

  • Product type, vendor, SKU, or specific variants

Example:

  • Create your discount as usual

  • Add conditions like:

    • Collections is any of [Eligible Products]

    • AND

    • Collections excludes [Gift Cards]

      (or Tags excludes no-discount)

Reference screenshot:

Only eligible items receive the discount, while excluded products are ignored even if they’re in the same cart.

This approach is scalable, rule-based, and prevents discount leakage without managing exclusions manually for each product later.

Feel free to ask if you have any question.

Thanks,
Kev

Looking for a scalable solution that works across all discount types.

That’s the kicker here. Though others have mentioned apps that can create individual discounts that exclude products, there’s a critical flaw with this approach: discount apps generally don’t modify discounts created outside them.

If you’re looking to exclude specific products from all built-in Shopify discounts as well, your only real option is:

  1. Tag the products that should never be discounted with do-not-discount.
  2. Create a smart collection called “Discountable Items” with this condition: “Tag is not equal to do-not-discount.”
  3. Make a minimal custom app that monitors for discount creation/updates/deletion and ensures the product eligibility includes the “Discountable Items” collection.
  4. Unfortunately, every time you create a built-in Shopify discount, you’d need a collection that excludes those specific items.

Hope this helps,

Tobe Osakwe - developer of Regios Discounts (4.7 stars, 123 reviews, Built for Shopify)