WordPress.org

Plugin Directory

Scheduled Sales & Automatic Discounts for WooCommerce – Smart Cycle Discounts

Scheduled Sales & Automatic Discounts for WooCommerce – Smart Cycle Discounts

Description

Video Tutorial

Create a discount campaign in minutes and let it run on autopilot. Smart Cycle Discounts automatically applies your sale prices on schedule, detects conflicts before they cost you money, and tells you which promotions are actually working.

No more editing products one by one. No more forgetting to end a sale. No more wondering which discount is overriding which.

Pick your discount type (percentage off, BOGO, tiered pricing, and more), choose your products, set your schedule, and the plugin handles the rest — from activation to expiration, automatically.

A built-in setup wizard scans your store on first install, detects conflicting plugins, and walks you through creating your first campaign. Most merchants are up and running in under 3 minutes.

Key Features

  • Set it and forget it — campaigns activate and expire on schedule, no manual work
  • Percentage off, fixed amount, BOGO — all free, no upgrade required
  • Tiered pricing, spend thresholds, bundles — available in Pro
  • Recurring promotions — set up a “Weekend Sale” once, it repeats automatically
  • Smart conflict detection — the plugin warns you before overlapping discounts cause problems
  • Campaign Intelligence — tells you which promotions are working and what to do next
  • 5-step wizard — create a campaign in minutes with guided setup and live preview
  • Setup wizard — scans your store on first install, detects conflicts, gets you started fast
  • Priority system — control exactly which discount wins when campaigns overlap
  • Works with any theme — uses WooCommerce’s native sale price system

Perfect For

  • Stores running seasonal sales (Black Friday, holiday, summer) that need to start and stop on time
  • Stores with multiple promotions that need to avoid conflicts and overlapping discounts
  • Stores that want to automate recurring deals (weekly specials, daily flash sales)
  • B2B and wholesale stores using role-based or tiered quantity pricing
  • Anyone tired of manually editing product prices every time a sale starts or ends

WooCommerce Discount Types and Dynamic Pricing Features

Free version includes:

  • Percentage discounts
  • Fixed amount discounts
  • BOGO (Buy One Get One) deals
  • Free shipping toggle inside campaign setup
  • User role targeting (include/exclude roles)
  • Location targeting by billing or shipping country
  • Recurring campaign scheduling (continuous or instances)

Pro version adds:

  • Tiered quantity discounts (volume pricing)
  • Spend threshold discounts (cart-based conditions)
  • Bundle deals (percentage, fixed, flat bundle pricing)
  • Advanced discount-rule controls for deeper eligibility and margin protection
  • Advanced subscription discount controls (when WooCommerce Subscriptions is active)
  • Full analytics dashboard and advanced exports

Advanced WooCommerce Promotion Engine

Smart Cycle Discounts is built as a campaign system, not a one-off rule editor.

  • Campaign lifecycle management (draft scheduled active expired)
  • Smart product targeting (all products, specific products, random products, categories, advanced filters)
  • Timezone-aware scheduling automation
  • Priority resolution when campaigns overlap
  • Optimized caching and operations for larger WooCommerce catalogs

WooCommerce Promotion Conflict Detection

Before launch, Campaign Health and Campaign Intelligence evaluate operational risks including:

  • Promotion conflicts and overlapping discounts
  • Priority ties across concurrent campaigns
  • Stock exposure and product readiness
  • Schedule and timing consistency
  • Discount integrity and risk indicators

This shifts teams from reactive troubleshooting to proactive promotion control.

WooCommerce Campaign Analytics and Intelligence

Smart Cycle Discounts includes campaign-level operational insight so you can evaluate:

  • Which campaigns are driving meaningful revenue
  • Which discounted products perform best
  • Which promotions should be scaled, paused, or redesigned

The analytics dashboard helps stores optimize promotions instead of guessing which discounts work best.

Advanced analytics depth and exports are available in Pro, while base Campaign Intelligence guidance is included in the free version.

Popular WooCommerce Promotion Use Cases (BOGO, Bulk Discounts, Bundle Discounts, Sale Scheduler)

Smart Cycle Discounts can be used to run:

  • WooCommerce BOGO campaigns
  • WooCommerce bulk discount and tiered pricing campaigns
  • WooCommerce scheduled sales and recurring promotions
  • WooCommerce bundle discount campaigns and product packages
  • WooCommerce flash sales and seasonal campaigns
  • WooCommerce customer-segment discounts (roles and locations)
  • WooCommerce promotion cycles with planned campaign scheduling

Why Store Owners Switch to Smart Cycle Discounts

Most discount plugins let you create rules. Smart Cycle Discounts lets you run promotions.

Common problems with other discount plugins:

  • Discounts calculated on-the-fly slow your store to a crawl
  • “Sale” filter plugins can’t find your discounted products
  • Two discounts overlap and customers get double savings you didn’t intend
  • The free version is empty — every useful feature is locked behind Pro
  • Uninstalling leaves leftover sale tags and data in your database

How Smart Cycle Discounts is different:

  • Uses WooCommerce’s native sale price system — your discounted products appear in “On Sale” filters, work with any theme, and show correct strikethrough pricing everywhere. No on-the-fly calculations that slow down product pages.
  • Built-in conflict detection — Campaign Intelligence catches overlapping discounts, priority ties, and pricing risks before your customers do. You’ll know about problems before they cost you money.
  • Genuinely useful free version — percentage off, fixed amount, BOGO, scheduling, recurring campaigns, role targeting, and location targeting are all included free. No bait-and-switch.
  • Clean uninstall — deactivating or removing the plugin restores your original prices and removes all plugin data. No leftover sale tags or orphaned database entries.
  • Performance-first architecture — active campaigns are cached, product terms are batch-loaded, and admin assets only load on plugin pages. Your store stays fast.

Useful Links

Get Started

  1. Install and activate the plugin
  2. The setup wizard scans your store and checks for conflicts
  3. Create your first campaign with the 5-step wizard
  4. Your discounts go live automatically — no product editing needed

Need Help?

Screenshots

  • Setup wizard – Scans your store, detects conflicting plugins, and guides you to your first campaign
  • Campaign wizard Step 1 – Auto-generated campaign name, description, priority, and contextual help
  • Campaign wizard Step 2 – Product selection with category and tag filtering
  • Campaign wizard Step 3 – Discount configuration with live badge preview and positioning
  • Campaign wizard Step 4 – Schedule with preset durations, date picker, and recurring options
  • Campaign wizard Step 5 – Review with Campaign Intelligence recommendations and summary sidebar
  • Campaign completion – Choose next step: view campaign, preview store, or create another
  • Campaigns list – Table and card grid views with status, health scores, and quick actions
  • Campaign overview panel – Full campaign settings and real-time performance at a glance
  • Main dashboard – Store intelligence, campaign cards sorted by urgency, and planner
  • Analytics dashboard (Pro) – Revenue, conversions, click-through rates, and performance trends

FAQ

How do I schedule WooCommerce sales automatically?

Install Smart Cycle Discounts, create a campaign using the 5-step wizard, and set your start and end dates in the Schedule step. The plugin automatically activates your sale prices at the scheduled time and removes them when the campaign ends. No manual work required – your WooCommerce sale prices update themselves on schedule.

What WooCommerce discount types are supported?

The free version supports percentage discounts, fixed amount discounts, and BOGO deals (Buy One Get One) on any WooCommerce product. The Pro version adds tiered quantity discounts (volume-based dynamic pricing), spend threshold discounts (minimum cart value offers), and bundle discounts (buy a set of products together for a deal). All discount types work with the automated scheduling system.

Is this a WooCommerce dynamic pricing plugin?

Yes. Smart Cycle Discounts supports dynamic pricing through multiple discount types. The free version includes percentage discounts, fixed amount discounts, and BOGO deals. The Pro version adds tiered quantity pricing (buy more, save more), spend threshold discounts, and bundle deals – all the dynamic pricing options you need for a WooCommerce store.

Can I set up BOGO deals in WooCommerce with this plugin?

Yes. BOGO (Buy One Get One) deals are included free. You can create Buy 1 Get 1 Free, Buy 2 Get 1 at 50% off, or any custom buy/get combination with your chosen discount percentage. BOGO campaigns run on the same automated schedule as all other discount types.

How do I create bulk discounts for WooCommerce?

Use the Tiered Quantity Discounts feature (Pro). Set quantity breaks like: Buy 5+ get 10% off, Buy 10+ get 20% off, Buy 25+ get 30% off. The discount applies automatically at checkout based on the quantity in the cart. Perfect for wholesale, B2B, and volume-based WooCommerce pricing.

How do I automate Black Friday and Cyber Monday sales?

Create a campaign with your desired discount, select your products, and schedule it for your Black Friday dates (e.g., November 29 12:00 AM to December 2 11:59 PM). You can set this up weeks in advance using Draft mode. The campaign activates and deactivates automatically – no midnight price editing required.

Can I use this alongside another discount plugin?

We recommend against running two discount plugins simultaneously — they both modify WooCommerce pricing and can conflict, leading to incorrect prices or double discounts. When you install Smart Cycle Discounts, the setup wizard automatically detects 19 known discount plugins and warns you if any are active. It can deactivate conflicting plugins for you directly from the wizard, so you don’t have to hunt through your plugins list.

Is Smart Cycle Discounts compatible with my theme?

Yes. Smart Cycle Discounts is a backend plugin that works with any properly coded WordPress theme. It integrates with WooCommerce’s native sale price system, so your theme’s existing sale price styling applies automatically. No theme modifications needed.

Can I schedule campaigns in advance?

Yes. Use the Schedule step in the wizard to set specific start and end dates/times. Campaigns activate and deactivate automatically based on your schedule. You can create campaigns weeks or months in advance using Draft status, then set them to Scheduled when ready.

How many campaigns can I create?

There are no campaign limits – you can create and run unlimited campaigns in both the free and Pro versions. Run as many simultaneous promotions as your store needs.

What’s the difference between the discount types?

Free Version:
Percentage: Reduce price by a percentage (e.g., 25% off = $100 product becomes $75)
Fixed Amount: Reduce price by fixed amount (e.g., $10 off = $100 product becomes $90)
BOGO: Buy One Get One offers with flexible configurations (e.g., Buy 2 Get 1 Free)

Pro Version:
Tiered: Quantity-based dynamic pricing (e.g., Buy 5 get 10% off, Buy 10 get 20% off)
Spend Threshold: Discount based on cart total (e.g., Spend $100 get 15% off)
Bundle: Product bundle deals (e.g., Buy shampoo + conditioner + mask for 20% off)

Will this slow down my site?

No. Unlike discount plugins that calculate prices on-the-fly for every product on every page load, Smart Cycle Discounts writes to WooCommerce’s native sale price fields. This means your product pages load at normal speed — the discount is already stored, not recalculated each time.

The plugin also caches active campaign data, batch-loads product terms in a single query, and only loads admin scripts on plugin pages. On a shop page with 20+ products, most competing plugins add dozens of database queries. Smart Cycle Discounts adds near zero because the prices are already computed when the campaign activates.

Do discounted products show up in “On Sale” filters?

Yes. Smart Cycle Discounts writes discounts to WooCommerce’s native _sale_price field, so your discounted products automatically appear in “On Sale” filters from YITH, FacetWP, JetSmartFilters, and any other filtering plugin that reads WooCommerce sale data. This is a significant difference from discount plugins that apply prices “on the fly” — those plugins often leave sale filter results empty because the sale price only exists at display time, not in the database.

Can I run multiple discount campaigns at the same time?

Yes. You can run unlimited campaigns simultaneously. Use the Priority field (1-5, where 5 is highest priority) to control which campaign takes precedence when multiple campaigns affect the same product. This prevents discount stacking and gives you full control.

What’s the difference between “All Products”, “Specific Products”, and “Random Products”?

  • All Products – Applies discount to your entire product catalog. Best for store-wide sales.
  • Specific Products – You manually select which products to discount using the AJAX-powered product search. Best for targeted promotions.
  • Random Products – Plugin automatically selects X random products from your catalog each day. Best for “deal of the day” promotions that drive repeat visits.

Does it work with WooCommerce HPOS (High-Performance Order Storage)?

Yes. Smart Cycle Discounts is fully compatible with WooCommerce HPOS and has been tested with custom order tables. It works with both the legacy post-based storage and the new High-Performance Order Storage system.

Does it work with WooCommerce Subscriptions?

Yes. Subscription products are fully supported. On the free tier, discount campaigns apply to the recurring subscription price automatically – no special setup needed. Your subscription product pages show strikethrough pricing just like regular products (e.g., ~~$29/month~~ $23.20/month). The Pro version adds advanced subscription controls: choose whether to discount the recurring price, the sign-up fee, or both. You can also limit discounts to the first X renewal payments – for example, “20% off for the first 3 months, then full price.” If WooCommerce Subscriptions is not installed, the subscription settings simply don’t appear in the wizard.

Does it work with WooCommerce block-based cart and checkout?

Yes. Smart Cycle Discounts fully supports WooCommerce block cart and checkout pages (WooCommerce 8.3+). Discounted prices display correctly with strikethrough formatting in both classic templates and the new block-based cart/checkout. The plugin automatically detects which template you’re using and applies the appropriate discount display logic. No configuration needed – it just works.

Can I duplicate an existing campaign?

Yes. On the Campaigns list page, hover over any campaign and click the “Duplicate” action. This creates a copy of the campaign with all settings intact, which you can then modify as needed. Great for creating seasonal promotions based on previous campaigns.

How does the priority system work?

When multiple campaigns affect the same product, the campaign with the highest priority (5 = highest, 1 = lowest) takes precedence. This lets you run multiple campaigns without conflicts – for example, a high-priority flash sale can override a lower-priority seasonal discount.

Can I export campaign data?

Campaign analytics and export features are available in the Pro version. Pro users can export campaign performance data in CSV or JSON format, and schedule automated reports.

What happens when a campaign ends?

When a campaign reaches its end date/time, it automatically deactivates and removes the sale prices from affected products. The campaign remains in your list as “Expired” and can be duplicated or reactivated with new dates. Your original product prices are restored automatically.

Is there a way to test campaigns before activating them?

Yes. Use the Draft status to create and configure campaigns without activating them. You can review the campaign settings, check the health score, and preview which products will be affected. When ready, change the status to Active or Scheduled.

Does it work with WooCommerce variable products?

Yes. Smart Cycle Discounts fully supports WooCommerce variable products. When you apply a discount to a variable product, all variations receive the discount automatically. The sale price displays correctly on both the main product page and individual variation selections.

Can I exclude products that are already on sale?

Yes. The plugin respects existing sale prices. If a product already has a manual sale price set in WooCommerce, you can configure your campaign to skip those products or override them based on your preference.

Can I offer free shipping with discount campaigns?

Yes. Enable free shipping for any campaign with a single toggle in the Discounts step. When enabled, customers receive free shipping on qualifying orders. You can apply free shipping to all shipping methods or select specific methods like flat rate or local pickup. This is included in the free version.

Can I create wholesale or member-only discounts?

Yes. Use the User Role Targeting feature to restrict discounts to specific WordPress user roles. Choose “Include” mode to give discounts only to selected roles (e.g., “Wholesale Customer” or “Premium Member”), or “Exclude” mode to give discounts to everyone except certain roles. This makes it easy to create B2B pricing, membership discounts, or role-based promotions – all from the same WooCommerce store.

Does it work alongside WooCommerce coupons?

Yes. Campaign discounts and WooCommerce coupons work independently. Campaign discounts apply to product prices (shown as sale prices), while coupons apply at checkout. Customers can use both together unless you configure specific restrictions.

What happens if two campaigns affect the same product?

The campaign with the higher priority wins — no double discounts, no surprises. Each campaign has a priority setting from 1 (lowest) to 5 (highest). When multiple active campaigns include the same product, only the highest-priority discount applies. Campaign Intelligence also warns you before launch if a new campaign overlaps with an existing one, so you can adjust priorities or schedules before any customer sees an unintended price.

How is this different from WooCommerce’s built-in sale price feature?

WooCommerce’s built-in sale prices are set per product – you need to edit each product individually. Smart Cycle Discounts lets you manage discounts at the campaign level: select hundreds of products at once, set a schedule, and the plugin handles everything automatically. You also get features like priority management, health monitoring, random product rotation, and campaign intelligence that WooCommerce doesn’t offer natively.

Can I create recurring weekly or monthly promotions?

Yes. Recurring campaigns are available in the free version with two modes. Continuous mode toggles your campaign active/inactive based on time windows – perfect for daily happy hours or weekend specials without creating hundreds of database entries. Instances mode creates separate campaign copies for each occurrence with individual analytics. Set up a “Weekend Flash Sale” once and schedule it to repeat every weekend, or create monthly promotions that run automatically.

Is there a limit on how many products I can discount?

No. You can apply discounts to your entire product catalog or select specific products. The plugin is optimized with efficient database queries and caching to handle stores with thousands of products without performance issues.

Can I set minimum order requirements for discounts?

Yes (Pro). Application rules let you fine-tune when discounts apply. Set minimum quantity requirements (e.g., “discount only applies when buying 3+ items”), minimum order value thresholds, and choose whether to exclude products already on sale. These rules give you precise control over discount eligibility.

What happens if I uninstall the plugin?

Your store goes back to normal. Deactivating the plugin automatically restores your original product prices — no leftover sale tags, no phantom discounts. If you fully delete the plugin, all campaign data, settings, and database tables are removed cleanly. You can also choose to keep your data (in Settings) if you plan to reinstall later.

How do I control discount stacking with coupons?

Pro users can configure combination policies for each campaign. Choose whether your campaign discount can be combined with WooCommerce coupon codes or if it should be mutually exclusive. This prevents over-discounting and protects your margins when running multiple promotions.

Reviews

февруари 4, 2026
Super impressed — the discount features look clean and well-organized on my site. Our sales during holidays were amazing thanks to this plugin
јануари 27, 2026
This plugin makes discount management super easy. I can schedule sales once and everything runs automatically.No more manual price changes or missed promotions. The campaign system is clean, simple, and very effective.Highly recommended for any WooCommerce store owner.
јануари 27, 2026
Just started using this plugin and the setup was straightforward. Discount scheduling works as expected and the interface is easy to understand. So far it’s doing what I need.
јануари 26, 2026
Nice and simple plugin. I installed it to manage discount cycles and it worked straight away without any confusion. Setting start and end dates for offers saves a lot of manual work. No unnecessary settings, just does what it’s supposed to do. Been using it for a while now and it’s running smoothly with WooCommerce.
Read all 10 reviews

Contributors & Developers

“Scheduled Sales & Automatic Discounts for WooCommerce – Smart Cycle Discounts” is open source software. The following people have contributed to this plugin.

Contributors

“Scheduled Sales & Automatic Discounts for WooCommerce – Smart Cycle Discounts” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Scheduled Sales & Automatic Discounts for WooCommerce – Smart Cycle Discounts” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.8.30

  • Fix: Service container initialization failure on frontend — page classes now load unconditionally since the container registers them before is_admin() is reliable.
  • Improvement: New FAQs covering sale filter compatibility, clean uninstall, and plugin conflict detection.
  • Improvement: WooCommerce compatibility headers added to readme.txt.

1.8.29

  • Feature: Setup wizard — 3-step onboarding (Store Scan, Recommendations, Ready) guides new merchants from activation to first campaign so they understand their store environment before creating discounts.
  • Feature: Setup wizard detects 19 conflicting discount plugins and lets merchants deactivate them directly from the wizard, preventing pricing conflicts before they start.
  • Feature: Setup wizard detects native WooCommerce sale prices and offers one-click batch removal so campaign discounts don’t clash with manual sale prices.
  • Feature: Campaign wizard now auto-generates a seasonal name (e.g. “Spring Sale”) so merchants can start building a campaign without thinking of a name first.
  • Feature: Completion modal now shows View Campaign, Preview Store, and Create Another buttons after creating a campaign, so merchants can choose their next step instead of being auto-redirected.
  • Feature: First campaign creation gets a celebratory moment (“Your First Campaign is Live!”) to reinforce the milestone.
  • Feature: Schedule step shows a reassurance hint (“These defaults work for most campaigns”) so new merchants aren’t blocked by unfamiliar options.
  • Performance: Dashboard page loads ~85% fewer database queries by caching campaign conditions, batching suggestion lookups, using grouped status counts, and eliminating duplicate fetches.
  • Performance: Shop pages load faster — product taxonomy terms are pre-warmed in a single batch query instead of 2 queries per product.
  • Performance: Migration schema checks now run once per day instead of on every page load, saving 3-4 queries per request.
  • Performance: WooCommerce Blocks cart no longer calculates discounts twice per product during REST API updates.

1.8.28

  • Fix: Campaign name uniqueness check now correctly excludes the current campaign in edit mode, preventing false “already exists” errors.
  • Fix: Store opportunity category prefill used invalid product_selection_type and non-numeric priority — campaigns from category opportunities now save correctly.
  • Fix: BOGO “Apply To” dropdown offered “Different Products” which failed server validation — replaced with server-valid “Cheapest Item” option.
  • Fix: Percentage discount JS validation now matches PHP minimum (1%) — values like 0.5% no longer pass client-side but fail server-side.
  • Fix: Schedule recurrence validator used non-existent recurrence_unit field — weekly/monthly recurrence interval warnings now fire correctly.
  • Fix: AJAX handler test_provider_connection was registered but unreachable due to missing security configuration — now properly secured.
  • Security: Added missing capability check for save_view_preference AJAX action.
  • Performance: Stopped loading 3 unused JS modules on wizard pages (~46KB saved): discounts-conditions.js, discounts-integration.js, complex-field-handler.js.
  • Cleanup: Removed dead code across all wizard steps — unused methods, empty overrides, stale event handlers, ghost security map entries.

1.8.27

  • Feature: Card grid view for the campaigns page — toggle between list table and visual card grid with one click.
  • Feature: View preference persists per user across sessions (stored in user meta).
  • Feature: Cards show status accent bar, campaign name, priority, discount type, scope chips, schedule, and stats footer.
  • Feature: Smart CTA button adapts per campaign status (Edit, Complete Setup, Resume).
  • Feature: Kebab menu with context-appropriate actions (View Details, Duplicate, Pause, Trash).
  • Feature: Tags shown in campaign overview panel targeting section and scope_text summary.
  • Fix: TomSelect dropdown arrow artifact from CSS skeleton loader and native select.
  • Fix: TomSelect preload/openOnFocus race condition resolved with shouldLoad guards.
  • Fix: Tag TomSelect no longer freezes after category change.
  • Fix: False error notifications on concurrent AJAX requests (NS_BINDING_ABORTED handling).
  • Fix: Product dropdown no longer re-fetches on every open (loadedSearches caching).
  • Optimization: TomSelect preload disabled in favor of manual onDropdownOpen loading.
  • Cleanup: Removed dead code from products step (orphaned comments, empty loops, unused methods).

1.8.26

  • Fix: Tag filter now applied to product pool queries — selecting tags actually filters the product dropdown.
  • Fix: Tags filtered by selected categories — only shows tags with products in the chosen categories, preventing empty pool combinations.
  • Fix: Conditions validator crash — PHP array() syntax in JavaScript caused ReferenceError on not_between/not_in contradiction checks.
  • Fix: Product reload on tag change properly clears stale items and handles empty responses.
  • Performance: Tag-category query optimized — replaced N+1 get_objects_in_term loop with single wp_get_object_terms bulk query.
  • Cleanup: Removed dead code (empty loops, unused loadSelection method, orphaned JSDoc comments, empty else blocks).

For the complete changelog of earlier versions, visit the full changelog.