VIDEO LINK AT THE BOTTOM
I imagine I am far from the only person to have this issue: Let's imagine it's Black Friday or you offer things like a "Daily Deal" or whatever suits your specific store. You also use discount codes, and this can become quite the problem. Shopify SHOULD have a way to disable the use of coupon codes on items based upon many different conditions whether that be the item is already marked down, weight is over a certain amount, an item is tagged with a specific tag etc, the list could go on and on. Unfortunately, they dont. I spent some time on the phone with them today, and researched apps to no avail, what I came up with is a workaround that I don't think should really need to exist, but until Shopify gets it coded correctly to do what many of us need, this is what we'll need to do.
Below is a video of what to do, but the general jist is that Shopify will not allow you to EXCLUDE items from a discount based on any criteria, so, we have to reverse engineer it and INCLUDE only items that are NOT on sale. The way we do this is to create a Collection that ONLY has items in it that are NOT on sale. For this video I created a collection called "Not on sale" and tagged all items that were not on sale with the tag "normal". So, any item that does NOT have the tag "normal" will disregard the coupon code. When you mark an item down, or do not want it to have coupon codes applied to it, you'll simply REMOVE the tag "normal" and you're set.
The video was made under the assumption that you do not want to mark down any existing items that are on sale, those items would naturally have a "Compare at price" price and an actual "Price". The video is quick, let me know if you have any questions or need any help, I think it can be used as a viable solution for now although I absolutely think Shopify needs to address this issue, it should be a core feature and I don't think would involve much coding on their end.
Shopify, you're more than welcome to reach out to me if you have any questions, I'd be happy to answer any questions you may have to help develop this feature. Thanks!
If you're not using the "Product Type" field for something like filters, there's a little easier way to do this.
And there you have it. Now, products can be placed on sale by assigning the compare at value and the type "Sale Item", and it will be excluded from the list of valid products (because it will not be found in the "Non-Sale Items" collection).
Some stores also run discounts on sale items to clear inventory. This kind of setup can work in reverse as well, simply by creating a "Sale Items" collection and setting the condtion to "Product type is equal to Sale Item". Then select that "Sale Items" collection in your coupon, and bam, you have a coupon that only applies to sale items.
Hope this helps (until Shopify decides to create exclusionary conditions).
NOTE: To update your product types en masse, you can:
It is such a travesty that Shopify STILL does not have this in place. This is one of THE most basic e-Commerce features. I shake my head. his company is so busy exploiting customers with Shopify Pay, Shopify Capital, Shopify Plus, ect that they can't even focus on Shopify, the original platform, and make sure it includes BASIC features. SHAME ON YOU SHOPIFY.