Why Shopify's Buy X get Y doesn't add the free item to the cart

Updated · SMART Bundles App & Upsells (E-TRADE PARTNER)

That's how Shopify built it: a Buy X get Y discount only prices items already in the cart, and Shopify says the free or discounted "get" item is never added automatically, so customers add it themselves. To put a gift in the cart for them, you need an app that adds the line. In SMART Bundles that's the Free gift type or a gift on a bundle offer; the app's own Buy X get Y type works like Shopify's and doesn't add it.

SMART Bundles App & Upsells is a free Shopify app for bundles, quantity breaks, free gifts and upsells.

Try it free
On this page
  1. What Shopify's Buy X get Y does
  2. Why the item isn't added
  3. Your options
  4. How SMART Bundles handles gifts
  5. Frequently asked questions

What Shopify's Buy X get Y does

  • Customer buys: a minimum quantity of items or a minimum purchase amount, from products or collections you pick.
  • Customer gets: a quantity of items at a Percentage, an Amount off each, or Free.
  • Customers add every item themselves, the "buy" items and the "get" items. With a code they then enter it at checkout; an automatic discount applies once everything is in the cart (Buy X get Y discounts).
  • When the same product or collection is on both sides, the lower-priced item the customer chooses is the one that gets the discount.
  • Items count toward a minimum purchase amount at full price, before other discounts; shipping and taxes never count.
  • Outside Shopify Plus, items in a Buy X get Y discount can't receive another product discount (Combining discounts).

Why the item isn't added

A Shopify discount, built-in or from an app, changes the price of lines that are in the cart. Shopify's discount Functions apply discounts to cart lines, the order subtotal and shipping rates (Discounts on shopify.dev), and its automatic discount page says customers must add all eligible items, including the promotional ones (Automatic discounts). Adding a product is a separate job: something on the storefront has to put the line in the cart before checkout.

So if a customer reads "Buy 1, get 1 free" and adds one item, they see no discount. The discount isn't broken; the second item is missing.

Your options

OptionAdds the item?Good to know
Shopify Buy X get Y, automaticNoTell shoppers to add the free item, on the product page and in the cart
Shopify Buy X get Y, codeNoCustomers add the items, then enter the code at checkout
An app that adds a gift lineYesWorks in your Online Store theme, before checkout
A bundle offer that adds the whole setYesThe shopper picks the offer on the product page; one click adds every unit

How SMART Bundles handles gifts

SMART Bundles featureAdds the item?TriggerWhere
Free gift typeYes, by itselfCart value or items in the cart, or while its code is on the cartEvery page of the store
Gift on a bundle offer (Add gift on an offer)YesWhile that offer applies to the cartProduct page widget
Progressive gifts (bundle Extras tab)Yes, as each step unlocksOffer #N and higher, Offer #N only or Spend at least...Product page widget
Bundle Buy X, get Y offerAdds the buy and get units in one clickThe shopper picks the offer cardProduct page widget, same product
Buy X get Y discount typeNoCustomer buys / Customer getsCart and checkout only

The app's Buy X get Y editor says it plainly: "Customers add the Y items to the cart themselves. To add a gift for them automatically, use Free gift." It only discounts Y items that are already in the cart, up to the Free quantity.

Set up a Free gift that adds itself

  1. In Shopify admin, open SMART Discounts and click Create new discount. Under Free gifts, pick Free gift. The app checks that its app embed is on first.
  2. In the Discount name card, choose the Application method: Automatic or Code. You can't change it after the discount is created.
  3. Trigger: Cart value or Items in cart, with an optional Maximum cart value or Maximum items.
  4. Counts toward the tier: All products or Specific products, optionally with Require all of these products.
  5. Gift tiers: pick the Gift product and variant, the Free quantity (1 to 10) and the Gift price: Free, Percentage off or Fixed price. Add up to 5 tiers (a code discount has one). Higher tier replaces lower is on by default.
  6. Eligibility: customer tags, New customers only (guests count as new) and Markets. Then Combinations and Active dates.
  7. Click Create; it goes live on its start date (now, by default). Make sure the SMART Discounts app embed, listed as Deal widget under App embeds, is on in your published theme.

What happens in the store

  • The gift line is added on any page once the cart qualifies, and removed when it stops qualifying.
  • A gift the shopper removed isn't added again while the tier stays reached.
  • The discount makes the line free only while it's earned. A gift added by hand to a cart that doesn't qualify keeps its full price.
  • The theme's cart drawer refreshes without popping open.
  • With a code, the gift is added while the code is on the cart: entered in the cart or through a /discount/CODE link.

Where an auto-added gift can't work

  • Buy it now, express buttons on the product page, and cart links that open checkout directly: they skip the cart.
  • A code typed only at checkout. The storefront can't add lines there.
  • Shopify POS: Free gift never applies there.
  • Headless or Hydrogen storefronts, and checkouts that replace Shopify's.
  • A gift product that's Draft, Archived, or not on the Online Store sales channel. The editor warns you about this.

If the gift still doesn't appear, work through Free gift not added to the cart.

When the Buy X get Y type is still the right pick

Free gift gives one gift variant per tier and counts specific products, not collections. The Buy X get Y type covers what it doesn't: a choice between several "get" products, collections or variants as the "buy" side, customer segments, and several tiers on a code. The customer adds the item they want, and checkout discounts it. See Buy X get Y discounts.

For BOGO on the same product, read How to run BOGO and "buy 2 get 1 free" on Shopify. For spend-based gift tiers, read Free gift with purchase on Shopify.

Gifts that add themselves to the cart

Install SMART Bundles App & Upsells and create a Free gift: pick a tier and a gift product, and the app adds it when the cart qualifies. The app is free.

Install free on Shopify

Frequently asked questions

›Can customers choose their free gift?

Not with Free gift: each tier gives one gift variant. Use the Buy X get Y type with several products under Customer gets; the customer adds the one they want and checkout discounts it.

›Is the gift removed if the cart drops below the tier?

Yes. The app removes the gift line when the cart stops qualifying, on any store page.

›Does the free gift work with Buy it now?

No. Buy it now goes straight to checkout and skips the cart, so the gift is never added.

Related articles