For recipes about the shape of a bundle itself — how many items, fixed vs. chosen products, testing bundles safely — see "Recipes: building the bundle shape you want."
Give tiered discounts like 2 for $15, 3 for $22, 4 for $28
Possible.
Use the Volume discount structure and add the product in Bundle products. Note that the new-bundle preset starts with three options at 1 / 2 / 3 items, so either retype Required items on each option or delete the 1-item option first. Set up three options:
Option 1 — Required items 2, Add: → Discount on, Discount type Sale price, Discount value 15.
Option 2 — Required items 3, Add: → Discount on, Discount type Sale price, Discount value 22.
Option 3 — Required items 4, Add: → Discount on, Discount type Sale price, Discount value 28.
This works on units of one and the same product. Volume discount counts units of a single product, so a shopper mixing two different products from your set never reaches a tier. If what you actually want is "any 2 from this set for $15, any 3 for $22" — a true mix-and-match with two price points — no single bundle can do it. Product groups with a Sale price on the bundle subtotal is not a substitute: it charges one flat total for any selection meeting the minimum, so 2 items and 3 items cost the same. Build two bundles instead, one per price point, each with its own minimum quantity.
This setup passes the built-in validation because an option's sale price is the price of the whole option, and is compared per unit: $15 for 2 ($7.50/unit) → $22 for 3 ($7.33/unit) → $28 for 4 ($7.00/unit) — strictly decreasing, as required.
Optional polish: set Option Title to "Custom title" to name each tier, add a Badge like "MOST POPULAR" to the option you want to highlight, and set a Pre-selected default option so the widget opens on the tier you want shoppers to see first.
Charge a fixed price per extra item added to a bundle
For example: "buy any regular product, then add up to 2 of this item at a fixed $238 each."
Not possible exactly as stated. It's possible only for a named list of anchor products, with every product given its own price. There's no way to say "this one item is $238 and every other product in the store is untouched."
Why: the discount type is one single setting for the whole bundle. A fixed per-item price needs Type = Sale price with Applies to = Individual product price, and in that mode every product in the bundle is priced by its own sale price field. On the storefront, a per-product value of 0 in that mode makes that product free — so every anchor product needs a real selling price typed in, or it will be given away. There's also no "any product in the store" option available in the Product bundle structures.
The closest working configuration:
Set Structure to Product bundle → Product groups.
Group 1: your anchor products, quantity 1, required.
Group 2: the $238 item, quantity 1, marked Optional.
In Product settings, turn Optional products on with "Customers choose products: With checkboxes", turn the Quantity selector on, set Minimum items required to 1, and set Maximum items allowed to Limited with a value of 3 (1 anchor + up to 2 add-ons) — this is the step that makes Sale price available.
Under Discount, choose Standard discount → Applies to Individual product price → Type Sale price (available on every plan on current pricing, including Free — a "PRO" badge on this control means the shop is on an older legacy plan).
Enter 238 on the add-on item, and each anchor product's own normal selling price on its own row.
Because the discount type applies to the whole bundle, a fixed per-item price only works when every product in the bundle has a price typed in.
One inconsistency worth knowing about: the admin's price preview may treat a per-product value of 0 as "no discount", while the live storefront treats it as free. This is a known mismatch between the two, and we haven't independently confirmed the storefront side against a live test. If you see this discrepancy — a 0-price item that the admin preview shows as not discounted — note exactly what you saw and send it to support.
Buy 2, get 1 free, and let the customer choose the free item
Possible, two ways.
Way A — Product bundle, gift inside the same widget
Set Structure to Product bundle → Product groups.
Groups 1 and 2: the qualifying products, quantity 1 each (or one group at quantity 2 if the two paid items may be identical).
Group 3: every product the customer may choose the gift from.
In Product settings, leave Optional products off, or turn it on with With checkboxes; leave the Quantity selector off.
In the Discount block, choose the Free gift group.
Under "Select products to display as free gifts in the bundle:", tick Free on every product in group 3 and leave groups 1–2 unticked.
The customer picks one product from group 3 and it comes free. At least one product must be ticked Free, or saving fails with "Select at least one product as a free gift".
Way B — Volume discount, gift attached to a quantity tier
Step | Setting |
1 | Structure → Volume discount, product(s) added |
2 | One option with Required items = 2 |
3 | On that option: Add: → Free gift |
4 | In Free gift 1, add every product the customer may choose from, and set Item quantity 1 |
Several products inside one gift group means the customer chooses one of them; several gift groups means the customer gets one gift from each group. An empty gift group fails saving with "Add at least one product to the free gift group".
Optionally, tick Auto-add free gift to cart in Advanced settings so the gift lands in the cart automatically without the shopper having to add it themselves.
Bundle a fixed set of products for one flat total price
For example: "any 4 shirts plus any 4 shorts for a fixed total of $219."
Possible, with a structural caveat.
A group's quantity multiplies the one product the customer picks from that group — so a single shirts group at quantity 4 gives four copies of one shirt, not four different shirts.
Set Structure to Product bundle → the multi-group layout.
For four different shirts and four different shorts, use 8 product groups, each quantity 1 — groups 1–4 drawn from the shirt catalogue, groups 5–8 from the shorts catalogue. For four of the same shirt and four of the same shorts, use 2 groups, quantities 4 and 4.
In Product settings, turn Optional products off and the Quantity selector off — this is what makes the fixed pricing types available.
Under Discount, choose Standard discount → Applies to Bundle subtotal amount → Type Sale price → Value 219.
You'll see this warning, and it's worth keeping in mind: "If the selected products cost less than the set sale price, the bundle will be added at the actual cost, as the app can only decrease prices, not increase them."
The caveat this recipe exists for: a fixed total and a free gift can't be combined on one bundle. With the free-gift add-on turned on, the Type field isn't shown at all — the entire Applies to / Type / Value area disappears and per-product "Free" checkboxes take its place, so there's no Sale price field to set. There are three ways around this — pick one:
Fixed total, no in-bundle gift — keep Type = Sale price as above, and fold the "gift" into the $219 by adding it as an ordinary item at its normal price. The customer pays one fixed total for everything, including the item you're treating as a gift.
Free gift, no fixed total — use the Free gift discount group instead, which prices everything per product as a percentage and gives the gift at 100% off. The bundle total then moves with the components instead of staying fixed at $219.
Both, but on a Volume discount bundle instead — a Volume-discount option can carry its own Discount add-on (Sale price included) and its own Free gift add-on at the same time, so "N units for $219 plus a free gift" does work there. The trade-off is that Volume discount counts units of one and the same product, not any 4 items from a set.
