Mastering Shopify Discounts: Excluding Products & Preventing Double Deals

Hey fellow store owners!

Let's talk about something that comes up surprisingly often in the Shopify community, a little head-scratcher that can really mess with your profit margins if you're not careful: how do you exclude specific products or SKUs from your discounts?

It sounds simple, right? You want to run a storewide 20% off sale, but you've got a few premium items that are always 10% off, or maybe some low-margin products you just can't discount further. The problem? Shopify's native discount engine is built primarily on an "inclusion" model. You tell it what to discount, not what not to. This often leads to that dreaded "double-discounting" scenario, where your already discounted items get hit with another promotion.

I recently saw a fantastic discussion on the Shopify community forums, sparked by @Nulla_Fulla, asking for a native "Exclude products" field. And honestly, it's a pain point many of us share. As @jam_chan pointed out in the thread, there's no native API way to do this directly, and adding exclude/include fields could lead to conflicts with multiple discounts. But don't despair! Our community is full of clever folks who've found some excellent workarounds, both native and app-based. Let's dive into what they shared.

Native Workarounds: Smart Solutions Without Extra Apps

Before jumping to paid apps, it's worth exploring how you can leverage existing Shopify features. @Mateo-Penida shared two brilliant strategies that don't require any additional apps, which is always a win for your budget!

Option 1: Using the "Combinations" Setting

This is a quick win if your permanently discounted products are set up as a "Product discount" type (e.g., specific products manually set to a lower price). When you create a new automatic or code-based discount for a broader campaign, you can tell it not to stack with product discounts.

Here’s how to do it:

  1. Go to your Shopify Admin and navigate to Discounts.
  2. Create or edit your campaign/sitewide discount (e.g., "20% Off Storewide").
  3. Scroll down to the Combinations section.
  4. Under "This discount can be combined with:", uncheck "Product discounts".

This simple toggle tells your sitewide discount to politely step aside if an item already has a product discount applied. Mateo-Penida recommends testing this in a draft order, which is always sound advice!

Option 2: Tag-Based Automated Collections

This method offers more flexibility and scales really well as your product catalog grows. It uses product tags and automated collections to define what's eligible for a discount.

Here’s the step-by-step:

  1. Tag Your Excluded Products: Go to the products you never want to discount and add a specific tag to them, something like no-discount or promo-exclude.
  2. Create an Automated Collection:
    • In your Shopify Admin, go to Products > Collections and click "Create collection".
    • Give it a descriptive name, like "Eligible for Promotions".
    • Under "Collection type", select "Automated".
    • Set the condition: "Product tag is NOT equal to no-discount" (or whatever tag you chose).
  3. Apply Discounts to This Collection: When you set up any new campaign discount (automatic or code-based), instead of choosing "All products" for "Applies to", select your newly created "Eligible for Promotions" collection.

Now, any product tagged with no-discount will automatically be excluded from this collection, and therefore from any discount applied to it. This is super powerful for ongoing management!

Supercharging Your Discounts with Apps

While native workarounds are great, sometimes your discount logic gets really complex, especially if you're mixing storewide sales with permanent discounts on specific SKUs, or want more granular control. This is where dedicated Shopify apps shine, as highlighted by @keval3 and @Discount-Bot in the discussion.

Advanced Exclusions with Apps like Checkout Boost & Discount Bot

Apps built specifically for discounts often provide a more intuitive interface for complex rules, including explicit exclusion fields. They essentially sit between your store and the checkout, applying their own logic.

  • Checkout Boost (mentioned by keval3, often used by Shopify Plus stores) allows you to build discount rules that exclude specific products, collections, or SKUs. This is fantastic for avoiding the "double-stack problem" when you have permanent offers running alongside campaign promos.

Here’s a glimpse of how apps like Discount Bot approach this:

Discount Bot: Selecting eligible items for a discount

You can then add specific exclusions:

Discount Bot: Excluding products and tags from a discount

Notice how you can exclude specific products (like "Cookies" in the example) or even products with certain tags (like "Summer"). These apps also often allow other exclusions like specific collections, variant options, or customer tags.

Another super handy feature some apps offer is the ability to exclude items already on sale. Discount Bot shows this with a "Full price items only" option:

Discount Bot: Excluding sale items from new discounts

This is a huge time-saver and prevents you from having to manually exclude every single sale item. While these apps are paid, they can save you a ton of manual work and potential headaches, especially if you run a lot of overlapping promotions.

Choosing Your Path to Smarter Discounts

So, which approach is best for you? It really depends on the complexity of your discount strategy and your comfort level with external apps.

  • If your needs are relatively simple and you're looking for a free solution, Mateo-Penida's native workarounds are definitely worth trying first. The tag-based collection method is particularly robust for scaling.
  • If you're dealing with intricate discount rules, frequent promotions, or want a more visual "exclude" interface, investing in a dedicated app like Checkout Boost or Discount Bot will likely pay off in reduced operational overhead and fewer errors.

Ultimately, the goal is to prevent those frustrating double-discounts and ensure your promotions are always profitable and easy to manage. The Shopify community discussion clearly shows that while a native "exclude" field would be ideal, there are plenty of effective ways to achieve the same result. Just remember to always test your discounts thoroughly in a draft order before pushing them live!

Use cases

Explore use cases

Agencies, store owners, enterprise — find the migration path that fits.

Explore use cases