Plugin Guides

How to Use Cycle AI to Build a WooCommerce Discount Campaign (A First Look)

Plugin Guide โ€” Smart Cycle Discounts

How to Use Cycle AI to Build a WooCommerce Discount Campaign (A First Look)

Describe what you want in plain English. Cycle AI drafts a complete campaign โ€” discount type, product scope, schedule, and all. Here’s what it actually does, where it performs well, and where you still need to review the output before launching.

Setting up a WooCommerce discount campaign involves more decisions than it first appears. You pick a discount type, set a value, choose which products or categories it covers, decide on a start date and duration, and then check whether it conflicts with anything already running. For a single campaign, that’s manageable. For a store running several promotions across a year, the overhead compounds quickly.

Cycle AI is a campaign assistant built directly into Smart Cycle Discounts. Instead of filling in fields manually, you describe what you want in plain English โ€” “a weekend flash sale on accessories” or “something to move my slow-selling winter coats before April” โ€” and it drafts a complete campaign configuration. That draft loads directly into the campaign wizard, where you can review, adjust, and launch it. If you’re new to Smart Cycle Discounts, the overview of what Smart Cycle Discounts is and how it works is worth reading first, since Cycle AI operates inside that campaign model.

This post is a first-look walkthrough. It covers exactly what Cycle AI does under the hood (sourced from the plugin code), walks through a real example from prompt to campaign, and is explicit about where the output is solid and where you should pause to verify.

What Cycle AI actually does

The short version: Cycle AI reads your store context, reads your prompt, and returns a complete campaign configuration in a structured format that the wizard can load directly.

More specifically, before it sends anything to an AI model, it assembles a snapshot of your store that includes:

  • Your store name, currency, current date and time, timezone, and base country
  • Upcoming seasonal events relevant to your location and date
  • Your product catalog โ€” categories (with IDs and product counts), tags, and individual products
  • Store intelligence data โ€” bestsellers, slow movers, new arrivals, current stock summary, and discount load (how much discounting is already active)
  • Available user roles (for role-based targeting if you ask for it)
  • Planner hints about existing campaigns and scheduling

All of that context goes into the prompt alongside your request. The AI model uses it to make decisions grounded in your actual catalog โ€” not invented examples.

The output is a structured JSON object that maps to the wizard’s five steps: basic info (name, description, priority), products (selection type, category/tag/product IDs, smart criteria), discounts (type, value, BOGO config, tiers, thresholds), schedule (start/end dates, recurrence, timezone, rotation), and launch option. That JSON is validated and then loaded into the wizard so you can review everything before saving.

It reads your store, not a generic template

When you type “discount my slow movers,” Cycle AI doesn’t return a generic 10%-off-everything campaign. It reads the slow_movers list from your store data and targets those specific products. If your bestsellers list is populated, it can target those instead if you ask. The quality of the output depends partly on how much sales history your store has generated.

How to use it: step by step

  1. Open Cycle AI from the plugin dashboard

    In your WordPress admin, navigate to Smart Cycle Discounts. You’ll find the Cycle AI panel accessible from the dashboard. It opens a chat-style interface where you type your campaign request.

  2. Type your campaign request in plain English

    Be as specific or as vague as you like. A detailed request (“20% off all jackets from April 25โ€“30, scheduled to start at midnight”) gives the AI more to work with. A vague one (“run a sale this weekend”) also works โ€” the AI will use your store data to make reasonable decisions about scope and discount depth.

  3. Read the reasoning before looking at the campaign

    Cycle AI always writes a brief explanation of its campaign strategy before outputting the configuration. Read it. This tells you which products it targeted, why it chose that discount type, and how it arrived at the duration. If the reasoning doesn’t match what you had in mind, that’s your signal to refine the request before reviewing the full setup.

  4. Review the loaded wizard configuration

    The campaign draft loads into the wizard. Check each step: the product scope, the discount value and type, the schedule dates, and the launch option. Change anything that doesn’t look right. The wizard is the same one you’d use to build a campaign manually, so every field is editable.

  5. Launch or save as draft

    Once you’ve reviewed and adjusted, save the campaign. If you’re not ready to launch immediately, the AI can set it as a draft โ€” just mention it in your request (“save as draft so I can review first”). Otherwise, it defaults to active, and the campaign goes live according to the schedule.

A real example: prompt to campaign

Here’s a concrete walkthrough using a fictional but realistic prompt. Assume your store is a clothing shop. Your catalog includes categories like Jackets, Tops, Accessories, and Footwear. Your slow movers list includes several items from the Jackets category.

The prompt

I want to clear out slow-selling jackets before the end of April. Run something for about a week, starting this Friday.

What Cycle AI sees

Before writing any campaign, it reads your store context. It knows today’s date (April 17), that Friday is April 19, and that your slow movers include products from the Jackets category. It also checks your active campaigns to avoid overlapping on the same product scope.

What it writes back (reasoning)

Your slow movers include several products from the Jackets category. A percentage discount is the right approach for clearance โ€” it works across all price points without needing per-product configuration. I've set it to run from April 19 to April 26 (7 days), targeting the Jackets category. The discount is 20% โ€” enough to move price-sensitive inventory without going below reasonable margin on a mid-range catalog.

What the wizard loads

The campaign draft populates all five wizard steps:

Example campaign configuration loaded into wizard

Name: Spring Jacket Clearance

Product scope: All products in the Jackets category

Discount type: Percentage โ€” 20% per item

Schedule: April 19 00:00 โ†’ April 26 23:59 (store timezone)

Launch option: Active on save

Priority: 10 (default)

At this point, the campaign is a draft in the wizard. Nothing is live yet. You can change the discount value, the end date, the product scope โ€” anything โ€” before saving.

What you should verify before saving

The 20% figure came from the AI’s judgment, not from your margin data. Before you launch, verify that 20% off your jacket prices still leaves an acceptable margin. The AI picked a round number that fits common clearance practice โ€” it has no visibility into your cost of goods.

Also check the product scope. If “Jackets category” includes some items you don’t want discounted (a newly launched item, a product already on clearance at a deeper discount), remove those from scope or adjust the campaign priority.

What Cycle AI decides on your behalf

Understanding what the AI controls helps you know where to focus your review. Here’s what it makes decisions about:

Campaign name and description

The AI generates a human-readable name and a short merchant-facing description. These are cosmetic โ€” change them freely if the wording doesn’t fit your store’s voice.

Product selection type and scope

The AI chooses between four targeting modes. “All products” applies the discount storewide or within categories/tags. “Specific products” targets individual product IDs from your catalog. “Smart selection” uses a built-in criterion โ€” best sellers, featured, low stock, or new arrivals โ€” to pick products automatically. “Random products” picks N products at random from your catalog.

If your request is vague, the AI defaults to storewide (all products) rather than guessing specific products. If you name a category, it targets that category. If you name a criterion (“my bestsellers”), it uses smart selection with the matching criterion.

Discount type

Six discount types are available: percentage, fixed amount, BOGO (buy X get Y), tiered volume pricing, spend threshold, and bundle. The AI picks the type that best fits the request. Clearance requests tend to get percentage discounts. Volume-increase requests tend to get tiered pricing. Cross-sell or trial requests get BOGO.

On the free plan, tiered pricing, spend thresholds, and bundle discounts are Pro-only. If your request maps to one of those types and you’re on the free plan, Cycle AI will explain this in its reasoning and build a percentage-discount equivalent instead. It will not silently output a campaign type you can’t save.

Discount value

The AI prefers round numbers โ€” 5%, 10%, 15%, 20%, 25%, 30% โ€” unless you specify an exact value. The range for percentage discounts is 5โ€“60. For fixed amounts, 1โ€“500 (but it will not exceed the product price). You should always verify the value against your actual margins.

Duration and schedule

The AI sets a start date, end date, start time, and end time. It respects your store’s timezone. If you name a specific date (“starting this Friday”), it sets that date. If you specify a time of day (“6pm to midnight”), it converts and sets the HH:MM values. If you don’t specify timing details, it defaults to whole-day (00:00โ€“23:59).

Recurring campaigns are also supported โ€” daily, weekly (with specific days), or monthly patterns. The AI only enables recurrence when you explicitly ask for it (“every Monday,” “weekly clearance,” “repeat this monthly”). It doesn’t enable recurring mode just because you mention a duration.

Targeting: user roles and geography

The AI can restrict campaigns to specific user roles (wholesale customers only, exclude subscribers) or specific countries (only in Germany, exclude US shoppers). Both default to “all” โ€” the AI only sets role or location targeting when you explicitly ask for it. Country codes come from ISO-3166-1 alpha-2 standards, and role slugs come from your store’s actual registered roles.

Free shipping toggle

Cycle AI can add free shipping alongside the discount. It only activates this when you explicitly ask for it (“include free shipping,” “add free delivery”). By default, free shipping is off.

Product rotation

For campaigns using random product selection, you can ask for the product set to rotate on a schedule โ€” “swap the items every 12 hours,” “shuffle the selection daily.” The AI enables rotation only when requested, and sets the rotation interval in hours (1โ€“168).

Where you still need to check the output

Cycle AI makes reasonable decisions, but it doesn’t have access to information that isn’t in your WooCommerce data. There are four areas where human review matters.

Margin math

The AI doesn’t know your cost of goods. A 20% discount might be completely sustainable on a product with 60% gross margin and completely unsustainable on a product with 15% gross margin. Always verify the discount value against your actual margins before launching. The discount break-even calculator on the Webstepper site can help with the arithmetic.

Product scope accuracy

When the AI targets a category, it targets all products in that category. If the category contains products you don’t want discounted โ€” newly launched items, products already on promotion, high-margin products you’re protecting โ€” check the scope and exclude them manually. The wizard’s product step lets you switch to “specific products” mode and hand-pick if needed.

Campaign conflicts

The AI is aware of your active campaigns (passed to it as store intelligence) and will try to avoid obvious overlaps. But it can’t fully predict how its campaign will interact with all discount stacking rules, coupon policies, and priority assignments you’ve configured. After the campaign loads in the wizard, the Campaign Health check will flag conflicts before you save. Watch for priority tie warnings and scope overlap warnings.

Always run Campaign Health before saving

The wizard’s review step runs Campaign Health automatically. This checks schedule integrity, conflict detection, discount integrity, scope validity, and priority clarity. If Cycle AI’s draft triggers any warnings, review them before launching. Some warnings are safe to override; others indicate a real problem (a campaign that would fire during a period already covered by a conflicting campaign at the same priority level, for example).

Scheduling precision for time-sensitive promotions

If you’re planning a flash sale that needs to start at exactly 6pm on a specific date, verify the start_time field in the schedule step of the wizard. The AI sets times based on what you describe in your prompt, but double-check the 24-hour format and the timezone assignment. WooCommerce’s built-in scheduler has known timing reliability issues โ€” Smart Cycle Discounts bypasses those by running its own campaign activation check independently, but it’s still worth confirming the schedule before a high-stakes launch. The post on why WooCommerce scheduled sales only work with traffic explains the underlying WP-Cron limitation and how to work around it for time-sensitive promotions.

Refining the output without starting over

If the first draft isn’t quite right, you don’t need to start from scratch. Cycle AI supports refinement: after the initial campaign loads, you can type a follow-up instruction to adjust it.

Refinement works by injecting the current campaign state back into the conversation. The model sees exactly what’s configured โ€” the product scope, discount type, schedule, all fields โ€” alongside your new instruction. It returns an updated campaign configuration, and the wizard loads the revised version.

Some examples of effective refinement requests:

  • “Change the discount to 15% instead of 20%”
  • “Extend it by another 3 days”
  • “Make it recurring โ€” every Friday for the next 6 weeks”
  • “Add free shipping to this campaign”
  • “Limit it to wholesale customers only”
  • “Change the product scope to include Footwear as well”

One thing to keep in mind: refinement works best for targeted adjustments. If you want to fundamentally change the campaign concept โ€” different product type, different discount mechanism โ€” it’s often cleaner to start a new request rather than layer several refinements on top of each other.

Honest limitations

Cycle AI is useful for reducing setup time and generating sensible first drafts. It’s not a substitute for knowing your store’s economics. Here’s what it genuinely cannot do:

  • It has no access to your cost of goods or margin data. Every discount value it suggests is based on what makes sense for the catalog price range and the promotion type โ€” not your actual profitability. Verify the numbers.
  • It cannot edit, pause, or delete existing campaigns. It creates new campaigns only. If you want to modify a campaign that’s already saved, you do that through the normal campaign editor.
  • Several settings cannot be configured through Cycle AI and must be set in the wizard manually after generation. These include: advanced product filters (conditional rules like price range, stock status, product attributes), usage limits (per-customer caps, total usage limits), order conditions (minimum order amount, minimum quantity, maximum discount cap), combination policies (stacking rules, coupon blocking, sale item exclusions), and subscription-specific controls. If you ask for any of these, Cycle AI will tell you in its response that the setting needs to be configured in the wizard after the campaign is generated.
  • It can only target product categories and tags that exist in your catalog. If a category or tag doesn’t exist, it can’t target it. Make sure your catalog is organized before asking Cycle AI to target by category or tag.
  • The “smart selection” criteria are fixed: best sellers, featured, low stock, new arrivals. There are no custom criteria beyond those four.
Free vs Pro

Cycle AI is available on both the free and Pro plans of Smart Cycle Discounts. The difference is in which campaign types it can actually output. On the free plan, tiered pricing, spend thresholds, and bundle campaigns are Pro-only โ€” Cycle AI will acknowledge this in its reasoning and build a free-tier alternative instead of silently outputting something you can’t save. On Pro, all six discount types are available, plus the additional wizard settings (usage limits, order conditions, combination policies, subscription controls) that Cycle AI cannot emit but that you can configure manually after generation.

Frequently asked questions

Does Cycle AI actually connect to my store data, or does it just make things up?

It connects to your store data. Before building the campaign prompt, Cycle AI reads your categories (with product counts), tags, individual products, bestseller rankings, slow movers, new arrivals, stock summary, and active campaigns. All of that is sent as structured context to the AI model alongside your request. Category and product IDs it outputs are validated against your actual catalog โ€” if it outputs an ID that doesn’t exist, the validator catches it before the wizard loads.

What happens if I type something that isn’t a campaign request โ€” like “hi” or “what can you do?”

Cycle AI routes short greetings and meta-questions to a lightweight conversational mode. If you type “hi,” it responds warmly and asks what kind of campaign you’d like to create. If you ask “what can you do?”, it explains the available discount types and capabilities. Neither response outputs a campaign JSON โ€” it only does that when you clearly describe a campaign you want to create.

Can I ask Cycle AI to set up a recurring campaign โ€” like every Friday?

Yes. If your request includes clear recurrence language (“every Friday,” “weekly clearance,” “repeat monthly,” “every weekend”), Cycle AI will configure the recurrence settings โ€” pattern (daily/weekly/monthly), specific days for weekly patterns, and end type (open-ended, after N occurrences, or ending on a specific date). If you don’t explicitly ask for recurrence, it won’t enable it โ€” a campaign with a 7-day duration isn’t automatically recurring just because it’s 7 days long.

Can I ask for a campaign in a different timezone than my store’s default?

Yes โ€” name the timezone explicitly in your request (“schedule it in Europe/Berlin time,” “use Tokyo time for this campaign”). Cycle AI accepts IANA timezone strings and will set the campaign timezone accordingly. If you don’t specify one, the campaign uses your store’s configured timezone. It will not emit a timezone field if you’re staying in your store’s default timezone.

If the campaign draft looks wrong, can I send a follow-up message to fix it?

Yes โ€” that’s what the refinement feature is for. Type a follow-up instruction describing what you want to change (“lower the discount to 15%,” “extend it by 5 days,” “add free shipping,” “limit to wholesale customers only”). Cycle AI reads the current campaign state, applies your instruction, and returns an updated draft. The wizard loads the revised version and you can review it again before saving.

Does Cycle AI check for conflicts with existing campaigns?

It’s aware of your active campaigns and uses that information to avoid obvious scope overlaps and redundant promotions. However, its conflict awareness is advisory โ€” it makes choices based on what it knows, but it’s not a substitute for the Campaign Health check in the wizard review step. Run Campaign Health before saving any AI-generated campaign, especially in stores with multiple active campaigns running simultaneously.

What discount types can I ask for on the free plan?

On the free plan, Cycle AI can build campaigns using percentage discounts, fixed-amount discounts, and BOGO (buy X get Y). Tiered volume pricing, spend thresholds, and bundle discounts require a Pro license. If you ask for one of the Pro types on a free plan, Cycle AI will explain this, name the specific type as Pro-only, and offer to build a percentage-discount version as an alternative.

What to take away from this
  • Cycle AI drafts complete WooCommerce campaigns from plain-English descriptions โ€” product scope, discount type, value, schedule, and all configuration fields included.
  • It reads your actual store data (catalog, bestsellers, slow movers, active campaigns) before building anything โ€” the output is grounded in your store, not a generic template.
  • It writes a reasoning explanation before the campaign โ€” read it first to verify the AI understood your intent before reviewing the full configuration.
  • The AI cannot verify your margins. Always check the discount value against your cost of goods before launching.
  • Advanced settings (usage limits, order conditions, combination policies, subscription controls) must be configured manually in the wizard after generation โ€” Cycle AI cannot emit those fields.
  • Campaign Health runs in the wizard review step โ€” use it. It catches conflicts and schedule issues that the AI’s draft might not anticipate.
Try Cycle AI in Smart Cycle Discounts

Cycle AI is available in the free version of Smart Cycle Discounts. Install it, open the Cycle AI panel, and describe the campaign you want. The wizard loads the draft โ€” you review, adjust if needed, and launch.

Webstepper

We build Smart Cycle Discounts and TrustLens โ€” WooCommerce plugins for stores that want discount campaigns to run themselves and customer behavior to be legible. This post is based on the actual plugin source code, not marketing copy.