How to Set Up a ‘Weekend Sale’ That Runs Every Friday to Sunday Without Touching Anything
WooCommerce Tips
Your Weekend Sale Should Run Itself
A concrete walkthrough for setting up a recurring WooCommerce sale that goes live every Friday and stops every Sunday โ automatically, every single week, without any manual work.
If you run a weekend sale, you already know the routine. Thursday evening you log in, change prices, make a mental note. Sunday night you log back in, change them back. You’ve done it enough times that it’s automatic. It’s also exhausting in a quiet, low-grade way that accumulates over months.
The good news is this particular task is one of the cleanest things to automate. A recurring WooCommerce weekend sale โ every Friday to Sunday, starting and stopping on its own โ is entirely achievable, and once it’s set up you genuinely don’t touch it again. Not next week, not next month, not three months from now.
This post is a concrete walkthrough. Not a general overview of recurring sales concepts โ this earlier guide covers the broader picture โ but a specific, field-by-field setup for a Friday-to-Sunday recurring sale using Smart Cycle Discounts’ recurring schedule feature. Every setting is verified against the actual plugin code. Nothing is invented.
Why WooCommerce can’t do this on its own
WooCommerce’s built-in sale price system stores a start date and an end date per product. You set “Sale starts November 29, sale ends December 2” and those are fixed dates โ there is no “repeat every Friday” option. When the end date passes, the sale ends and that’s it.
This is fine for one-time promotions. For anything that repeats on a schedule, it breaks down immediately. A 10-product store running a weekly sale would need to reset 20 individual product dates every single week. A 30-product store needs 60. The math makes the problem obvious.
Most discount plugins have the same limitation โ they apply rules at cart calculation time but don’t have a native recurring campaign concept. When you look at how recurring schedules actually need to work, the gap in WooCommerce’s native toolset is real and consistent.
Smart Cycle Discounts handles this through a recurring campaign scheduler built into the free version. The scheduler runs at the campaign level, not the product level โ you configure the pattern once, and the plugin handles activation and deactivation across all the affected products automatically.
What you’re actually building
Before jumping into the settings, it’s worth being clear about the end state so you know what “done” looks like.
You’re creating a single campaign record in Smart Cycle Discounts with these characteristics:
- A percentage discount applied to your chosen products
- A recurring weekly schedule that activates on Fridays at a time you set
- A recurring end time on Sundays
- No expiry โ the campaign repeats indefinitely until you pause or stop it
- Continuous mode โ one campaign entry in your list, not a new entry every week
When it’s active, affected products show sale prices with strikethrough regular prices โ Smart Cycle Discounts applies the discount through WooCommerce’s price filters, so it works with your existing theme styling and behaves like a manually set sale on the storefront. The difference is that the transition happens on schedule, automatically.
What you need first
Smart Cycle Discounts installed and activated. The free version is sufficient โ recurring campaign scheduling, including weekly patterns with specific day selection, is included at no cost. You can find it at wordpress.org/plugins/smart-cycle-discounts/. The setup wizard runs automatically on first install and will walk you through initial configuration.
Step-by-step: the full setup walkthrough
Go to Smart Cycle Discounts in your WordPress admin and click “Create Campaign.” The 5-step wizard opens. Here’s what to do at each step.
Step 1 โ Name the campaign
The campaign name field is the first thing you see. Give it a name that’s immediately obvious when you’re scanning a list: “Weekend Sale” or “FridayโSunday Special” are both clear. Avoid vague names like “Campaign 3” or “Weekly Discount” โ six months from now you’ll be glad you were specific.
The description field is optional. If you want to note anything about the campaign’s intent or the products it covers, this is the place. It doesn’t appear anywhere on the frontend.
The priority field defaults to 3 (Medium). For a standalone weekend sale with no other competing campaigns, the default is fine. If you’re running other concurrent campaigns on the same products, set this to 4 or 5 to ensure the weekend sale takes precedence. The priority system (1 = lowest, 5 = highest) determines which campaign wins when multiple active campaigns target the same product.
Step 2 โ Choose your products
The Product Selection step offers four modes. For a recurring weekend sale, the right choice depends on what you want on sale each weekend.
All Products discounts your entire catalog. Every product in your store goes on sale from Friday to Sunday. This is the lowest-friction option and works well if your store sells a focused range of items.
Specific Products lets you search for and select individual products or categories. Use this if you only want certain items on weekend sale โ your featured collection, your best-sellers, or products with enough margin to absorb a discount. The search is AJAX-powered, so you can type a product name and select it without navigating away.
Random Products selects a fresh set of products from your catalog each cycle. You specify how many. This creates a rotating “Weekend Spotlight” effect โ customers don’t know which products will be featured each week, which can drive repeat visits. The randomization happens automatically at the start of each cycle.
Smart Selection is an automated mode that picks products based on criteria you define (low stock, poor recent performance, etc.). This is more powerful but adds complexity โ for a straightforward weekend sale, Specific Products or All Products is simpler to start with.
For a first recurring sale
Start with All Products or a broad category. A recurring sale’s job is to create a shopping habit, not to spotlight individual products โ scope is fine wide. You can always narrow it later by editing the campaign.
Step 3 โ Set the discount
The Discounts step is where you set the discount type and value.
For a recurring weekend sale, a percentage discount is the most common choice. It scales automatically with product prices, which matters if your catalog has a wide price range โ a 15% discount on a $20 item and a $200 item both feel proportional. A fixed dollar amount ($10 off) can feel insignificant on expensive items and margin-destroying on cheap ones.
The right percentage for a recurring weekly sale is probably lower than your instinct. Here’s why: if you run a 25% discount every weekend for six months, you will have trained your regular customers that the “real” price is the 25%-off price. They’ll stop buying on weekdays. The full-price tag starts to feel like a waiting penalty rather than the actual price.
10โ15% is a better starting point for a weekly recurring promotion. It’s meaningful enough that customers notice and respond, without being deep enough to erode price perception over time. You can always increase it if conversion doesn’t move after 4โ6 weekends.
The delivery mode defaults to “Auto-apply,” which means the discount fires automatically at checkout โ no code required from the customer. This is the right choice for a sitewide weekend sale. If you wanted to require customers to enter a code, you’d switch to “Requires code,” but that adds friction that typically reduces conversion on a promotional campaign.
Step 4 โ Configure the recurring schedule
This is the core step for what you’re building. The Schedule step has two parts: the campaign’s start/end dates, and the recurring settings.
Setting the initial start
In the “Start Type” field, select Schedule Start. Then set the start date to the upcoming Friday. Set the start time to whatever time you want the sale to go live โ 12:00 AM means it starts at midnight going into Friday, which gives customers the full day. If you want it to start later in the day (say, 6:00 PM Friday), set it there.
For the end date, set it to the same Sunday. Set the end time to 11:59 PM โ this gives customers the full Sunday before the sale ends, and avoids the awkward midnight cutoff that sometimes confuses customers who started checkout on Sunday evening.
These dates are the first occurrence
The start and end dates you enter here define the first cycle of the recurring campaign. After enabling recurring (next), the plugin uses these as the template โ it fires on the same days and times every week going forward. You don’t need to update these dates manually each week.
Enabling the recurring schedule
Below the date/time fields, you’ll see the “Enable Recurring Schedule” toggle. Turn it on. Several new fields appear.
Recurrence Mode offers two options: Continuous and Instances. Choose Continuous. More on why in a moment.
Recurrence Pattern is a dropdown with Daily, Weekly, and Monthly. Select Weekly.
Recurrence Interval is a number field. Set it to 1 โ this means “every 1 week,” i.e., every single week. If you wanted a sale every other weekend, you’d set this to 2.
Recurrence Days appears when you select Weekly. This is a multi-select of the days of the week. Select Friday, Saturday, and Sunday. These are the days the campaign will be active each cycle.
Recurrence End Type has three options: Never, After (a set number of occurrences), and On Date. Select Never. The campaign will repeat every weekend indefinitely. You can pause or stop it at any time from the campaigns list โ “Never” doesn’t mean you can’t change it later, it just means there’s no automatic expiry.
| Field | Value for FriโSun weekly sale |
|---|---|
| Start Type | Schedule Start |
| Start Date | Upcoming Friday |
| Start Time | 12:00 AM (or your preferred go-live time) |
| End Date | Same Sunday |
| End Time | 11:59 PM |
| Enable Recurring | On |
| Recurrence Mode | Continuous |
| Recurrence Pattern | Weekly |
| Recurrence Interval | 1 |
| Recurrence Days | Friday, Saturday, Sunday |
| Recurrence End Type | Never |
Step 5 โ Review and activate
The final step shows a summary of the campaign configuration. Campaign Intelligence also runs here โ it checks for potential issues like conflicts with other active campaigns, priority ties, or schedule overlap. If it flags anything, read the notes before activating. A green or “Healthy” status means the campaign is ready to go.
You have two choices at this point: Save as Draft, or Launch Campaign.
If this is your first recurring sale, consider saving as Draft first. Then wait until Friday and manually check that the campaign activates on schedule. Verify a product from the campaign shows a sale price with a strikethrough regular price. If everything looks right, you know the pattern is working. If the timing is off by an hour, the timezone setting (covered below) is almost certainly the cause.
Once you’ve confirmed the first cycle fires correctly, you can leave it running. The next cycle will activate automatically the following Friday without any action from you.
The timezone detail that trips most people up
This is the most common configuration mistake with time-sensitive campaigns, and it’s worth addressing directly.
Smart Cycle Discounts’ Schedule step includes a Timezone field. It defaults to your site’s configured timezone, which is set in WordPress under Settings โ General โ Timezone. If you’ve never touched that setting, it may still be at UTC โ which is almost never what you want for a store with a specific geographic customer base.
The consequence: you configure a sale to start at “Friday 12:00 AM” and it goes live at an unexpected time relative to your customers. A store timezone set to UTC with customers in US Central time will see the sale start at 6:00 PM Thursday their time, not Friday midnight.
Before you activate the campaign, do this check:
- Go to WordPress Settings โ General
- Look at the Timezone field
- If it says UTC or an offset like UTC+0, change it to a named timezone that matches where most of your customers are (e.g., America/Chicago, Europe/London, Australia/Sydney)
- Save the settings
- Return to your campaign โ the Schedule step’s Timezone field should reflect the updated site timezone
Getting the timezone right is a one-time fix. Once it’s set correctly, every future campaign you create will default to the right timezone automatically.
WP-Cron and timing precision
WooCommerce’s scheduling (and Smart Cycle Discounts’ automatic activation) runs through WordPress’s cron system, which fires when someone visits your site. On a low-traffic store, particularly first thing Friday morning before your shoppers arrive, the campaign may activate 15โ30 minutes late. This is a WP-Cron characteristic, not a plugin bug. If exact-to-the-minute activation matters for your sale, consider setting up a real server cron job via your hosting control panel. For most weekend sales, a small delay at the opening is inconsequential.
Why Continuous mode is right for this
The Recurrence Mode field offers two options โ Continuous and Instances โ and the difference matters more than it looks.
Continuous mode means the same campaign record toggles active and inactive on each cycle. Your Campaigns list shows one entry: “Weekend Sale.” During the sale window it shows as Active. Between weekends it shows as Scheduled (or Inactive). It’s a single campaign that repeats, like a light switch on a timer.
Instances mode creates a separate campaign copy for each occurrence. Run a weekly sale on Instances mode for one year and you get 52 distinct campaign records โ one for each weekend. Each has its own analytics record, which lets you compare individual weekends against each other.
For a Friday-to-Sunday weekly sale, Continuous mode is almost always the right choice:
- You don’t need per-weekend comparison analytics for a routine weekly promotion
- 52 campaign entries per year is database and UI clutter you don’t need
- Continuous keeps your Campaigns list clean and readable
- The campaign stays manageable long-term โ you edit one record if you ever want to change the discount or products
Instances mode is genuinely useful when the individual occurrence matters โ a monthly clearance event where you want to ask “was the March clearance better than February’s?” For a weekly sale that you measure by overall weekend revenue trend, Continuous is simpler and sufficient.
What to watch after the first weekend
Once the campaign is running, there are a few things worth checking in the first few cycles.
Confirm activation and deactivation timing
On the first Friday, verify that the campaign went active around the right time. Pick a product from the campaign and check it on your store frontend โ you should see a strikethrough regular price and a sale price. On Monday, check again to confirm the sale prices have reverted.
If activation is an hour off, it’s the timezone. If it’s a few minutes late, it’s WP-Cron doing what WP-Cron does โ not a problem for most stores.
Check for discount stacking
If you’re running any other active campaigns on the same products, open the Campaign Intelligence panel and check for conflict flags. Smart Cycle Discounts will warn you if the weekend sale is overlapping with another campaign at the same or lower priority. Resolve any priority ties by adjusting the priority setting on one of the campaigns.
Look at weekend vs. weekday revenue after 4โ6 cycles
After a month or two, check your WooCommerce analytics: are weekends genuinely outperforming weekdays in a way that wasn’t true before the recurring sale? If yes, the campaign is working. If the revenue pattern hasn’t shifted at all, consider whether the discount depth (try increasing from 10% to 15%), the products on sale, or the promotional visibility needs adjustment. The automation handles the execution โ the strategy question is still yours to answer.
An honest note
Setting up the recurring schedule takes about 10 minutes. After that, the logistics are done โ the campaign runs on its own. What doesn’t get automated is the strategy: is the discount the right size? Are the right products on sale? Is the promotion visible enough that customers know about it? Automation removes the manual burden. It doesn’t replace the judgment calls. Check in after six weekends and make sure the sale is actually moving the needle, not just running silently in the background.
Common questions
Can I run a recurring WooCommerce sale every weekend automatically without writing any code?
Yes, with Smart Cycle Discounts. WooCommerce’s built-in sale price system supports fixed start and end dates only โ there is no native “repeat every week” option. Smart Cycle Discounts adds a recurring campaign scheduler, available in the free version, that handles weekly patterns with specific day selection. No PHP or custom code required.
What happens if I need to skip a weekend?
Open the campaign and set its status to Paused. The campaign will not activate on the next scheduled weekend. When you’re ready to resume, set it back to Active (or Scheduled) and it picks up from the next upcoming occurrence. The recurring pattern is preserved โ you don’t need to reconfigure anything.
Can I change the discount amount without rebuilding the campaign?
Yes. Open the campaign, navigate to the Discounts step, change the discount value, and save. The new value takes effect on the next activation. If the campaign is currently active (it’s the weekend), the new discount applies immediately after saving.
Will the weekend sale apply to variable products and all their variations?
Yes. When a variable product is included in the campaign โ either by being selected directly or by being part of a selected category โ all its variations receive the discount automatically. You don’t need to select each variation individually.
What if a customer adds a sale-priced product to their cart on Sunday evening and comes back Monday to complete checkout?
The cart reflects the current price at checkout. If the sale has ended by the time they complete payment, the price reverts to regular. This is standard WooCommerce behavior for time-limited sales. Setting the end time to 11:59 PM Sunday (rather than midnight) gives customers the full day and sets clear expectations. You can also add a note to product pages or the cart during the sale window: “Weekend pricing ends Sunday at midnight.”
How do I know if the recurring sale is helping or hurting my store?
Look at two metrics after 6โ8 weekends: weekend revenue compared to weekday revenue (has the weekend lift increased?), and your average weekday conversion rate (is it staying flat, or declining as customers learn to wait for the weekend?). A healthy recurring sale increases weekend revenue without meaningfully degrading weekday performance. If weekday sales are sliding, the discount may be too deep or too visible โ customers are timing their purchases around the promotion rather than responding to it as a bonus.
Does the campaign work if my site has low traffic on Friday mornings?
The campaign will activate when the WP-Cron event fires, which requires a site visitor to trigger it. On very low-traffic stores, the Friday morning activation could be delayed by 30โ60 minutes if no one visits the site around the scheduled start time. If exact timing is critical, set up a real server cron via your hosting control panel โ this runs independently of site traffic. For most weekend sales, a small opening delay is not a practical problem.
Key Takeaways
- WooCommerce has no native “repeat every week” option โ its sale scheduler only handles fixed start and end dates per product
- Smart Cycle Discounts adds a recurring campaign scheduler (free) that supports weekly patterns with specific day selection โ Friday, Saturday, Sunday is a valid configuration
- Use Continuous mode for a weekly recurring sale โ one campaign entry, repeating forever, no database clutter
- Set the Recurrence Pattern to Weekly, Recurrence Interval to 1, Recurrence Days to Friday/Saturday/Sunday, Recurrence End Type to Never
- Verify your WooCommerce timezone under Settings โ General before activating โ UTC is almost never right for a geographically specific store
- Start at 10โ15% discount for a weekly sale. Deep recurring discounts train customers to wait for the weekend rather than paying full price during the week
- Automation handles the logistics. Check in after 6โ8 weekends to confirm the sale is actually moving revenue โ not just running quietly in the background
Set it up in about 10 minutes
Smart Cycle Discounts includes recurring campaign scheduling โ weekly patterns with specific day selection, Continuous and Instances modes โ in the free version. No upgrade required for this setup.