HS Dynamic Pricing & Discount Rules · 0.1.0-alpha.3
Every promotion setting explained
A field-by-field reference for all offer, targeting, quantity, scheduling, coupon and simulator controls.
Read this beside the editor
Open HookSpark → Pricing & Discounts → Create promotion or edit a saved rule. These are the current options; fields for another promotion type may be hidden until you select it. Save an inactive rule and check the simulator before activation.
Promotion name
Required; up to 160 bytes. Use an offer shoppers can understand; it appears in the cart and order.
Promotion type
Product discount, bulk, progressive, Buy X discount Y, Buy A get B, Cart discount, or Free shipping. The type controls where the adjustment applies.
Price adjustment
Percentage off (0–100), Amount off (nonnegative store currency), Set unit price (nonnegative target). Cart rules cannot set a unit price.
Discount value
Used by product, BOGO and cart rules. Quantity rules use their band values instead. Type 3 for €3, not minor-unit integers.
From quantity / Band value
Add one or more strictly increasing integer band starts. The value uses the chosen adjustment; earlier quantities retain base price if no band covers them. Duplicate/decreasing starts are rejected.
Buy quantity / Discounted quantity
Both at least 1. Buy 2 plus discount 1 requires 3 eligible units. Reward units come from the same selected group and are chosen cheapest first.
Repeat the offer for every complete group
On repeats BOGO for complete groups. Off allows one reward group per eligible quantity group in this cart. It is not a lifetime or account usage limit.
Include products
Empty means no product-ID restriction. A parent includes variations; a specific variation includes only itself. Product/category/tag inclusions combine with OR.
Exclude products
A selected parent excludes all its variations; a specific variation excludes only itself. Excluded units neither receive nor help qualify for this rule.
Include categories
Includes products in selected categories and descendant categories. Combines with product/tag inclusions.
Exclude categories
Excludes selected categories and descendants even if products also match an inclusion.
Include tags
Includes products with a selected tag. Variable products use their parent catalog taxonomy.
Exclude tags
Excludes matching tagged products, overriding inclusions.
Include roles
Empty includes everyone. Guest is an explicit choice. Selected roles match at least one role; if accounts are also included, the account condition must match too.
Exclude roles
Any excluded role wins. Use Guest here to exclude unauthenticated shoppers.
Include customers
Search accounts on this site. Selected account IDs restrict the offer; account and role inclusions must both match if both are set.
Exclude customers
Selected accounts never qualify for this rule, even if their roles are included.
Exclude products already on sale
On by default. Turn off to reduce the current sale price; regular catalog prices are still preserved.
Count eligible quantities
Per cart line; Per parent product, combining variations; Across all selected products. Progressive requires per line; Cart discount always groups eligible lines.
Minimum quantity
Default 1, inclusive, evaluated for the eligible quantity group. A group below the threshold gets no discount.
Maximum quantity (0 = unlimited)
Default 0. Above a positive maximum, that group loses the offer entirely; it does not discount only the first maximum units and does not block purchase. Use Min/Max for purchase restrictions.
Minimum net cart spend
Default 0. Uses the whole original net cart subtotal before our reductions and coupons, excluding taxes and shipping; it can include products outside this promotion. Product eligibility still limits where the discount is applied.
Starts (site timezone)
Empty means no start boundary. The start instant is included; prices are checked on recalculation.
Ends (site timezone, exclusive)
Empty means no end boundary. At the end instant the rule stops applying. End must be after start. No weekly recurring schedule is implemented.
If a coupon is present
Suspend this promotion is the default, even for a present coupon with no saving. Apply promotion, then native coupons lets native WooCommerce handle its own coupon conditions after our reduction.
Priority (lower runs first)
Default 10; lower number first, then lower rule ID. Used for First, Sequential and tied Best outcomes.
Promotion active after saving
Off for a new rule or duplicate. Changes take effect only after a successful save; deactivation preserves the rule.
Global offer strategy
Saved on Promotions. Best complete offer chooses one whole rule by cart saving; First chooses the first effective reduction; Apply sequentially applies each reduction to the remaining price.
Simulator controls
Add product adds another product/variation and whole quantity. Remove deletes that preview row. Customer account 0 represents a guest; other values are local account IDs. The optional date tests scheduling. Enter an actual coupon code to calculate native coupon amounts; a coupon-present flag alone cannot establish the final amount. Include inactive promotions in this preview only includes saved drafts without activating them. Calculate uses saved rules, not unsaved editor fields.
Management and recovery
Edit preserves the rule ID. Duplicate makes an inactive copy with a new ID. Delete requires confirmation. Validation errors retain submitted values; correct the named field. A stale revision cannot overwrite another editor’s save: reload and reapply your intended change. No import/export, batch actions or stable public rule API are available in this version.
Additional alpha.3 controls
- Count-only selections: products, categories, tags, brands and supported attributes can contribute toward a trigger without receiving its discount.
- Attributes and brands: use supported global/local attributes and the native product_brand taxonomy. Do not assume support for a third-party brand taxonomy.
- SKU selection: preview product identifiers before applying them. Missing or ambiguous identifiers must be corrected; a mixed invalid list is not partially accepted.
- Required coupon code: activates only eligible campaigns associated with that code.
- Order note: saved promotional text remains associated with the historical order.
- Automatic gift: add a selected gift product under Buy A, get B. Stock and purchase rules still apply.
- Campaign unit allowance: limits discounted units across checkouts; see the quota guide for reservations, confirmation and returns.
- Free shipping: select enabled delivery methods in specific zones, then configure package eligibility.
See the dedicated quota, shipping and simulator guides for complete operational steps and limitations.