Skip to content

Bundle Discounts

A Bundle discount applies when the cart contains a complete combination of products — for example “buy a phone + a case + a charger, get 20% off the bundle”. A bundle can be defined as multiple alternatives (“variant A or variant B”), each with its own product slots.

  • Cross-sell sets: “Phone + accessories” bundle pricing
  • Multipack offers spanning multiple categories
  • “Buy A and B together” deals

A Bundle rule has one or more variants (filter groups, evaluated as OR between them). Each variant has one or more slots (individual filters inside a variant, evaluated as AND). Each slot defines:

  • A filter (category / product / tag / etc.) selecting eligible cart items
  • A quantity — how many units of matching items the slot requires for one complete set

The discount applies K times when the cart contains at least one complete set of any variant. K is the largest integer such that every slot in that variant has at least K × slot.quantity matching items in the cart.

The configured discount is applied to K × slot.quantity items per slot, delivered as a cart-level fee.

Create a rule of the Bundle type. Bundle supports two application modes — Apply as discount on cart (fee-based) and Auto Price. See the Auto Price mode section below.

Each filter group is one bundle variant. Inside a group, add individual filters — each filter is one slot:

  • Pick the filter type (category / product / tag / …)
  • Set the slot qty (required number of items)

Pick a discount type (percentage, fixed, fixed item price) and value. Cart-level types (fixed cart, percentage cart) are not available for Bundle.

Subtotal, user role, date — same as for other rule types.

Variant A: 1× from category “Blankets type A” + 2× from category “Pillows type A”
Variant B: 1× from category “Blankets type B” + 2× from category “Pillows type B”
Discount: 20% off bundle items

For each complete variant in the cart, the discount applies to that variant’s full set of items. Multiple complete sets (K > 1) multiply the discount accordingly.

Bundle creates one fee line per discounted product variation (analogous to BOGO X). If a slot’s filter matches multiple variations, the slot’s quota is distributed among them by price, lowest first.

Enable the Auto Price application mode on a Bundle rule to apply the bundle’s discount directly to each slot product’s price (instead of as a separate fee row). The discount only fires when the cart contains a complete bundle K-set — all slots satisfied with their required quantities. Outside of that, products display at their original price.

  • The rule’s discount_type / discount_value apply to every slot product when at least one variant’s K-set is complete.
  • The price modification is visible on the product page (PDP), in product listings, in the classic cart, and in the block cart.
  • When the customer removes a slot product and the K-set breaks, prices revert automatically on the next cart recalculation.
  • Stacks with other Auto Price rules (e.g. Bulk discounts) according to the rule priority order.

Auto Price and Fee Based are mutually exclusive on a Bundle rule. The rule editor enforces this — you can pick one or the other, not both. Choose Auto Price if you want the discount to feel like a sale price; choose Fee Based if you want a visible line in cart totals labeled with the bundle.

  • Discount types: per-item only (percentage, fixed, fixed item price). Cart-level types are not available for Bundle.
  • The count mode (trigger_count_mode) is not used by Bundle — slot semantics define the counting.
What is the difference between a "variant" and a "slot"?
  • A variant is a filter group — one alternative the cart can satisfy.
  • A slot is an individual filter inside a group — one required component within that variant.

If the cart fully satisfies any one variant (all of its slots), the Bundle discount applies for that variant. Multiple variants can apply independently when the cart contains enough items for all of them.

What happens with items beyond the bundle requirement?

If a slot requires 2 items and the cart contains 5 matching items, multi-set application takes effect: K = how many complete sets fit in the cart. Items beyond K × slot.quantity keep their full price.

Can a single product satisfy more than one variant?

Yes, but the pool system ensures the same cart item is not counted toward two applications. The first qualifying variant consumes those units.