Schedule Sales with WooCommerce

Minions Going Shopping

It's Tuesday, two days before Thanksgiving and three days before Black Friday when stores all over the US both online and brick and mortar stores have massive sales. If you're a store owner you've most likely been planning promotions for weeks. One of the logistical issues that a new store owner might run into is how you're going to schedule sales ahead of time so that you don't have to wake up at 4am to change all of your prices.

Here it is Black Friday and Cyber Monday approaching. I want to run a sale. But I can't do it in advance without starting the sale the day I set it up. So instead of a 3 day sale, I have to run a week or a two week sale (I'm going to be gone over Thanksgiving!) which basically defeats the whole idea of a Black Friday Cyber Monday sale.

I received this feedback from a customer and thought it was worth highlighting one of those little features in WooCommerce that make it truly awesome.

Scheduling a Sale with a Simple Product

This only takes a couple extra clicks and if you're the curious type you'll probably have discovered the setting all on your own. For those of you that missed it I'll break it down.

  1. In the WordPress admin go to Products and then click on one of your products. (For simplicity sake I recommend you start with a simple product)
  2. Scroll down to the Product Data tab and right next to the Sale Price click on the Schedule link
    Product Data Tab
  3. Once you click the Schedule link two new fields will popup. The start date and end date.

    WooCommerce Sale Price Schedule

    Click on the calendar icon to open a clickable calendar

  4. Go ahead and enter your dates
  5. Don't forget to press the Update button and then view your product on the front end.

If you're within the sale dates you'll see the discounted sale on the front end.

WooCommerce Product on Sale

How the Sale Date Works

The sale date is based on the time you have set for your site. That means that if someone is shopping in Bangkok which is 14 hours ahead of where I am (Denver) and it's still Thursday evening my time they won't see the sale.

You can check the time zone set for your site under Settings > General > Timezone.

WordPress Timezone Setting

Now you can set up your sales ahead of time and sleep in on Black Friday or go shopping yourself! 🙂

Happy sales!

Photo credit: Giphy

34 thoughts on “Schedule Sales with WooCommerce

  1. Is the end date the day the price will return to normal, or will it still be on sale until that day is up?

    • Hey Brandon – good question! The sale date is when the sale immediately ends. So if you want your sale to run from Thursday all the way through Monday then the sale end date should be Tuesday.

      I hope that helps! 🙂

      • Hi I want to set my sale for Black Friday but I am a little confused with the dates? I set them From 25/11/16 To 26/11/16 but the sale is appearing now (24/11/16)

  2. Hi, my scheduled sales just doesn’t work. Do you have any clue why is it so or which setting should i check?

    • There’s probably something wrong with wp-cron. That’s the technology behind scheduling things in WordPress. There have been some instances of plugins breaking wp-cron. Especially caching plugins. I’d disable all of those and try again. Make sure you’re site is using the right time zone under Settings > General. If you’re still having problems I’d guess a hosting issue.

      I hope that helps! 🙂

  3. I am trying to schedule a sale on a variable product. How do I do that?

  4. Is there a way to link something to the sale dates? For example, if I want to add text via a custom field to go along with the sale and end when the sale ends? I know this could be done another way, but having it integrated into the woocommerce sale function would be great!

    • Nothing like that built into WooCommerce core. You could certainly customize something to show up (a special field, some copy, etc) when there’s a sale going on. I’d reach out to Codeable for custom development work like this. If it’s just a field that you can add when a sale is going on I doubt it will be expensive.

  5. Question: How does this work with a subscription? If someone purchases a WooCommerce Subscription product inside of the sale date, the sale price should only apply to the first payment, correct?

    For instance, if I wanted to have a sale for a week on a recurring monthly subscription, I would only want that first payment to be the one that the sale price is applied to. Is this how it works? I’ve been having a hard time finding documentation on this. Thanks for your help!


  6. If I don’t set an end sate will the price change still work. I basically just want to permanently reduce the price after a certain date.

  7. Hi,
    I recently found out that an articles keeps on displaying the sales price after the scheduled sales end date has passed. Like, two days after the scheduled end date the sales price is still on the product. SImply editing the product and the clicking update will fix this issue but that of course defeats the purpose of a schedule.

    Do you have any idea how that this can happen? I read things about wp-cron? What is it? What can I do to test it? wp-cron seems to be a server side job that runs regularly?

    I read that sometimes plugins can break the wpcron. I have several plugins. If I deactivate the plugins, do I then have to wait for the wp-cron to run for the sales price to change? Or will I see immediately if the deactivated plugin has an effect on the wp-cron/sales price?

    Kinda stuck here… All plugins and software is updated to the latest version.

  8. Is it possible to set start and end date of a sale using the bulk edit function?

  9. is it possible to change the sale price date to sale price hours? I wanted my products to be for sale in only hours and not days..

  10. I have my sale all scheduled and timezone is London but sale has not gone live yet. What time on sale day should sale go live? Thanks

  11. Hi! Is there a way to pick the time?
    For example, I want to start at Friday, 2pm.
    How does WOO account time? It starts at the time I added the sale?

  12. Do you know if there’s a way of doing this by brand so you don’t have to go into each product individually… it’s very time consuming!

  13. Thanks a lot Patrick…you just saved my day 🙂

  14. Hi Patrick, is there a way of filtering product by sale price, i’d like to group all products which have a sale price on one page, now i had added a sale category and added the product to it, but when a scheduled sale price ends i would have to edit each of the products manually, un-ticking the category?

  15. Hi
    I have scheduled date from 25/11/2016 to 30/11/2016.

    From date worked perfectly.

    But now is 30/11/2016 and there is no sale. It look that it works only to a day before.

  16. Not sure if you will see this. Are the dates set to midnight? I guess I am confused on end date. I want the sale to start at midnight on black friday and run just for that day. I am assuming the end date should be the saturday but I can’t find an answer to set this up correctly.

  17. The end date should be Saturday.

  18. Hi, Patrick how about if I want to schedule sale one day in a week ie sale on Thursday every month?

  19. Do I really have to go into each product and enter a sale price?

    Is there not a way to bulk action this? It’s so tedious to do this one by one.

  20. hi
    i have set start date and end date of sale.
    after end date schedule are reset and date are gone from meta-data so i can not figure out my which sale expired in this week.
    how can i stop removing date from database.

  21. I am trying to schedule date on product page. i have done complete your process yet is not showing on product page schedule date.

  22. Hello,

    I would like to set up a 24 hour sale offering 10% off everything. I followed your guide but can only do this one item at a time. How do I bulk action this ?

  23. Yes but what about time? Is there a reliable plugin for it?
    i.e., we have a Click Frenzy event coming up here in Australia which starts at 6 pm…

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.