Short Answer
As a rule of thumb, four to six major discounts a year, with two to four full-price weeks between them, is a starting point. The condition that decides whether that is too often is predictability: when customers can name your next discount, they are already learning to wait. Check how often orders use a code before you add another.
A discount works best when it is a surprise. Once buyers can predict the next one, they wait for it, and full-price orders slow down. Run too many and the cost goes past this month's margin: customers start to see your full price as a number they will not pay.
So the more useful question is how predictable your discounts are, not only how many you run. The sections below cover the three things that decide the answer for your store, how to check your own numbers, and how to keep the year on one calendar so each discount is a decision, not a habit.
What It Depends On
How predictable your discounts are
Customers are pattern-recognition machines, and they apply that skill to your store whether you want them to or not. Run a 20-percent-off email on the first Monday of three consecutive months and by the fourth month a meaningful slice of your list is waiting for the Monday email before they buy.
The mechanism is straightforward. Urgency works because a deal feels scarce. The moment a customer believes another sale is coming soon, scarcity disappears - and with it the reason to buy today. In our experience, each flash sale erodes the urgency effectiveness of the next - the pattern trains customers faster with every repetition. Predictability is the enemy of urgency.
This is why some stores feel stuck on a discount treadmill. BCG research found that 30 to 40 percent of retail promotions are either inefficient or unprofitable.
"The discount did not create the sale. It postponed a full-price purchase and took a margin cut on the way out."
How much full-price selling sits between them
Here is the counterintuitive finding: the problem is almost never the depth of your discount. A 25-percent-off sale is not inherently more damaging to urgency than a 15-percent-off sale. The damage comes from frequency and predictability. Spacing is the variable you should be managing, not percentage.
How to tell: your full-price weeks go quiet in the run-up to each sale.
Whether your discounts are store-wide or targeted
Not every offer carries the same conditioning risk. The useful split is between anchor promotions and fill promotions.
How to tell: every offer you run goes to your whole list.
How to Decide
Two schedules, same discount
Picture two merchants offering an identical 20-percent discount on different schedules.
The 3-week promotion cycle:
- Runs 17 or more promotions per year
- Customers learn the rhythm quickly
- Full-price weeks go quiet because buyers know the next sale is days away
- Margin erodes across nearly every order
- The discount no longer pulls forward new demand; it discounts demand that already existed
The quarterly anchor model:
- Runs 4 to 6 well-spaced promotions per year
- Each promo lands as a genuine event because customers cannot predict the next one
- Full-price weeks convert, because buyers cannot wait indefinitely
- The same 20-percent discount does real work because urgency has rebuilt between anchors
Unpredictable timing also matters. Not random, but not calendar-obvious to your customers. If your list has learned that you run a sale on the first Monday of every month, you have removed almost all urgency from the offer. Anchor promotions tied to seasonal moments (BFCM, summer clearance) are predictable in a different sense: customers know BFCM is coming, but they also know it is one annual event, not a repeating pattern they can time purchases around.
Anchors vs fills
Anchor promotions are your planned, seasonal, store-wide events. You schedule them 60 to 90 days in advance. They are tied to a genuine seasonal moment - BFCM, your annual summer clearance, a Back-to-School push. Their power comes from being significant and infrequent. These are the four to six events from the rule of thumb above.
Fill promotions are tactical and targeted:
- A win-back offer sent to customers who have not purchased in 120 days
- A bundle discount on slow-moving inventory sent to repeat buyers
- A spend-threshold offer ("spend $75, save $15") to a lapsed segment
- An early-access window for your most engaged customers
Fill promotions are unpredictable from the broader customer's perspective because they are not broadcast to your whole list on a recurring schedule. That unpredictability is exactly why they do not trigger the training effect. No customer can wait for a sale they cannot see coming.
"If you are emailing your whole list every discount you offer, you do not have fill promotions. You have a lot of anchors, and your customers are counting them."
The most common mistake is over-anchoring: treating every promotion as a broadcast, store-wide event. Shift volume toward targeted fills and you can stay commercially active without becoming predictable. More frequent is not more valuable - more targeted is.
How many major discounts a year
As a rule of thumb, this guide uses four to six major discounts a year as a starting point, with two to four full-price weeks between them. It is not a Shopify benchmark.
If you want a number to anchor to, here it is: four to six major promotions per year. That is enough to capture seasonal demand without teaching customers that full price is optional.
Between every one of your major promotions, hold a minimum of two to four weeks at full price with no store-wide discount. That gap is what lets urgency recharge. Without it, your major promos blur into a single continuous sale in the customer's mind.
One important distinction: these counts refer to major promotions - store-wide or category-wide discounts that you market broadly to your entire list. They do not include conditional offers like loyalty rewards, first-order incentives, or spend thresholds. Those operate differently and do not trigger the training effect in the same way.
Your discount penetration
Before building a new cadence, you need a baseline. The most useful number is your discount penetration rate - the percentage of orders in the last 12 months that included a discount code.
How to calculate it:
- Pull your total orders and your discounted orders for the last 12 months from Shopify, using the same date range for both.
- Identify orders where a discount code was applied.
- Divide that count by total orders. Multiply by 100.
Run this calculation once per quarter and track the direction. A declining number means your cadence adjustments are working. A rising number means you are discounting more than you realize, regardless of how disciplined your calendar looks on paper.
How to measure whether your cadence is working
The measures below are methods for judging your own store, not benchmarks.
Most merchants measure promotional success by revenue during the sale period. That is the wrong metric for evaluating cadence. Promo-period revenue measures urgency created by the discount. Cadence health shows up in your full-price windows.
The right metrics to track - start with discount penetration rate since it requires only your existing Shopify reports. Add full-price conversion rate once you have a cadence baseline. Cohort repeat rate is the most telling long-term signal and worth setting up once the first two are stable.
Full-price conversion rate between promotions. Measure your store's conversion rate specifically during the weeks between each promotion. If spacing is working, this number should be stable or growing. If it is declining between promos, customers are holding out for the next discount - and your cadence is too predictable.
Discount penetration rate, quarterly trend. Use the calculation from the penetration section above, tracked each quarter. Flat or falling is the goal. A steady climb means conditioning is building regardless of how deliberate your calendar looks.
Repeat purchase rate of promo-acquired vs. full-price customers (90 days). Tag customers by how they first purchased, then compare repeat purchase rates over the following 90 days. Full-price-acquired customers often repeat at higher rates. If your promo-acquired cohort rarely returns, your discounts are buying transactions, not customers.
Read these three together. Rising promo-period revenue combined with rising discount penetration and a weak promo-cohort repeat rate is a warning signal, not a win. For the full framework on calculating true promotional ROI, see the how to tell whether a Shopify discount was profitable.
"The right measure of a promotional cadence is not what happened during the sale - it is what your full-price conversion rate looks like in the three weeks after it ended."
For the dated Q3 and Q4 plan, see the Q3 calendar and the Q4 calendar.
How to Make This a Routine
Schedule the year in advance
Knowing your ideal cadence is the easy part. Sticking to it when a slow Tuesday hits is where most plans break down.
Reactive discounting - the unplanned "let's run something to hit this week's number" decision - is the single most common reason merchants break cadence. One reactive sale becomes two. Within a quarter, the discipline is gone and the training effect is back. The promotions you run under pressure are almost never the ones worth running.
The defense is making the plan visible and making deviations obvious. When your full year of anchors and gaps lives on a single calendar, a reactive discount becomes a clear departure from the plan rather than a quiet one-off.
PromoOS holds the promos you set up in it on one calendar, and starts and ends each one on its date, so the year's anchors and the gaps between them are visible in one place. It does not stop a reactive discount, so the decision to run one still belongs to you, made on the calendar rather than under pressure. You can keep the year's anchors and gaps on one calendar.
Key Takeaways
- As a rule of thumb, four to six major discounts a year, with two to four full-price weeks between them, is a starting point.
- The number to check is discount penetration: the share of orders that used a discount code over the last 12 months.
- Predictable discounts teach buyers to wait. Spacing and store-wide versus targeted matter more than the count.
- Keep the year's anchors on one calendar, so each reactive discount is a decision.
