How to Schedule Recurring WooCommerce Sales (Weekly, Monthly, Seasonal)
WooCommerce Guide
Set Up the Sale Once. Let It Repeat Forever.
How to create WooCommerce promotions that automatically run every week, every month, or every season β without touching your store each time.
Every Friday, you log into your WooCommerce store. You change 15 product prices for the weekend sale. Sunday night, you change them all back. Next Friday, you do it again.
This works for a while. Then you forget one Friday. Or you set the wrong price. Or you go on vacation and the weekend sale doesn’t happen. Your regular customers notice.
Recurring sales should run themselves. You configure them once β the products, the discount, the schedule β and they repeat automatically. Every week. Every month. Every season. No manual work, no missed promotions, no Sunday night price resets.
This guide shows you exactly how to set that up in WooCommerce.
Why recurring sales outperform one-time promotions
One-time sales create a spike. Recurring sales create a pattern. The pattern is more valuable.
Customers develop habits
When you run a “Weekend Special” every Friday through Sunday, regular customers learn the rhythm. They start planning purchases around your schedule. “I’ll wait until Friday” becomes a buying habit β and habits drive repeat revenue more reliably than any single flash sale.
You build anticipation without effort
A one-time sale requires promotion: emails, social posts, banners. A recurring sale promotes itself through consistency. After 3-4 cycles, your customers know it’s coming. You can still promote it, but the sale works even without marketing push.
You stop reinventing the wheel
Every time you manually set up a sale, you spend time on logistics: picking products, setting prices, scheduling dates. With recurring campaigns, that work happens once. After that, the campaign runs on autopilot while you focus on inventory, marketing, and growth.
A quick story
We ran a manual “First Friday” sale for 6 months. It worked great β until we missed two months in a row because of product launches. Customers emailed asking if we’d stopped. That’s when we automated it. The sale hasn’t missed a month since.
5 types of recurring sales that work
Not every product or store needs the same recurring schedule. Here are the patterns that drive results:
1. Weekend specials (weekly)
Runs every Friday through Sunday. The most common recurring promotion. Works for almost any store because shopping peaks on weekends anyway. You’re adding a discount to a behavior that’s already happening.
Best for: Fashion, home goods, gifts, food and drink, anything people browse on weekends.
2. Mid-week deal (weekly)
Runs every Tuesday or Wednesday. Targets the mid-week traffic dip. A “Hump Day Deal” or “Tuesday Special” gives customers a reason to visit on slow days, smoothing your revenue across the week.
Best for: Stores with strong weekend traffic that want to balance the week.
3. Happy hour (daily)
Runs every day from 5 PM to 9 PM (or any time window). Creates daily urgency with a predictable discount window. Customers learn to check your store at specific times.
Best for: Digital products, food delivery, subscription boxes, stores with international audiences across time zones.
4. Monthly event (monthly)
Runs on the 1st of every month, or every first Friday. A monthly sale feels like an event. “First Friday Sale” or “Monthly Clearance” gives you a consistent promotional anchor without discounting too frequently.
Best for: Stores that don’t want to discount weekly but need regular promotional momentum.
5. Seasonal rotation (monthly/quarterly)
Runs every quarter aligned with seasons. Spring collection launch, summer clearance, back-to-school, holiday prep. These are longer campaigns (1-2 weeks) that repeat annually but can be configured as recurring with yearly intervals.
Best for: Fashion, outdoor gear, seasonal products, gift shops.
The WooCommerce problem: no native recurring
WooCommerce does not support recurring sales. The built-in sale price scheduler lets you set a single start date and end date per product. There’s no option for “repeat every week” or “run on the first of each month.”
Your options without a plugin:
- Manual repetition β log in every cycle, change prices, change them back. Reliable until you forget.
- WP-Cron with custom code β write PHP that triggers price changes on a schedule. Requires development skills and ongoing maintenance.
- A scheduling plugin β use a tool built specifically for recurring discount campaigns.
Most discount plugins don’t support recurring either. In our comparison of major discount plugins, recurring campaigns were the feature most commonly missing. Only Smart Cycle Discounts includes it in the free version.
How recurring campaign scheduling works
A recurring campaign has three components:
1. The time window
When does each occurrence start and end? This is your active period per cycle. For a weekend sale, the window is Friday at 6 PM to Sunday at 11:59 PM. For a daily happy hour, it’s 5 PM to 9 PM.
2. The recurrence pattern
How often does it repeat?
| Pattern | Interval examples | Use case |
|---|---|---|
| Daily | Every day, every 2 days, every 3 days | Happy hours, daily deals |
| Weekly | Every week, every 2 weeks, specific days (Mon, Fri) | Weekend sales, mid-week deals |
| Monthly | Every month, every 3 months, specific days (1st, 15th) | Monthly events, quarterly clearance |
Weekly patterns let you pick specific days β run a sale only on Monday and Friday, for example. Monthly patterns let you pick specific dates β the 1st and 15th of each month.
3. The end condition
When does the recurring campaign stop?
- Never β runs indefinitely until you manually stop it
- After X occurrences β stops after a set number of cycles (e.g., “run this 12 times then stop”)
- On a specific date β stops at a future date (e.g., “keep running until December 31”)
Step-by-step: Setting up your first recurring sale
Here’s the workflow using Smart Cycle Discounts. The concepts apply to any tool that supports recurring campaigns.
Create a campaign with a descriptive name
Name it after the recurring event: “Weekend Special,” “First Friday Sale,” or “Daily Happy Hour.” A clear name helps you identify it in your campaign list and makes it obvious what the campaign does when you revisit it months later.
Select your products
Choose the products that will be discounted each cycle. For recurring sales, consider using “All Products” or category-based selection so new products automatically get included. If you use “Specific Products,” remember that the same products will be discounted every cycle β which might get stale.
Set the discount
Choose your discount type and value. For recurring sales, moderate discounts work best (10-20%). You’re building a habit, not a frenzy. Deep discounts on a recurring basis train customers to never pay full price.
Set the time window
Configure when each occurrence runs. Set the start time and end time for the active period. For a weekend sale: start Friday at 6:00 PM, end Sunday at 11:59 PM. For a daily happy hour: start 5:00 PM, end 9:00 PM. Precision matters β scheduling down to the hour prevents “the sale is still running on Monday morning” problems.
Enable recurring and choose the pattern
Turn on recurring scheduling. Select the pattern (daily, weekly, or monthly) and interval (every 1 week, every 2 weeks, etc.). For weekly patterns, pick the specific days. For monthly, pick the specific dates. Then choose when the recurring cycle should end β or set it to run forever.
Review and activate
Check the campaign summary and timeline preview. It should show your upcoming occurrences with dates and times. Verify the first few occurrences look correct, then activate. The campaign will now run automatically on every scheduled cycle.
Pro tip
Use the “Random Products” selection mode with a recurring campaign to create a “Mystery Deal” that features different products each cycle. Customers come back each week to see what’s on sale β and the randomization happens automatically.
Continuous vs. instances: which mode to use
If your plugin offers this choice, it matters for how the campaign behaves behind the scenes.
Continuous mode (recommended for most stores)
The same campaign toggles active and inactive on each cycle. Think of it like a light switch on a timer β the campaign turns on at the start time, turns off at the end time, and repeats.
- Simpler to manage β one campaign in your list
- More efficient β no duplicate campaign entries in your database
- Best for: weekend specials, daily deals, happy hours, any regularly repeating promotion
Instances mode (for tracking each occurrence separately)
Each occurrence creates a separate campaign copy. Your “Monthly Clearance” generates a new campaign instance for January, February, March, etc.
- Each occurrence has its own analytics
- You can see performance per cycle (was February’s sale better than January’s?)
- Creates more database entries over time
- Best for: monthly or quarterly events where you want per-cycle reporting
Quick rule
If you’re running it weekly or daily, use continuous. If you’re running it monthly and want to compare months, use instances.
Real-world recurring sale templates
Here are ready-to-use configurations for the most common recurring sales. Adjust the discount amounts to your margins.
Weekend Special
| Setting | Value |
|---|---|
| Pattern | Weekly |
| Days | Friday, Saturday, Sunday |
| Start time | Friday 6:00 PM |
| End time | Sunday 11:59 PM |
| Discount | 15% off |
| Products | Specific category or all products |
| End condition | Never (runs indefinitely) |
| Mode | Continuous |
Daily Happy Hour
| Setting | Value |
|---|---|
| Pattern | Daily |
| Interval | Every 1 day |
| Start time | 5:00 PM |
| End time | 9:00 PM |
| Discount | 10% off |
| Products | Random Products mode (5 products, rotated daily) |
| End condition | Never |
| Mode | Continuous |
First Friday Sale
| Setting | Value |
|---|---|
| Pattern | Monthly |
| Days | 1st of each month (or configure for first Friday) |
| Start time | 12:00 AM |
| End time | 11:59 PM |
| Discount | 20% off |
| Products | Specific products (curated selection, changed quarterly) |
| End condition | After 12 occurrences (1 year) |
| Mode | Instances (for monthly analytics comparison) |
Bi-Weekly Clearance
| Setting | Value |
|---|---|
| Pattern | Weekly |
| Interval | Every 2 weeks |
| Days | Wednesday, Thursday |
| Start time | 12:00 AM Wednesday |
| End time | 11:59 PM Thursday |
| Discount | 25% off |
| Products | Smart Selection (low stock items only) |
| End condition | Never |
| Mode | Continuous |
5 mistakes that ruin recurring promotions
1. Discounting too much on a recurring basis
A 30% discount is exciting as a one-time flash sale. As a weekly recurring event, it trains customers to never pay full price. Your “regular price” becomes the price nobody pays, and the “sale price” becomes the real price.
Fix: Keep recurring discounts moderate β 10-15% for weekly, up to 20% for monthly. Save deep discounts for one-time events.
2. Running the same products every cycle
If the same 10 products are on sale every weekend, customers lose interest by week 4. The “special” feeling disappears when nothing changes.
Fix: Rotate products. Use category-based selection and change the category monthly. Or use random product selection to automatically feature different items each cycle.
3. No gap between cycles
If your weekend sale ends Sunday and your mid-week deal starts Tuesday, there’s only one full-price day (Monday). Customers will learn there’s almost always a sale running and stop buying at regular price.
Fix: Leave breathing room. A weekend sale and a monthly event are fine together. A weekend sale, a mid-week deal, and a daily happy hour means you’re always discounting.
4. Forgetting about timezone
Your “Weekend Sale starts Friday at 6 PM” β but 6 PM in which timezone? If your server is in UTC and your customers are in EST, the sale starts at 1 PM their time. Or worse, at 2 AM on Saturday.
Fix: Set your WooCommerce timezone to match your primary customer base. Verify it in Settings β General β Timezone. Then confirm your plugin respects that timezone for scheduling.
5. Not measuring per-cycle performance
You’ve been running a weekly sale for 3 months. Is it working? Are sales up? Is average order value increasing? If you’re not tracking, you’re guessing.
Fix: Check your WooCommerce analytics for the sale period vs. non-sale period. If using instances mode, compare month-over-month. If the recurring sale isn’t moving the needle after 6-8 cycles, change the discount, products, or timing.
The biggest risk of recurring sales
Over-discounting. It’s easy to set up three recurring campaigns and forget that they overlap. Suddenly your store is running discounts 5 out of 7 days a week. Audit your active recurring campaigns quarterly and ask: “Is there enough full-price time between sales?”
Wrapping up
Recurring sales are the most underused tool in WooCommerce. Most store owners either run one-time promotions (exhausting) or discount permanently (margin-killing). Recurring campaigns sit in the middle β structured, predictable, and sustainable.
The key principles:
- Start with one recurring campaign. A weekend sale is the easiest to launch and measure. Add more later once you understand the impact.
- Keep discounts moderate. 10-15% weekly, up to 20% monthly. Deep recurring discounts erode your brand and margins.
- Rotate products. Same products every cycle gets boring. Use categories, random selection, or update the product list quarterly.
- Leave gaps between sales. Full-price days preserve the value of your discounts.
- Measure after 6-8 cycles. That’s enough data to know if the recurring sale is working.
Set it up once. Let it run. Check in monthly. That’s the whole system.
Key Takeaways
- Recurring sales build customer habits and repeat revenue β they outperform one-time promotions over time
- WooCommerce has no native recurring sale support β you need a plugin
- Three patterns: daily (happy hours), weekly (weekend specials), monthly (first Friday events)
- Continuous mode is best for frequent recurring sales. Instances mode is best for monthly events you want to track individually
- Keep recurring discounts at 10-20%. Save deep discounts for one-time events
- Rotate products between cycles to keep recurring sales feeling fresh
- Leave full-price gaps between recurring campaigns to protect your margins and brand perception
Automate your recurring sales
Smart Cycle Discounts includes recurring campaign scheduling in the free version β daily, weekly, and monthly patterns with specific day selection and automatic activation.