5,000 SKUs. Black Friday in 3 hours. Good luck.
Native bulk-edit handles 50 products. Beyond that you're CSV-exporting, find-replace in Excel, re-importing, and praying nothing broke. Then you do it again on the way out of the sale.
Put your whole store on sale in one click.
Set a percentage or a fixed amount off. Scope it to a category, a brand, a tag, a user role, or all of them at once. Schedule it for Black Friday and walk away. Run multiple campaigns side-by-side, each with its own rules. $49.99/yr or $149 once.
30% OFF · Black FridayWHOLESALE PRICINGBRAND CLEARANCEWooCommerce ships with a Sale Price field on every product, which is fine for ten SKUs and impossible for five thousand. Coupons solve part of the problem but require the customer to know a code, and they don't show a struck-through price on the product page. This plugin is the third option: a single sale toggle that prices every product on its own.
Native bulk-edit handles 50 products. Beyond that you're CSV-exporting, find-replace in Excel, re-importing, and praying nothing broke. Then you do it again on the way out of the sale.
Coupons unlock the discount at checkout. They don't paint a sale badge on the listing, don't change the price shoppers see while browsing, and don't push shop archive sort-by-price the way a real sale price does.
A B2B account should see lower prices than a guest. A subscriber should get a member discount on the product page, not after coupon entry. Native WooCommerce can't do role-based pricing, and that's a daily lost-sale problem.
The plugin handles four jobs: set a discount (percentage or fixed), scope it (all products, by category, tag, brand, role, location), schedule it (start and end dates), and show it on the product page, archive, cart, and checkout - with a struck-through original price and a sale badge.
Mix and match per group. The discounted price replaces the regular price on the product page, archive, cart, and emails - WooCommerce still treats it as a real on-sale product.
Each group has its own scope, schedule, and rules. The plugin picks the best (or stacked) result per product so nothing collides.
Configure the whole holiday season in November. The plugin flips campaigns on and off at midnight, no cron tweak required.
Per-group toggle: stack on top of products already on sale, or skip them. Most stores skip to avoid 50%-on-50% accidents.
Discount the parent product, or pick specific variations. Variation prices stay accurate in the cart, mini-cart, and emails.
Configurable per discount group. Shipped after Kenneth (verified buyer) asked for it - support followed through.
Because the plugin sets WooCommerce's native sale price field, every theme already styles it. No custom CSS needed for the badge or the strikethrough.
Upload the .zip from Plugins → Add New, then activate.
WooCommerce → Settings → Sitewide Discount → Add group. Pick a name (Black Friday), a type (% or fixed), and an amount.
Categories, tags, brands, attributes, user roles, countries, or specific product IDs. Combine as many as you need. Add exclusions if some SKUs shouldn't move.
Pick a start and end date, save. The plugin activates at midnight on the start date and rolls every price back the moment the end date passes.
WooCommerce native · sale-price field |
Flycart Discount Rules from $85/yr · no lifetime |
Barn2 Discount Manager from $79/yr · no lifetime |
WPFactory $49.99/yr · $149 once |
|
|---|---|---|---|---|
| core: how the discount applies | ||||
| One toggle for the whole store | ✕ | ✓ | ✓ | ✓ |
| Percentage or fixed amount | ✕ | ✓ | ✓ | ✓ |
| Struck-through price on product page | manual only | ✓ | ✓ | ✓ |
| Multiple campaigns in parallel | ✕ | ✓ | ✓ | ✓ |
| scope & targeting | ||||
| By category, tag, attribute | ✕ | ✓ | ✓ | ✓ |
| By brand taxonomy | ✕ | not specified | not specified | ✓ |
| By user role | ✕ | ✓ | ✓ | ✓ |
| By country / region | ✕ | not specified | not specified | ✓ |
| By specific customer ID | ✕ | ✕ | ✕ | ✓ |
| scheduling & control | ||||
| Start & end date per group | per-product only | ✓ | ✓ | ✓ |
| Stack vs skip on-sale items | ✕ | ✓ | ✓ | ✓ |
| Per-variation discount rules | ✕ | ✓ | not specified | ✓ |
| Configurable price rounding | ✕ | not specified | not specified | ✓ |
| storefront integration | ||||
| Uses native WooCommerce sale field | - | not specified | not specified | ✓ |
| Shop archive sort-by-sale works | ✓ | not specified | not specified | ✓ |
| Customer emails show sale price | ✕ | ✓ | ✓ | ✓ |
| pricing & ownership | ||||
| Free version on .org | - | ✓ | ✕ | ✕ |
| Lifetime tier | - | ✕ | ✕ | ✓ $149 unlimited sites |
| Top tier site cap | - | 25 sites · yearly | 50 sites · yearly | ✓ unlimited sites |
| 10-year cost (top tier) | $0 | $2,950 | $2,290 | $149 |
| 50+ plugins (All Access) | - | ✕ | ✕ | ✓ $499 |
|
Ready to put your shop on sale in one click? ↓
Jump to pricing
|
||||
A clothing brand runs a single Black Friday sale across the entire catalog. Last year it took two staff a full Sunday to bulk-edit prices in Excel. This year, one discount group, two date pickers, one save button. Every product on the shop archive picks up a SALE badge, the customer emails reflect the new prices, and the shop archive's "sort by sale" actually works.
Setup time dropped from ~6 hours to ~3 minutes. Revenue over the five-day window was the highest on record.
A parts wholesaler sells to both retail customers and approved B2B accounts. Retail sees list price. The moment a wholesale-role user logs in, every product page, archive, and cart line shows the 15%-lower price - with the strike-through still rendering on the original. No coupon to type, no separate B2B catalog to maintain.
B2B account creation rose 28% in the first quarter after the role-based price went visible on the product page instead of at checkout.
A shop that carries 30 brands clears one brand at a time. A fixed-amount discount group is scoped to brand:acme, runs until the end of the quarter, and excludes one Acme SKU that just landed and isn't part of the clearance. When the date hits, every Acme product reverts to its regular price overnight - other brands stay untouched.
Sold through 92% of the Acme stock by the end-date - up from 60% the previous quarter when the same sale ran via coupon code.
"The best discounting plugin I've found so far. We used it to discount 30% on all products (we have 5,000 SKUs) on Black Friday, 15% on three brands, and 15% on a specific user role. Worked stellar with all of it, never any performance issues. Extremely satisfied."
"Nice Plugin! Asked for a rounding option so percentage discounts land cleanly on .99. The team added a rounding control in a later release - exactly what I needed."
"Set up our Black Friday sitewide sale in under three minutes - schedule, scope, save. Reverted automatically when the end date hit. No team Sunday lost to spreadsheet edits this year."
Every WPFactory plugin ships with the same eight guarantees. Here's what running this one looks like in practice.
Sets WooCommerce's native sale_price field instead of fighting it - which is why every theme already styles the strikethrough and badge correctly. No extra database tables, no shadow price store. Lightweight price filters that cache per request.
Every discount group is a real WooCommerce taxonomy with filters and actions exposed. Hook into alg_wc_global_discount_amount to programmatically adjust an amount, or alg_wc_global_discount_scope to add a custom scope axis.
See Kenneth's review: he asked for a rounding control, the team added it. Real feature requests become releases in weeks, not roadmaps. Reach support via the contact form.
14-day refund on yearly and lifetime, 30 days on All Access, no questions asked. If a scope axis doesn't match how you actually segment customers, support helps; if it still doesn't fit, you walk away whole.
All Access is $499 once for all 50+ plugins, lifetime, unlimited sites, and it includes every plugin we release later. Three lifetime licenses at $199 already cost $597, so the bundle usually wins by your third plugin.
Tested against the latest WooCommerce within days of every release. HPOS-ready, PHP 8.3 compatible. Tracks the WC catalog roadmap so price hooks don't drift.
Compatible with WooCommerce Subscriptions, Analytics, WPML/Polylang, PDF Invoices, and the popular brand-taxonomy plugins. Filters exposed for every discount step so custom integrations slot in cleanly.
You don't need to know what a hook is. Add group, pick percent, save. The plugin does the rest, including reverting the price when the schedule ends.
This is what you see inside WordPress once the plugin is activated.
14-day refund on yearly and lifetime, 30 days on All Access. Lifetime pays for itself by year 3. All Access pays for itself with any 2nd plugin you'd ever use. Yearly auto-renew can be turned off in your account.
Buy once. Owns itself by year 3. Use on every site you own.
This plugin + 49 others, lifetime updates, unlimited sites - for $300 more than Lifetime alone.
If yours isn't here, our support replies fast. Contact us.
Popular guides
Set a percentage or a flat amount. Scope by category, tag, brand, user role, or country. Schedule it for Black Friday and walk away. Run multiple campaigns in parallel. 500+ stores already running it. 14-day refund if it's not for you.
500+ stores · 4.8★ across 15 reviews · 14-day refund