How to Exclude Specific Products & Collections from Shopify Discounts
Shopify's native exclusions have a hidden flaw: customers discover excluded products at checkout. Learn both native methods and Growth Suite's transparent approach where exclusions show on product pages.
Muhammed Tüfekyapan
Key Takeaways
- 1 Shopify uses 'inclusion logic' - you select which products or collections get the discount, everything else is excluded by default
- 2 To exclude items already on sale with native tools, build an automated collection with the condition 'Compare at price is empty' and point your discount at it
- 3 Double discounting is a silent margin killer - a 15% code on an already marked down product can wipe out nearly 40% of your profit on that order
- 4 Native Shopify exclusions have a UX flaw - customers discover an exclusion at checkout, when it is too late to set expectations
- 5 Collection and tag-based systems only work if your team tags every product correctly - one missed tag is one margin leak
- 6 Growth Suite applies exclusion rules automatically by vendor, title keyword, compare-at price, and maximum discount amount, including for products you add later
- 7 Behavioral targeting protects margins from the other side - visitors who would buy at full price never see an offer, which saved $7,200 per month in our example
Last Black Friday, a fashion store ran a "20% off everything" sale. The discount also hit their brand new winter collection. Those products had 35% margins. After the discount, the store made almost nothing on each sale.
If you want to exclude products from a discount on Shopify, this guide is for you. I will walk you through every method that works, from Shopify's free built-in tools to automated rules for bigger stores. I will also show you how to keep products that are already on sale out of your discounts, because that is where most margin leaks happen.
Discounts help you sell more. But the stores that stay profitable are the ones that know what not to discount.
The Exclusion Mindset Shift:
Most merchants ask "What should I discount?" Profitable merchants ask "What should I protect?" This guide teaches the second approach, first with Shopify's native tools, then with automation.
What "Excluding Products from Discounts" Actually Means in Shopify
First thing to know: Shopify has no "exclude" button. It works the other way around. You pick which products or collections GET the discount. Everything else is left out by default.
This is true for both discount codes and automatic discounts. It sounds simple, and it is. The catch: when you add new products later, Shopify will not update your discount for you. If a new product should get the discount, you have to add it yourself. If a new product should NOT get the discount, you have to make sure it stays out.
Why do stores exclude products at all? Usually for one of these reasons:
- Margin protection. Some products have thin margins. A 20% discount can turn a profitable sale into a loss.
- Vendor agreements. Many brands have MAP (Minimum Advertised Price) rules. Discounting their products can break your contract.
- New arrivals. New products sell at full price. Discounting them in the first weeks wastes your best margin window.
- Products already on sale. If a product already has a compare-at price, another discount on top can wipe out your profit.
| Situation | What to Exclude | Can Native Shopify Do It? |
|---|---|---|
| New season launch | "New Arrivals" collection | Yes |
| Vendor or MAP agreements | Products from a specific vendor | Not directly |
| Products already on sale | Items with a compare-at price | Yes, with a workaround |
| Low-margin products | Specific SKUs or product lines | Partially |
| Very large orders | Orders above a set amount | No |
Native Shopify Truth:
Shopify's discount system uses "inclusion logic." You do not exclude products. You include only the products you want discounted. Simple, but you must update the discount every time you add products that should be eligible.
Let's start with the free native methods. For a small catalog, they are often enough.
Method 1: Exclude Products from a Discount Code
This is the most common setup, and it takes about two minutes.
Step by Step
- Step 1: Go to Discounts in your Shopify admin
- Step 2: Click Create discount and choose a discount code (Amount off products works best here)
- Step 3: Pick your discount type: percentage or fixed amount
- Step 4: Under "Applies to", choose Specific collections or Specific products
- Step 5: Select only the products or collections that SHOULD get the discount. Leave out everything you want to protect
- Step 6: Set the rest: minimum requirements, usage limits, active dates
- Step 7: Save
That is it. Any product you did not select is excluded.
The Pros and Cons
| Pros | Cons |
|---|---|
| Free, no app needed | You must update the discount when you add new products |
| Easy for small catalogs | No way to exclude by vendor |
| Works on every Shopify plan | No protection against double discounting |
| Easy to understand | Painful for catalogs with 500+ products |
A Real Example
One of the most common questions I hear is how to exclude new arrivals from Shopify discounts. Here is a practical setup with a discount code.
Scenario: Fashion Boutique
- Store: Fashion boutique with 200 products
- Goal: 15% off summer collection, but NOT new arrivals
- Setup:
- 1. Create a collection called "Summer Sale Eligible"
- 2. Add all summer products except the new arrivals
- 3. Create the code SUMMER15 and apply it to that collection only
Result: New arrivals stay at full price. Done.
Do Not Forget:
When you add new summer products next week, you have to add them to the collection by hand. Shopify will not do it for you.
Method 2: Exclude Products from an Automatic Discount
Automatic discounts apply at checkout. The customer does not type a code. The discount just shows up. The same inclusion logic applies: you pick what gets the discount, and everything else is excluded.
Step by Step
- Step 1: Go to Discounts and click Create discount
- Step 2: Choose Automatic discount
- Step 3: Set the type and value
- Step 4: Under "Applies to", pick Specific collections or Specific products
- Step 5: Select only what should get the discount. To exclude a collection from an automatic discount, simply do not select it
- Step 6: Save and activate
Automatic Discount or Discount Code?
| Use an Automatic Discount When... | Use a Discount Code When... |
|---|---|
| You run a sitewide sale (Black Friday) | You target a specific group (email list) |
| You want zero friction at checkout | You want to track a marketing channel |
| Most products are included | Only some customers should get it |
| The customer does not need to "opt in" | You want urgency ("use before midnight") |
Pro Tip:
You can run automatic discounts and discount codes at the same time. Just check that the same products are not eligible for both, or you will create a stacking problem.
How to Exclude Products That Are Already on Sale (Compare-At Price)
This is the question I get most often, so it deserves its own section. A product with a compare-at price is already marked down. It shows as $80 $100 on your product page. If a customer then applies your 15% code on top, you are discounting twice.
Shopify has no native switch that says "skip products already on sale." But there is a native workaround, and it works for both discount codes and automatic discounts.
The Native Workaround: An Automated Collection
If you want to exclude products already on sale from an automatic discount with native Shopify tools, this is the way. Shopify's automated collections can filter by compare-at price. You build one collection that only contains full-price products, and you point your discount at that collection.
- Step 1: Go to Products, then Collections, then Create collection
- Step 2: Name it something clear, like "Discount Eligible (Full Price)"
- Step 3: Set the collection type to Automated
- Step 4: Add this condition: Compare at price is empty
- Step 5: Save
- Step 6: Create or edit your discount, and under "Applies to", choose this collection only
Now any product with a compare-at price is automatically out of the discount. When you mark a product down later, it leaves the collection on its own. When you remove the sale price, it comes back in. No manual updates.
Why This Matters: The Double Discount Math
Watch what happens without this protection.
The Double Discount Disaster:
- Original Price: $100
- Already on Sale: $80 (compare-at $100)
- Your Margin at $80: $32 profit
- Customer Applies 15% Code: $80 becomes $68
- Your Margin at $68: $20 profit
Result: You lost nearly 40% of your profit on that order
Most merchants never notice this. They budget for a 15% discount cost, but part of their orders were already marked down. The real cost is much higher.
The Limits of the Workaround
- It works at the collection level. Your discount targets the collection, not individual products.
- If you also need to exclude by vendor or by keyword in the title, you will need more conditions in the same collection, and the logic can get messy. More on that below.
Method 3: Manage Exclusions with Collections
If you run discounts often, the cleanest native system is a dedicated "discount eligible" collection. Instead of picking products for every new discount, you maintain one collection and reuse it.
Set It Up
- Step 1: Go to Products, then Collections, then Create collection
- Step 2: Name it "Sale Eligible" or "Discount OK"
- Step 3: Choose Manual or Automated
- Step 4: For automated, set conditions like "Product tag is equal to sale-ok"
- Step 5: Save, and use this collection in all your discounts
Useful Automated Conditions
| Condition | Includes | Excludes |
|---|---|---|
| Product tag is "sale-ok" | Tagged products | Everything untagged |
| Product tag is not "no-discount" | Everything except flagged items | Flagged products |
| Product type is not "New Arrival" | Everything else | New arrivals |
| Vendor is not "LuxeBrand" | All other vendors | That brand |
| Compare at price is empty | Full-price items | Items already on sale |
Important note: Look at the last two rows. Shopify's automated collections CAN filter by vendor and by compare-at price. That is powerful for building the collection. But remember: the discount applies to the whole collection. The filtering happens when products enter or leave the collection, not when the discount runs.
The Weak Point: Human Discipline
This system only works if your team tags every product correctly. Every time. There is no alert when someone forgets. You find out when you check your margins at the end of the month.
The Tagging Problem:
I have audited stores where 30% of products had missing or wrong tags. One missed tag means one product gets discounted when it should not be, or stays full price when it should be on sale. Collection-based exclusions only work if EVERYONE follows the tagging protocol for EVERY product.
The Hidden Problem: Customers Find Out at Checkout
There is one more issue with native exclusions, and it has nothing to do with setup. It is about what your customer sees.
Think about the journey:
- A visitor sees your "20% OFF" banner
- They assume everything is on sale
- They add an excluded product to the cart
- At checkout, they enter the code
- The code does not work, or only part of the order gets discounted
- They feel tricked. Many leave. Some write angry emails or bad reviews
| Stage | What the Customer Expects | What Happens |
|---|---|---|
| Browsing | "20% off sale!" | Sees the promotion banner |
| Product Page | "This item is on sale" | No sign that it is excluded |
| Cart | "I am getting 20% off" | Product sits at full price |
| Checkout | "Let me use my code" | Code fails or discounts only part |
| Result | A good deal | Frustration, abandoned cart |
The Checkout Surprise:
You set up the exclusion correctly. The customer still feels deceived, because nobody told them before checkout. I think this is the biggest weakness of Shopify's native system, and most guides never mention it.
Where Native Shopify Falls Short
Native methods cover the basics. But growing stores hit walls:
| What You Cannot Do Natively | Why It Matters |
|---|---|
| Exclude by vendor on the discount itself | Multi-brand stores need vendor-level control |
| Block double discounting on the discount itself | Products already on sale can stack |
| Set a maximum discount amount | One huge order can eat your campaign budget |
| Exclude by words in the product title | "New Arrival" items need protection |
| Auto-apply rules to new products | New inventory needs manual updates every time |
| Show exclusion status on the product page | Customers find out at checkout |
If your store is small and you run one or two campaigns a year, native tools are fine. But if you manage multiple vendors, run monthly promotions, or keep finding products discounted by accident, manual work will cost you more than an app.
When Native Shopify Is Not Enough
The signs are easy to spot:
- You spend 30+ minutes per campaign just setting up exclusions
- You have had a "margin accident" where the wrong products got discounted
- Your team cannot keep up with tagging
- You work with several vendors who have different margin profiles
- Big orders make your percentage discounts painful
The Growth Moment:
Most stores hit a point where manual exclusion management takes more time than it is worth. If you are spending 30+ minutes per campaign on exclusions, or you have had a margin accident, it is time for automation.
This is the point where automation pays for itself. Growth Suite, our app, was built for exactly this. Instead of picking products for each campaign, you define exclusion rules once. The rules apply to every campaign, now and in the future. New products are protected the moment you add them.
What it adds on top of native Shopify:
- Rule-based exclusions that apply automatically
- No tagging required, because it uses existing product data
- Protection for new products without manual updates
- Controls Shopify does not offer (vendor, compare-at price, maximum discount)
- Transparent UX where customers see exclusion status on the product page, not at checkout
Think of it as a Shopify discount blacklist for products. Define your rules once, and every matching product stays protected across all current and future campaigns.
9 Best Shopify Discount Apps: Find the Right One for YOUR Problem
Stop browsing feature lists. 9 premium apps compared by the 7 problems they solve. Not rankings, not reviews, just honest "use this when..." guidance. Find your perfect match in minutes.
The Product Page Difference
Remember the checkout surprise from earlier? Growth Suite fixes it at the source.
With native Shopify, an excluded product looks normal until checkout. The customer finds out the hard way. With Growth Suite, the campaign box (the countdown timer and the offer) simply does not appear on excluded products. A customer browsing an excluded item sees a normal product page at full price. A customer browsing an eligible item sees the full campaign. Expectations match reality before anyone reaches the cart.
| Product Type | What the Customer Sees on the Product Page | What Happens at Checkout |
|---|---|---|
| Eligible product | Campaign box with countdown timer and discounted price preview | Discount applies as expected |
| Excluded product | Normal product page, no campaign box | Full price (customer already knew) |
What this means for your business:
- No "bait and switch" feeling, because customers know before adding to cart
- Fewer abandoned carts from checkout surprises
- No angry support tickets about "broken" discount codes
- Your brand keeps its trust and transparency
Home Decor Retailer: "15% OFF Living Room Collection"
Excluded: New designer collaboration line (high margin, brand agreement)
Shopify Native Experience:
- Customer sees "15% OFF" banner, browses designer lamp ($400)
- Adds to cart, goes to checkout, enters code
- "Code not valid for this item"
- Customer frustrated, abandons cart
Growth Suite Experience:
- Customer browses designer lamp ($400). No campaign box visible
- Customer browses regular sofa ($800). Sees "15% OFF" campaign box with timer
- Customer understands: designer items are not on sale, regular items are
- Checkout matches expectations. Smooth purchase
Growth Suite Exclusion Method 1: Exclude by Vendor
Multi-brand stores carry products from many suppliers. Each vendor has its own margin profile and often its own pricing rules. Discounting them all equally makes no sense. If you want to exclude vendors from discounts, this is the clean way to do it.
Real-World Scenario:
- Store type: Multi-brand home goods retailer
- Problem: Vendor "PremiumHome Co." prohibits discounting below MSRP
- Without Growth Suite: Someone has to tag every PremiumHome product, and re-tag when new products arrive
- With Growth Suite: Select "PremiumHome Co." in vendor exclusions. Done. All current and future products from this vendor are protected
Growth Suite Feature Spotlight:
Location: Settings > Discount Rules > Vendor Exclusions
Setup:
- 1. Open the Growth Suite dashboard
- 2. Navigate to Discount Rules
- 3. Click "Vendor Exclusions"
- 4. Select one or more vendors from the list
- 5. Save
Result: Every product from the selected vendors is automatically excluded from all Growth Suite discount offers, including products you add in the future.
Profit-First Thinking:
Think of your vendors as margin profiles. If Vendor A gives you 60% margin and Vendor B gives you 25%, why discount them the same way? Vendor-level exclusions protect Vendor B automatically.
Growth Suite Exclusion Method 2: Exclude by Title Keywords
This protects products by their naming convention, with no tagging. Growth Suite scans product titles for text you choose. Any product containing that text stays out of your discounts. Partial matches work: "Limited" catches "Limited Edition".
| Keyword | What It Catches | Why Exclude It |
|---|---|---|
| "New Arrival" | New Arrival Dress, New Arrival Sneakers | Protect the full-price window |
| "Limited Edition" | Limited Edition Watch | Protect scarcity items |
| "Pre-Order" | Pre-Order Fall Jacket | Do not discount unshipped items |
| "Bundle" | Gift Bundle, Starter Bundle | Bundles already have built-in savings |
| "Clearance" | Clearance Rack items | Already discounted |
Growth Suite Feature Spotlight:
Location: Settings > Discount Rules > Title Exclusions
Setup:
- 1. Navigate to Title Exclusions
- 2. Enter keywords (for example, "New Arrival", "Limited Edition")
- 3. Add as many keywords as you need
- 4. Save
Result: Any product whose title contains these strings becomes ineligible for Growth Suite discount offers.
Naming Convention Advantage:
If your team uses consistent naming, like starting new products with "NEW:" or "SS25:", one keyword rule can protect an entire season.
Growth Suite Exclusion Method 3: Compare-At Price Protection
Remember the double discount math from earlier? This feature removes the problem at the source. It gives you the same protection as the native automated collection workaround, but with one toggle instead of building and maintaining a collection, and it keeps working even when products change price status mid-campaign.
Growth Suite Feature Spotlight:
Location: Settings > Discount Rules > Compare-At Price Control
Setup:
- 1. Navigate to Discount Rules
- 2. Find "Exclude Products with Compare-At Price"
- 3. Toggle it on
- 4. Save
Result: Growth Suite checks each product's compare-at price field. If the field has any value, the product is already marked down, so it gets no extra discount.
The Silent Margin Killer:
Double discounting is the number one reason merchants tell me their sale "cost more than expected." This single toggle is usually the first thing I recommend turning on.
Growth Suite Exclusion Method 4: Maximum Discount Limits
Percentage discounts scale with order size. That is fine until it is not.
- 25% off a $100 order costs you $25
- 25% off a $2,000 order costs you $500
- 25% off a $10,000 wholesale order costs you $2,500
A maximum discount limit caps the damage. Say you run 20% off with a $400 cap. A customer buying a $500 table gets $100 off, the full 20%. A customer buying a $5,000 sectional gets $400 off, which is 8%. Both customers feel they got a deal. Your margin on the big order survives.
Growth Suite Feature Spotlight:
Location: Settings > Discount Rules > Maximum Discount Amount
Setup:
- 1. Navigate to Discount Rules
- 2. Set a Maximum Discount Amount (for example, $300)
- 3. Save
Result: Even if a customer's calculated discount (25% of $2,000 = $500) exceeds your maximum, they only receive $300 off. The cap applies automatically to every order.
The B2B Safety Rule:
If you serve wholesale or B2B buyers, I consider this non-negotiable. One unprotected order can erase a month of campaign profit.
Growth Suite Exclusion Method 5: Behavioral Targeting
The first four methods exclude products. This one excludes visitors, and it works on a different level.
Not every visitor needs a discount to buy. Some people arrive ready to purchase. They researched, they know what they want, they will pay full price. Giving them a discount does not raise conversion. It just cuts your revenue.
Growth Suite watches behavior in real time: page views, time on page, cart actions, checkout starts. Based on these signals, it separates visitors into two groups.
| Signal | Dedicated Buyer | Walk-Away Visitor |
|---|---|---|
| Browsing pattern | Goes straight to the product, adds to cart | Browses, compares, hesitates |
| Purchase intent | Strong, will buy at full price | Uncertain, likely to leave |
| Discount impact | None on conversion, pure margin loss | Can turn a lost visit into a sale |
| What they see | No offer | A personalized, time-limited offer |
The offer also adjusts. A visitor with high interest but some hesitation might see a smaller discount with a short countdown. A visitor about to leave might see a stronger offer with more time.
Growth Suite Feature Spotlight:
Location: Campaign Settings > Trigger Campaign
How it works:
- 1. Growth Suite monitors visitor behavior in real time (page views, time on page, cart actions, checkout starts)
- 2. It predicts purchase intent from these signals
- 3. Visitors likely to buy anyway see no offer
- 4. Visitors likely to leave see a personalized, time-limited offer
- 5. Discount percentage and countdown duration adjust with engagement level
Result: Only visitors who genuinely need a nudge receive one. Dedicated buyers pay full price.
Blanket Discount vs. Behavioral Targeting:
Scenario: Store with 1,000 monthly buyers, $80 average order value, 15% discount campaign
- Total buyers: 1,000
- Dedicated buyers (would buy anyway): ~600 (60%)
- Walk-away visitors converted by the discount: ~400 (40%)
- Blanket 15% off to everyone: 1,000 x $80 x 15% = $12,000 in discounts given
- Targeted 15% off (walk-away only): 400 x $80 x 15% = $4,800 in discounts given
Result: $7,200 saved per month, same number of conversions, 60% less discount cost
Those 600 dedicated buyers would have purchased at full price anyway. Every dollar you discount them is pure margin loss.
Skincare Brand: Summer Campaign
- Store type: DTC skincare brand, $65 average order value
- Campaign: Summer hydration promotion
- Product exclusions: New launches and bundles excluded by title keywords
- Behavioral targeting: Enabled
Without Behavioral Targeting:
- Every visitor on eligible products sees the campaign box
- Loyal customers who visit weekly get discounts they do not need
- Returning buyers start expecting a discount every time
- Discount cost: $8,500/month
With Behavioral Targeting:
- Loyal customers browse and buy at full price (no campaign box)
- First-time visitors likely to leave see a personalized offer
- No offer fatigue, because dedicated buyers never see discounts
- Discount cost: $3,400/month (same conversion count)
Two Layers of Protection:
Product exclusions protect your items. Behavioral targeting protects your margin from the other side. Together they answer the real question: the right products, shown to the right people, at the right time.
Native Shopify vs Growth Suite: The Full Comparison
Here is the complete comparison to help you decide which approach fits your store.
| Capability | Shopify Native | Growth Suite |
|---|---|---|
| Exclude specific products | Manual selection | Automatic rules |
| Exclude collections | Yes | Yes |
| Exclude items already on sale | Collection workaround | One toggle |
| Exclude by vendor | Collection workaround | One-click selection |
| Exclude by title keywords | No | Keyword rules |
| Prevent double discounting | No | Compare-at price control |
| Maximum discount caps | No | Yes |
| Auto-protect new products | No | Yes |
| Behavioral targeting | No | Yes |
| Customer sees status on product page | No, discovers at checkout | Yes, no campaign box |
| Setup time per campaign | 30 to 60 minutes | About 10 minutes, once |
| Ongoing maintenance | High | Low |
Which One Fits Your Store?
Use Shopify Native If:
- Small catalog (under 100 products)
- One or two campaigns per year
- Single vendor or brand
- Nothing already on sale
- Low average order value (under $200)
Use Growth Suite If:
- Growing catalog (100+ products)
- Frequent promotions (monthly or more)
- Multiple vendors or brands
- Products regularly on sale (compare-at prices)
- High average order value or B2B customers
- Team struggles with tagging discipline
Automatic Discounts on Shopify: The Complete Pros & Cons Guide
Frictionless checkout sounds perfect. Until you realize you are discounting dedicated buyers who would pay full price. Learn when automatic works, when it hurts, and the smarter alternative.
Conclusion: Build Your Exclusion Strategy
Excluding products is not a limitation. It is how you keep promotions profitable. When you exclude products from a discount on Shopify, the native inclusion logic covers the basics. For real control, you need rules that apply themselves.
The short version: start with Shopify's native inclusion logic. Pick what gets the discount, leave out the rest. Use an automated collection with "Compare at price is empty" to keep sale items from getting double discounted. Watch the checkout problem, because customers hate surprises. And when manual work starts costing you real money, move to rules that apply themselves.
Your Action Steps
- Audit your catalog. List the products that should never be discounted: new arrivals, MAP-protected brands, thin-margin items, anything already on sale
- Build a "Discount Eligible" collection and point your next discount at it
- Add the compare-at price condition so sale items stay out
- Run one campaign and watch for the warning signs: stacking, big-order abuse, tagging mistakes
- If the manual work grows, automate the rules instead of relying on memory
In the end, the stores that profit from discounts are the ones that protect the right products.
What if every discount went to the right person?
Growth Suite predicts purchase intent and shows time-limited offers only to visitors who need them.
In This Article
References & Sources
Research and data backing this article
Muhammed Tüfekyapan
Founder of Growth Suite
Muhammed Tüfekyapan is a growth marketing expert and the founder of Growth Suite, an AI-powered Shopify app trusted by over 300 stores across 40+ countries. With a career in data-driven e-commerce optimization that began in 2012, he has established himself as a leading authority in the field.
Version History
Track updates and improvements to this article
Rewrote the full guide in plainer, easier-to-follow language based on hands-on store audit experience. Added a dedicated step-by-step section on excluding products already on sale using the native 'Compare at price is empty' collection workaround, moved the double discount math next to it, and corrected the example numbers. Refreshed Key Takeaways and FAQ to match, including a customer-side question on why a product may be excluded from a promotion.
Expanded behavioral targeting section into full Method 5 with visitor comparison table, math scenario, and real-world skincare brand example. Added new FAQ about discount blacklisting. Improved long-tail keyword coverage across all sections.
Initial publication - comprehensive guide covering Shopify native exclusions and Growth Suite advanced exclusion methods
Stop giving discounts to everyone.
Growth Suite watches each visitor, predicts purchase intent, and makes one real, time-limited offer—only to those who need it.
Try Free for 14 DaysContinue Reading
More articles you might enjoy
Deep Dive: The Ultimate Guide to Percentage Off Discounts
Deep Dive: The Ultimate Guide to Fixed Amount Discounts
Percentage Off vs. Fixed Amount Discounts: Which Converts Better?
Tiered Discounts Strategy: Spend More, Save More
Deep Dive: Buy X Get Y (BOGO) Guide
Free Gift with Purchase (GWP) — The "No-Discount" Strategy
Frequently Asked Questions
Common questions about this topic