I’m pretty sure that during one of those Black Friday sales all you wanted to do was to apply a bulk discount to your WooCommerce products without having to generate a coupon code.
Let’s not forget that despite coupons are trackable and you can assess your marketing efforts with their usage statistics, requiring the user to take one additional step at checkout (entering the correct coupon code) reduces your sales conversion rate (the same applies with useless checkout fields by the way – less work to do, higher conversion rate).
In today’s post, we’ll see what are the 3 options I recommend in order to apply bulk store discounts. It pretty much depends on your product types (simple vs variable for example) and whether you want to do this via the settings or with a little bit of PHP.
1. Product Price Bulk Editing (WordPress Dashboard)
This is the easiest solution. You can just do this from the “Products” admin page of your WordPress dashboard.
Steps:
- Go to the “Products” admin page
- Tick all the products you want to edit the sale price for
- Click on Bulk Actions > Edit
- Select Sale > “Change to:”
- Choose “Set to regular price decreased by fixed amount or %”
- Enter e.g. 30%
- Update
The problem is that this method only works for simple products, and it won’t change the pricing of variable, grouped or any product with price ranges (min – max).
2. Product Price Bulk Editing (Premium Plugins)
In case your store has many variable products (for example, a fashion WooCommerce store – where each product comes in different sizes, colors, styles…), then the above method won’t work for you.
Thankfully, there are plugins for that. As usual, I’ve chosen WooCommerce plugin vendors based on marketplace reputation, dedicated support quality, code cleanliness, long-term reliability and – probably almost as importantly – where the “people behind” the plugin are active supporters of the WordPress ecosystem.
a. Bulk Table Editor for WooCommerce
Sold on the official WooCommerce marketplace, Bulk Table Editor turns your product admin in an Excel-like product table. You have bulk functions for stock, price, sale price, sale start and end dates – as well as advanced search, filtering and paging functions.
You can also bulk delete products and variations by simply deleting rows in the plugin spreadsheet. It just makes it easy to move items to trash.
Besides, you can bulk clear sale prices and easily set up a bulk store offer in seconds.
b. YITH WooCommerce Bulk Product Editing
With a single click, you can automatically apply the same bulk discount to variable and simple products. Or, you can filter by category or do an advanced search so you can find the correct products to edit:
3. Programmatically Apply a Coupon (PHP Snippet)
This method is my favorite.
It requires a little PHP that must be placed in your child theme’s functions.php (here’s a free video lesson in case you don’t know how to override WooCommerce the right way).
In this case, the coupon will be automatically applied to the cart once a user goes to the WooCommerce Cart page.
First, you need to create the coupon from WordPress Dashboard > WooCommerce > Coupons. Make sure to set the coupon code with an overall % cart discount (and not a fixed amount), then write down the coupon code as you will need it for the PHP snippet.
After this is done, simply use this snippet: https://businessbloomer.com/woocommerce-apply-coupon-programmatically-product-cart/ (and exactly the “Apply a Coupon Programmatically for ALL Products” version – it’s the second snippet).
Enjoy 🙂
Hello. First method worked for me. Now the sale is ended. How do I return prices to the original prices only with no sale price?
Maybe “Set to regular price decreased by 0%”?
This free plugin allows you to bulk edit prices, sale prices and sale dates: https://wordpress.org/plugins/product-editor/
Nice, thank you
How about a snippet to update “sale start date” and “sale end dates” for all products and variable products? Seems crazy to always have to change the sale start and end dates, even using the bulk table editor.
Cheers!
Interesting, I’ll see what I can do
First Method worked perfectly for me!
Thanks for this great and simple article!
Awesome
This Bulk Discount is working for only a single product. not working for variable product.
Thanks for your feedback!
Hi! I’m trying number 1 (Product Price Bulk Editing (WordPress Dashboard) but after setting the discount to 30% and Clicking Update the discount becomes 100%. Am I writing it wrong? I’ve tried 30%, 30 %, 0.3 and -0.3 with the same result, unfortunately.
Not sure I can help, sorry
Hi Rodolfo,
you have described how to do this above (1. Product Price Bulk Editing). I assume it worked when you wrote it? Has WoCommerce made changes so that this doesn’t work anymore? Does it work if you try, and if so, do you have another version of Woo? We have Version 4.5.2. Kind regards Caroline
Yes it still works that way (I also added a screenshot to the blog a few minutes ago)
Hello Rodolfo,
I try the First step and I succed to decrease the prices in bulk by 10% but then when I wanted to return the prices like before (Increase them by 10%) it gives me different numbers because Ex: 10 – 10% = 9 but then 9+10%= 9.9 So can you help me to return the old prices back after the sale?
Thanks
Uhm, that’s not the plugin’s fault – it’s math 🙂 You decreased prices by “10/100” so try to increase them now by “100/90”
Hi, I bought In Dollars and sell in my country’s own currency…. is very similar to what is described above… can be done? (like a rate update)
Hi Andrew – maybe this helps? https://businessbloomer.com/charge-customers-currency/
Dear Rodolfo,
My problem is nowhere addressed… I have a hundred products, all simple products and I want to schedule a regular price change. No discount, no sales period. Just update the product prices with the new price list, which should be valid at the 1st of December.
But I want to do this in comfort. Not rush to update all prices at once at midnight of 30th of November.
Do you have anything to suggest?
Thank you in advance
A direct database update through a sql query might be the best solution (and free) for me, as I am actually a database administrator.
But I don’t know if there are any hidden references between wp tables that I should be aware of…
Hey Konstantinos, sure, if you know how to manipulate a DB and schedule that at a given date, all you need to edit is the “_regular_price” cell of WP_POSTS table if I’m not wrong
Hello Rodolfo,
If I want to increase my prices in a bulk and I have alot of variations, what do you suggest?
Thaks for taking the time to answer my question.
Hi Nancy, try method #2
Ciao Rodolfo,
I see the plugin you recommend has had its last update on May ’18! Do you reckon it is safe to install on a WordPress 5.X.X version?
Good point Pat – try with this instead: https://businessbloomer.com/woocommerce-how-to-bulk-edit-products/
Amazing work around for a sitewide discount, just what I was looking for!
Any chance we can make this temporary? Like a countdown?
Thank you Gina 🙂 If you’re talking about the first solution, in each product you can also define the “sale price dates”. However, I don’t know if you can set that up via bulk editing
hi I do not see this code
After this is done, simply use this snippet: https://businessbloomer.com/woocommerce-apply-coupon-programmatically-product-cart/ (and exactly the “Apply a Coupon Programmatically for ALL Products” version – it’s the second snippet).
page links to coupon for 1 product only?
Hey Lottie, thanks for your comment! You’re right – I’ve now re-added that snippet 🙂
Hey Rodolfo 🙂
Nice to see you again
Would you know a plugin which allows to apply a discount for 10 pieces of the same product?
For example, if I seel socks. One sock would cost $12. But I wanted to offer 10 socks for $100, on the product page. The customer would see an offer, just below the product price:
“buy 10 for $100”
thank you, best wishes 🙂
Hello Martyna, good to hear from you 🙂 Yes, I recommend the following plugins:
Hope this helps! 🙂
Hey Rodolfo,
thanks once again for sharing all these awesome tips.
Is there an easy way to modify the 3rd variant to remove the coupon if “remove coupon” link is clicked? I love how this works, but would prefer to be able to remove the coupon if people want to manually use a different one.
Thanks!
Hey Miroslav, thanks so much for your comment! Yes, this is possible – but unfortunately this is custom work and I cannot provide a complementary solution here via the blog comments. Thanks a lot for your understanding! ~R