How to Exclude Products From a Shopify Discount
Who this is for
Merchandising and marketing ops teams who need gift cards, already-sale items, or hero SKUs to stay full price during a promotion.
Teams search for 'exclude products from a Shopify discount' because the admin looks like it should have an exclude list. Standard Shopify discount codes work by inclusion: you choose specific products, collections, or 'all products.' If you leave the discount on all products, gift cards, bundles, and full-price hero SKUs can take the cut. The reliable workaround is an inclusion list or an automated collection that already omits the products you want to protect, then a test order on a SKU that must remain excluded.
When to use this
- You need a sitewide sale that skips gift cards or a handful of SKUs.
- An automatic discount accidentally discounted already-sale items.
- You are building a BFCM code that must not apply to new arrivals.
- Finance asked you to prove margin-critical products stayed full price.
- A previous campaign leaked onto the wrong collection.
Step-by-step workflow
- 1
Write the exclusion list before opening Shopify Admin
List every product or collection that must stay full price (gift cards, already-discounted items, new arrivals, wholesale-only SKUs). If the exclusion list is longer than the inclusion list, you are building the wrong collection — start from what the discount should apply to.
- 2
Limit the discount to specific products or collections
In the discount, choose specific products or specific collections instead of all products. Shopify does not provide a dependable 'exclude these products' control on standard codes. Inclusion is the control.
- 3
Build an automated collection when the catalog is large
Create an automated collection whose conditions match 'discountable' products (for example: product type is not Gift Card, tag is not sale, vendor is not X). Point the discount at that collection. Review the collection product count before launch; a condition typo can empty it or include everything.
- 4
Test a product that must stay excluded
Add a protected SKU to cart with the code or automatic discount. The discount must not apply. Then add an eligible SKU and confirm it does. Do both tests on the same checkout session if the discount has a minimum purchase — mixed carts are where exclusion bugs hide.
- 5
Recheck after catalog edits
New products inherit automated-collection conditions. After a merchandising drop, spot-check that new arrivals either join the discountable collection on purpose or stay out. Put this on the same cadence as your discount monitoring window.
Product exclusion proof for a Shopify discount
Discount: [NAME / CODE] Must stay full price: [SKU list] Discountable collection: [COLLECTION NAME] ([N] products) Tests: [ ] Gift card / excluded SKU: discount does NOT apply [ ] Eligible SKU: discount applies at the expected amount [ ] Mixed cart: only eligible lines discount [ ] Collection product count reviewed the day of launch Owner: [NAME] Date: ___________
Frequently asked questions
How do I exclude products from a Shopify discount?
You don't exclude them with a toggle. Limit the discount to specific products or to a collection that already omits the SKUs you want to protect. Then test a product that should remain full price. That is the supported pattern for standard Shopify discount codes.
Can I exclude gift cards from a Shopify discount code?
Treat gift cards as just another product that must not be in the inclusion set. Use a discountable collection whose conditions omit gift-card product types or tags, or select products manually. Always test a gift card in cart with the code before launch.
Why did my automatic discount apply to sale items?
Automatic discounts follow the same inclusion rules. If the discount is set to all products, already-sale items are included unless you restrict collections or products. Combination rules can also stack a code on top of a compare-at sale price — test that mix explicitly.
Is there an app or Shopify Function for true exclusions?
Custom discount functions and some apps can implement exclude lists. If you need that, treat it as an engineering change with QA, not as a hidden Admin checkbox. Most stores are safer with an inclusion collection they can audit.