Buy X get Y, free gifts, and repeating bundles in Shopify

Updated · SMART Functions Creator (E-TRADE PARTNER)

SMART Functions Creator has dedicated Buy X get Y and Bundle price actions. Buy X get Y repeats complete deals automatically, with an optional per-order cap. Bundle price sets a price for each complete group of eligible units and leaves leftovers at full price. Gift products must already be in the cart.

5.0 · SMART Functions Creator builds this as a Shopify Function, no code.

Start free trial
On this page
  1. Buy 2 get 1 free from the same range
  2. Buy from one range, get a gift from another
  3. One deal per order is different from one use per customer
  4. Different reward ratios at different thresholds
  5. A fixed price for complete sets
  6. Require products from several collections
  7. Test selection and competing discounts
  8. Frequently asked questions

Buy 2 get 1 free from the same range

  1. Create a discount function and a Line group for the eligible range.
  2. Select Buy X get Y. Set Customer buys to 2, and Customer gets to 1 from the same eligible pool.
  3. Choose Percentage off: 100 for the reward. Choose Lowest priced first if the cheapest eligible unit should be free.
  4. Set Group products by: All products to let different eligible products qualify together. Product groups units by product; Line item keeps each cart line separate.
  5. Set Maximum deals per order to 0 for unlimited repeats or 1 for one deal per order.
  6. Review Active dates and activation before saving. Activate when ready and test the quantities below.
Eligible units in cartFree units, unlimited repeatsFull-price units
202
312
413
624
725

These are expected results for a same-pool buy 2 get 1 offer with no competing discounts. Three actual units are required for the first deal: two paid units and one reward. Manual quantity tiers are not needed for this repeating ratio.

Buy from one range, get a gift from another

Create separate qualifying and gift Line groups. In Buy X get Y, target the qualifying group under Customer buys and the gift group under Customer gets. The number of complete deals is constrained by both purchased units and available gift units. Choose a percentage or a fixed amount off each reward unit; fixed amount off is not a fixed final price.

The gift must already be in the cart

The discount action does not add products. The customer, theme, or a storefront feature must add the gift first. This guide configures the discount; it does not install a gift selector or auto-add behavior.

One deal per order is different from one use per customer

Maximum deals per order limits repetitions in a single cart. It does not track whether a customer redeemed the promotion on an earlier order. For a redemption limit, use the appropriate discount-code usage settings. Customer order count can identify a first-order condition, but it is not a record of using this particular offer.

Different reward ratios at different thresholds

An offer such as buy 2 get 1, but buy 5 get 2 only, is not the same as repeating buy 2 get 1. For a bounded cross-range reward, use exclusive quantity conditions and Product discount actions: qualifying quantity 2–4 gives 100% off the first one gift unit; quantity 5 or more gives 100% off the first two. Target a separate gift group and test the boundary. Do not leave both ranges open-ended.

A fixed price for complete sets

Use Bundle price for an offer such as any 3 eligible units for 24. Set Items per set: 3, Price per set: 24, and Maximum sets per order: 0 for unlimited complete sets. Choose the target, application order, and grouping deliberately.

Cart of eligible units priced 10 eachExpected total
2 units20: no complete set
3 units24: one set
4 units34: one set plus one full-price unit
6 units48: two sets
7 units58: two sets plus one full-price unit

For mixed prices, the action allocates the set's savings proportionally across selected units. It only discounts: it does not raise a set that already costs less than the configured price. An any-three pool does not require one item from each of three different collections.

Require products from several collections

For a percentage offer that requires at least one item from each of several collections, create a Line group for each collection and require quantity greater than zero in every group. Target the intended groups with a Product discount. Without a unit cap, matching extra units can also receive the percentage. This condition checks presence; it is not an allocator that chooses exactly one item from each collection.

Test selection and competing discounts

  • Test below, at, and above each complete-deal quantity, and beyond any per-order cap.
  • Mix prices to verify Lowest priced first or Highest priced first selects the intended reward.
  • Test Product versus Line item grouping with multiple variants and cart lines.
  • Check subscriptions separately and inspect checkout, not only the theme's cart display.
  • Review overlapping promotions and combination settings; overlapping rules do not guarantee cumulative benefits.

Build a repeating gift or fixed-price set

Configure Buy X get Y or Bundle price in SMART Functions Creator.

Start free trial

5.0 stars · 110+ reviews

Frequently asked questions

›How do I stop a buy 2 get 1 offer from repeating?

Set Maximum deals per order to 1 in the Buy X get Y action. Zero allows unlimited complete deals.

›Can Functions Creator discount only complete sets?

Yes. Bundle price discounts complete sets to a configured price, repeats them subject to the per-order cap, and leaves leftover units at full price.

›Can the app automatically add a free gift?

No. The gift must already be in the cart for the discount action to target it.

Related articles