Key takeaways
- A sale price changes the product's price itself; discount codes and automatic discounts are rules Shopify applies in the cart and at checkout.
- Shoppers see a sale price, usually with the compare-at price crossed out, wherever your theme shows prices; a discount code only appears once it's entered at checkout.
- Shopify allows up to 25 active automatic discounts, including app-based ones, and up to 5 product or order discount codes plus 1 shipping code per order.
- A discount on a sale item comes off the sale price: 20% off and then 10% off is 28% off, not 30%.
- Sale Scheduler by SalePilot is not a discount code app: it changes catalog prices and compare-at prices, with a preview, scheduling and restore.
What is the difference between a sale price and a discount on Shopify?
A sale price is a change to the product's price. You lower the Price and put the original amount in the Compare-at price field. When the compare-at price is higher than the price, your theme shows the sale, usually as a crossed-out price (sale pricing). The lower price becomes the product's price until you change it back.
A discount is a rule that Shopify applies to the order. Customers enter a discount code at checkout, or in person if you use Shopify POS. An automatic discount applies in the cart and at checkout when its conditions are met, with no code to type (discount methods). Both kinds are applied to the order subtotal before taxes, and the product's own price doesn't change.
How do sale prices, discount codes and automatic discounts compare?
Here's the side-by-side view. The limits come from Shopify's help pages on automatic discounts and combining discounts.
| Question | Sale price (compare-at) | Discount code | Automatic discount |
|---|---|---|---|
| Where do shoppers see it? | Wherever your theme shows prices, usually with the old price crossed out | At checkout, once the code is entered | In the cart and at checkout |
| Who gets it? | Everyone who sees the product | People who have the code | Everyone who meets the conditions |
| Typical use | Seasonal sales, clearance, category sales | Email, partner and influencer offers, first orders | Buy X get Y, spend thresholds, collection offers |
| Scheduling in Shopify | No dates on the price field; use Launchpad (Plus), a catalog rollout, Flow or an app | Start date and optional end date | Start date and optional end date |
| Limits to know | The compare-at price must be higher than the price to show a sale | Up to 5 product or order codes and 1 shipping code per order | Up to 25 active automatic discounts, including app-based ones |
| Main risk | Forgetting to end it, or an inflated compare-at price | Shoppers who forget the code; codes shared beyond your audience | Shoppers may not notice they're getting a discount |
When should you use a sale price?
Use a sale price when seeing the deal is part of the offer. A crossed-out price on a collection page tells someone browsing your store that an item is cheaper before they even open it. That suits seasonal sales, clearance, whole-category promotions and anything you advertise at a specific price.
- Good for: visible store-wide or category-wide sales, clearance, Black Friday style events, and products you advertise at a set price.
- Watch out: the compare-at price should be a real former price, not an inflated one. Our compare-at price guide covers the rules.
- The catch: the price field has no end date, so ending a sale means changing every price back. Scheduling and restoring by hand is where most sale pricing mistakes happen.
When should you use a discount code?
Use a discount code when the offer is for a specific group of people. Shopify's own guidance places codes in marketing strategies such as email campaigns and partnerships. The code is the gate: only people who have it get the lower price.
- Good for: newsletter sign-up offers, win-back emails, influencer and partner codes, goodwill gestures from customer service, and first-order offers.
- Controls: you can limit a code to specific products or collections, set minimum purchase requirements, choose which customers are eligible, cap the number of uses and set active dates.
- Watch out: a shopper who forgets the code may abandon the cart, and codes can travel well beyond the audience you meant them for.
When should you use an automatic discount?
Use an automatic discount when the offer depends on what's in the cart and you want everyone who qualifies to get it without typing anything. Buy X get Y and spend-threshold offers are the classic cases, along with collection offers you don't want shoppers to miss.
- Good for: buy X get Y, spend $100 and get 10% off, free shipping over a set order value, or a percentage off a collection at checkout.
- Limits: up to 25 active automatic discounts at once, including app-based ones. For the discount to apply, shoppers need all the eligible items in their cart.
- Watch out: product pages still show the regular price unless your theme or an app adds a message, so shoppers may not realize they qualify.
What happens when a discount applies to a sale price?
A discount comes off the price the item has at that moment. If the item is already on sale, a code or automatic discount reduces the sale price further. Take a jacket with a compare-at price of $100 and a sale price of $80. A 10% code takes $8 off, so the shopper pays $72: 28% below the original, not the 30% you might expect. The combined rate is 1 − (1 − 0.20) × (1 − 0.10) = 0.28. Work through your own cases with the discount calculator or our guide to calculating discount percentages.
Whether that's acceptable is a margin decision. If it isn't, keep discounts away from sale items:
- Limit the discount to specific collections that contain only full-price products.
- Build an automated collection with the condition Compare-at price is not set. A product matches when any of its variants has no compare-at price, so a product with only some variants on sale still matches (collection conditions).
- Remember that Combinations settings control which discounts work together. A sale price isn't a discount, so only product and collection limits keep a code off sale items.
- On plans other than Shopify Plus, only one product discount applies to the same item, and Shopify applies the best one for the customer. Combining several product discounts on one item needs Shopify Plus.
How do they compare on scheduling and ending?
Discounts are easy to schedule. Both codes and automatic discounts have Active dates with a start date and an optional end date, in your store's time zone. When the end date passes they stop applying, and nothing about your products needs to change back.
Sale prices are harder, because the price field has no dates. Your native options are Launchpad, which is only for Shopify Plus, a Markets rollout that activates a catalog's prices for a set period, a Shopify Flow workflow you build yourself, or changing prices by hand at the start and the end. That gap is what sale scheduling apps fill. We compare every option in how to schedule a sale on Shopify.
Where does a sale price app like SalePilot fit?
Searches for a "Shopify discount app" mix two different jobs: creating discount codes and changing prices. Sale Scheduler by SalePilot does the second. It is not a discount code app: it doesn't create codes, automatic discounts or checkout discounts. It changes product prices and compare-at prices in bulk, with a preview of every variant before anything goes live.
Codes and automatic discounts stay in Shopify's Discounts page, and the two approaches work side by side. For example, you might run a scheduled sale price on one collection and a free shipping discount over a set order value at the same time. What SalePilot covers:
- Price actions: increase or decrease by percent or amount, set a new price, or set the price to the compare-at price, with optional endings such as .99.
- Compare-at actions, including setting compare-at to the original price so the old price shows crossed out, or removing it after a sale.
- Start right after review (Start after I review), or schedule a start and an end; scheduled sales restore the saved previous prices automatically at the end.
- Recurring sales, weekly or every set number of days.
- A product-page countdown that shows only while a variant is on a live sale.
Which should you choose?
Start from what the shopper should experience, then pick the tool:
- Want everyone browsing to see the deal? Use a sale price.
- Want only a specific audience to get it? Use a discount code.
- Is the offer about the cart, like buy 2 get 1 or spend more and save? Use an automatic discount.
- Need it to start and end on time without someone editing prices? Discounts have built-in dates; for sale prices, use a scheduling tool.
- Running both at once? Decide whether codes may apply to sale items, and set product and collection limits to match.