Discount codes vs. automatic discounts: which to use on Shopify
Use an automatic discount when everyone who qualifies should get the offer without doing anything: it appears in the cart on its own. Use a discount code when the offer should feel private or earned. Codes also tell you which email, influencer or ad brought the sale. Most well-run stores use both. The harder part isn’t picking the type. It’s running offers without teaching shoppers to wait for the next sale.
The short version
| Discount code | Automatic discount | |
|---|---|---|
| How the shopper gets it | Types the code at checkout, or clicks a link that applies it | Applied in the cart and at checkout by itself |
| Best for | Offers for subscribers, VIPs or one influencer; knowing which channel worked | Store-wide and flash sales, “buy X get Y”, anything where an extra step costs sales |
| Who can use it | Everyone, or only chosen customer segments (up to 100) or named customers | Everyone, or only chosen customer segments (up to 5) or named customers |
| How many | Up to 20 million unique codes per store | Up to 25 running at the same time |
| Main risk | A public code ends up on coupon sites | Shoppers don’t know about it until they reach the cart |
You set up both in the same place: Shopify admin → Discounts → Create discount. First you choose the type (Amount off products, Amount off order, Buy X get Y or Free shipping). Then you choose the method: Discount code or Automatic discount.
When an automatic discount is the better choice
Every extra step at checkout loses some shoppers. An automatic discount removes the step: if the cart qualifies, the saving is simply there. That makes it the right choice for offers you want everyone to use.
- Store-wide and seasonal sales, like a weekend sale or Black Friday.
- Flash sales, where speed matters more than exclusivity.
- “Buy X get Y” offers, which are easy to miss if the shopper has to remember a code.
Two things to get right when you set one up:
- The title is what shoppers see. Shoppers see the name of an automatic discount in their cart, so write it like a headline (“Weekend sale: 20% off”), not an internal note (“WKND-TEST-2”).
- The start time is the launch. There’s no code to hold back, so the offer is live the moment it starts. Set the start time to match your email or ad, not an hour before.
When a discount code is the better choice
A code adds one small step, and that step is sometimes the point.
- The offer should feel private. A welcome code for subscribers, a thank-you code for returning customers, a VIP code for your best buyers.
- You want to know what worked. Give each influencer, email or ad its own code, and the codes used tell you which channel brought the sales.
- You’re winning someone back. A personal code to a lapsed customer feels like an invitation, not a clearance sale.
Three settings do most of the work:
- Customer eligibility. Choose Specific customer segments or Specific customers instead of All customers. Shopify recognises who qualifies by the email address or phone number used at checkout.
- Usage limits. Limit the total number of uses, or tick Limit to one use per customer.
- A code that’s easy to type on a phone. VIP20 or WELCOME10, not X97-Q2.
Good to know: a code limited to a segment only works for customers your store already knows. If it ends up on a coupon site, strangers can see it but can’t use it. The flip side: a brand-new shopper with no customer profile can’t use it either, even if they found it in the right place.
Turn a code into a link. Shopify’s Promote option gives you a shareable link or QR code for any code. Anyone who uses it has the code applied at checkout automatically, with nothing to type. It’s the best of both: the tracking of a code without the extra step.
Automatic discounts can be private too. Since August 2025, an automatic discount can also be limited to chosen segments or named customers. So “VIPs get 15% off, applied automatically” is possible without a code. Codes are still the better tool when you want to track channels or hand an offer to someone specific.
What happens when a shopper qualifies for more than one
Every discount has a Combinations section. It decides whether the discount can be used together with product, order or shipping discounts. Two shipping discounts can never combine.
If a shopper qualifies for several discounts that aren’t set to combine, Shopify applies whichever gives them the biggest saving. A shopper can use up to 5 product or order codes and 1 shipping code on the same order.
Decide combinations on purpose. Letting free shipping combine with a product discount is usually fine. Letting a VIP code stack on top of a store-wide sale can quietly give away far more than you planned.
Offers that grow the order without cutting the price
A blanket “15% off everything” is the easiest offer to run and the easiest to regret. These do more with less:
- Discount the add-on, not the hero product. A “buy X get Y” offer on a matching accessory keeps your best-seller at full price and grows the order. See seven ways to increase average order value.
- Use a fixed amount on expensive items. A common rule of thumb, the “rule of 100”, says a percentage sounds bigger on items under 100. Above that, a fixed amount sounds bigger. “$50 off” a $400 coat lands better than “12.5% off”.
- Use free shipping as a target. “Free shipping over $100” gives shoppers a reason to add one more item. See how to set a free-shipping threshold.
Don’t teach shoppers to wait for a sale
For a brand that wants to hold its price, the risk of discounting isn’t one bad weekend. It’s shoppers learning that full price is for people who didn’t wait. A few habits keep offers from wearing that down:
- Keep store-wide sales rare and planned, a few fixed moments in the year rather than whenever sales dip.
- Prefer targeted offers: one collection, one segment, one channel.
- Give every offer an end date, and end it when you said you would.
- Reward loyalty rather than strangers, with codes limited to returning customers.
Make sure shoppers actually see the offer
An automatic discount is invisible until the cart, and a code is useless if nobody knows it. So the last step of any offer is telling shoppers about it, on the pages where they browse.
- Tease, then launch. Schedule a “Sale starts Friday” bar to end at the exact moment a second bar, “20% off everything, ends Sunday”, begins. Add a countdown so the deadline is visible. Countdown timers that don’t annoy shoppers covers how.
- Show a code only to the people it’s for. A “VIP20” bar shown only to logged-in customers, and a welcome message shown only to guests.
- Make the bar one tap. Link the bar to the code’s shareable link, so tapping it applies the discount.
- Show progress toward free shipping in the cart, so the threshold works as a target.
Good to know: if a shopper isn’t logged in, their cart lives in the browser they used. Items added on a phone won’t be in their laptop’s cart. The announcement is different: it shows the offer on whichever device they come back on.
Something looks wrong? Start here
| What you see | Usually because | What to do |
|---|---|---|
| A shopper says the code doesn’t work | The code is limited to a segment and they’re new, or checking out with a different email; or the usage limit is reached; or a bigger automatic discount applied instead | Check the code’s Customer eligibility, usage limits and Combinations |
| Two discounts stacked when you only meant one | Both are set to combine with each other’s class | Untick that class in one discount’s Combinations |
| An automatic discount isn’t showing in the cart | It hasn’t started yet, the cart doesn’t meet the condition, or the shopper isn’t in the chosen segment | Check the start time, the minimum requirement and who it’s for |
| The sale went live before your email | An automatic discount starts at its start time, with nothing to hold back | Set the start time to the minute you send |
Do it with Announcements
Merch - Announcements handles the “make sure shoppers see it” part. It doesn’t create the discount itself: you do that in Shopify. It makes sure shoppers know the offer exists. Schedule a teaser bar and the live-sale bar to hand over at the minute your sale starts. Add a countdown, or a free-shipping progress bar. Show a code only to logged-in customers or only to guests, target the pages that matter, and link the bar to your shareable discount link. It’s 100% free with no view caps, and it’s added to your theme with no code.
Install on the Shopify App Store →
Frequently asked questions
What’s the difference between a discount code and an automatic discount on Shopify?
A discount code is typed in at checkout, or applied through a shareable link. An automatic discount is applied in the cart and at checkout by itself whenever the cart qualifies. Codes suit private offers and tracking which channel worked; automatic discounts suit sales everyone should get with no extra step.
Can an automatic discount be limited to certain customers?
Yes. Since August 2025 an automatic discount can apply to all customers, to up to 5 customer segments, or to named customers. Shopify recognises who qualifies by the email address or phone number used at checkout.
Can a customer use a discount code and an automatic discount together?
Only if both are set to combine in their Combinations settings. If they aren’t, Shopify applies whichever gives the shopper the biggest saving. A shopper can use up to 5 product or order codes and 1 shipping code on the same order.
How many automatic discounts can I run at once?
Up to 25 automatic discounts can be active at the same time. There’s a separate limit of 20 million unique discount codes per store.
How do I stop a discount code ending up on coupon sites?
You can’t stop people sharing a code, but you can stop strangers using it. Limit the code to specific customer segments or named customers, and it only works for shoppers your store already knows. Limit to one use per customer if it should only be used once.
Can I share a discount code as a link?
Yes. Shopify’s Promote option gives you a shareable link or QR code for a discount. Anyone who uses it has the discount applied at checkout automatically, with nothing to type.