Discounts: How do we exclude products?

New Member
1 0 2

I agree. This is crazy. How is it impossible to exclude ONE product from sale? Some products never go on sale and you should be able to exclude something from sale. 

5 0 10

Is there a way to hide the code used at the POS on the customers order summary page (so they can not use the code for online purchase). I also have it set up this way so that this discount only applies to certain items during the checkout process (set to specific collections). Additionally I would prefer not to have to set the code to specific users (there will be way too many).  Any help is appreciated!


37 0 48

hey! I am 100% sure you can do this in the code. Shopify support might be able to do this for you (sometimes they do this when they know how to, and if they're genuine in wanting to help). Any developer should be able to do it for you too. If you can't find one, i have one for you. He can do anything! I'll see if i can email you info privately. 

Shopify Partner
88 3 10

@cb3 you should be able to create a collection for this purpose e.g. match all conditions: product price > $0 & product title does not contain 'product title', then only apply the discount code to that collection

New Member
2 0 1

exactly - one year later and nothing, there are so many basic, tiny improvements Shopify could have fixed in 24 hours, but nope - go buy an app.

You can do this with Shopify collections - no apps or custom code required. 

  1. Create an automated collection that excludes the products (use the "is not equal to" selector) 
  2. Add a discount for this specific collection 

Then the discount will work for the collection (which is every product in your store except the ones you excluded).

If you want to exclude more products you can just add more conditions to your collection.

You can exclude based on a lot of things:

  • Type
  • Vendor
  • Price
  • Tag
  • Weight
  • Title
  • Stock

The tags one is pretty powerful because you can just tag products with "exclude" and it will be excluded. 

I wrote a tutorial with screenshots here if you need more help. 

New Member
2 0 1
Yes, tech that's a workaround, but it's extremely painful to
maintain/manage. We launch new products and new promo codes every week,
which means I would have to generate a new collection every time as well.
Plus, it makes sharing the promotional link impossible, unless you want to
have your customers thrown into a collection that is literally everything
you sell except the items you are trying to not discount. Still
completely blown away that Shopify discounts are still stuck in 2008.

I'm not following - why do you have to recreate the collection? It is an automated collection, it will update as you add new items. 

3 0 1

Hi Eddy

Thank you for your help on this discount issue.

On my site I have several apps creating automated discount codes such as the loyalty program and for birthdates. Thousands. I also create coupon codes for punctual occasions. And I use the compared price option.

Unfortunately I find it difficult to apply your solution in this case.

I t's a shame Shopify didn't bother adding a very simple option on the product's page to avoid this kind of problem.

I have products I can't put live for sale because my clients will apply a coupon code on it. Terrible.

Thank you,


New Member
2 0 0

Thanks for the suggested solution. However, in our case we tried 2 differents scenarios without success - maybe you have a suggestion for us.  We want an automatic rebate that apply to all products at regular price.  So we try to create a collection of all products at regular price (no rebates).

1- We tried to setup a collection with items with the condition "Compare at price" of $0.00" (Which mean no rebate on this product).  But the collection turn out empty.  Not working as for now.

2- We could alternatively (but painfully) tag product we want to exclude.  But when creating an automatic collection  we can define TAG we want to ADD, but not TAG we want to EXCLUDE.

It appear far more complicated than expected finally.