“It says buy 2, get 1 free. I have 2 in my cart.”
A buy X get Y discount counts the free item too, when it’s the same product. Two in the cart is the “buy 2” part; the third has to be in the cart to be free.
Get notified: Coming soonBuy 2 wax, get 1 free wasn't applied. Buy 2 wax, get 1 free (lab: automatic BXGY) needs 3 items; the cart has 2.
Why it happens
A buy X get Y discount gives the free item only when it’s in the cart. When the item the customer buys and the item they get are the same product, the cart needs both: 2 to buy and 1 to get, so 3. Shopify doesn’t add the free one by itself.
The same goes for a discount with a minimum quantity: it counts only the items the discount applies to. When the cart has other items too, the sentence says how many qualify.
In the lab (truth cart 08, 24 October 2026) two waxes cost $19.90 plus $8.00 shipping. With a third wax in the cart, the free one comes off. The same cart is also under the free-shipping minimum: free shipping didn’t apply.
What Checkout X-Ray reads
- The discount’s minimum quantity, or for buy X get Y how many must be bought and how many are given.
- Which items in the cart the discount applies to, and how many of them there are.
What to look at in Shopify
The discount’s quantities, in Discounts. For buy X get Y, say on the banner or product page that the free item has to be added to the cart too.
The sentence Checkout X-Ray writes for this reason, filled in for each cart: Discount needs n items; the cart has m.
Answer the next one with an X-ray.
Install on Shopify
Add Checkout X-Ray from the Shopify App Store. It opens in your Shopify admin, on the Free plan.
Build the customer’s cart
Open the Simulator. Pick the products, type the code they used and the country it ships to, then calculate the price.
Read the answer
The price X-ray shows each layer, and every code that wasn't applied gets a sentence saying why. Save it as a test cart to have it checked again.