Free gift with purchase
What you’ll build: a free gift with purchase: a gift that’s added to the cart once the order reaches an amount, for example a free tote bag over $75. It’s removed if the cart drops below the amount, and it’s free because of a discount that covers only items Product offers add.
Requirements: an offer and its discount.
- In checkout: Shopify Plus and the Buddy plan. See in checkout.
- On your cart page, in your cart drawer and on product pages: any Shopify plan except Starter, with the Deals & Rules or Buddy plan. See on your cart page.
For a gift that comes with certain products, buy X get Y or buy one get one (BOGO), use a Buy X get Y discount instead: it prices the free item and adds it in one setup. See which gift setup to use.
In checkout
Section titled “In checkout”-
Create the offer. In Checkout Buddy, go to Customizations → Upsells → Create customization → Product offers, and choose the Free gift over a spend template. It’s a Free gift offer, with Tiers set to By amount spent.
-
Set the amount and the gift. In Offers, edit the tier:
- Cart subtotal of at least: for example
75. - Products: click Choose products and pick the gift and its variant.
- Quantity of each product: 1, or more.
- Cart subtotal of at least: for example
-
Name the offer and save. Only you see the Name. The offer saves as a Draft.
-
Create the discount. On the Discount at checkout card, click Create gift discount. The Discount page opens filled in, with Areas applied to set to Product offers (items they add), 100% off the gift, and your amount as its minimum. Save it, then click Back to the offer. The card now reads Free with “…” and your discount’s name.
-
Publish. Under Status, turn on the switch so it reads Published, and save.
-
Place the app block. In Shopify’s checkout editor, add the Product offers app block in the main column, turn on Include block in Shop Pay for Shop Pay buyers, and save the editor. See where to place it.
-
Turn off older gift blocks. If an older Product offers block, Checkbox product offer or Line item remover adds or removes the same gift, turn it off, so they don’t undo each other.
-
Test it with a real checkout. Go over the amount: the gift is added, free. Go below it: the gift comes out. Remove the gift from the cart: it shows an Add button instead of coming back.

On your cart page, without Shopify Plus
Section titled “On your cart page, without Shopify Plus”The same offer gives the gift on your cart page, in your theme’s cart drawer and on product pages, on every Shopify plan except Starter. It needs the Deals & Rules or Buddy plan, for the offer and its discount.
-
Create the offer. In Checkout Buddy, go to Customizations → Upsells → Create customization → Product offers, and choose the Free gift over a spend template.
-
Set the amount and the gift. In Offers, edit the tier: Cart subtotal of at least, for example
75, then Choose products for the gift and its variant. -
Choose where it shows. Under Where it shows, tick Cart page, which covers your theme’s cart drawer too. Tick Product pages to show the gift there with “Unlocks at $75.00” before the cart gets there. On stores that can’t show offers in checkout, the template opens with both ticked.
-
Name the offer and save. The offer saves as a Draft.
-
Create the discount. On the Discount card, click Create gift discount, save the discount, then click Back to the offer. The same discount makes the gift free in the cart and at checkout.
-
Publish. Under Status, turn on the switch so it reads Published, and save.
-
Add the block to your theme. On the Product and cart pages card beside the editor, click Add to cart page: Shopify’s theme editor opens with the Product offers block added. Click Save there. Do the same with Add to product page if you ticked Product pages.
-
Turn on the app embed. On the same card, click Turn on beside Turn on Product offers in your theme’s app embeds, then Save in the theme editor. It adds and removes the gift as the cart changes, on every page and in cart drawers.
-
Test it on your store. Add products past the amount: the gift goes into the cart at $0. Take one out: the gift comes out.
On a Shopify Plus store, tick Checkout as well: checkout recognises a gift the cart page added, so buyers never get two. See free gifts on product and cart pages.
Variations
Section titled “Variations”- Nothing showing: untick Show the offer at the top of Layout (Show the offer in checkout on an offer shown only in checkout), and save. The gift is still added and removed automatically, with nothing showing in checkout or on your pages. Buyers see it in the cart and the order summary. See gifts with nothing showing.
- Tiered gifts: start from Tiered free gifts for another gift at each cart amount, in one offer: higher tiers add their gifts to the earlier ones, or replace them. One discount covers every tier. See tiers.
- Let buyers choose: start from Choose your free gift. For gifts from a collection, one Collection discount makes every pick free. See gifts buyers choose and gifts from a collection.
- Gift with certain products, buy X get Y or buy one get one (BOGO): use a Buy X get Y discount with Add to the cart: it prices the gift and adds it in one setup, for every set of products bought. Start from the Buy X, get Y free template, under Templates → Free gifts.
- Gift for a number of items: set Tiers to By number of items, for a progress line like “Add 1 more item to get a free gift”. To count only some products, set Cart items that count toward tiers to Only cart items from…. See items that count.
- A progress bar toward the gift: the template shows the gift in a locked box until the cart reaches it. For a bar, set Show progress as to Bar at the end of Layout. See show progress as.
- Gift with a code: start from Free gift with a code and enter your code under Who sees it. The code must be a Shopify discount, and it must combine with the gift’s discount. See gifts with a discount code.
- First orders: Free gift for first orders gives a welcome gift to logged-in customers placing their first order. Guests don’t match.
- A sample buyers can remove: Free sample with every order adds a sample to every order, with a Remove link.
- Some markets only: add a Market condition under Who sees it, and keep the app block in every market, so the offer can take the gift back out if the buyer moves to another market.
Troubleshooting
Section titled “Troubleshooting”- The card says “No discount makes this free yet”: click Create gift discount, or open your discount and set Areas applied to to Product offers (items they add), with the gift listed at 100%.
- The gift isn’t free: checkout charges for it, so it stays at its price, or is removed with Remove gifts that aren’t free ticked. Check the discount is active, its minimum is at or below the amount, its quantity limit covers the gift’s quantity, and it combines with any code or discount the buyer used.
- The gift isn’t added: check that:
- the offer is Published, and the Product offers app block is in your live checkout, with Block IDs empty or listing this offer;
- the cart is at or above the amount, and Who sees it passes;
- the gift product isn’t draft or archived, and is in stock;
- if the gift needs shipping, something else in the cart ships too;
- for B2B buyers, the offer has a B2B order or Company condition.
- The gift isn’t added on the cart page: check that Cart page is ticked under Where it shows, the Product offers block is on your live theme’s cart page, and Product offers is on under App embeds. See if an offer doesn’t show.
- The gift is free below the amount with Apple Pay or Google Pay: buyers paying from the cart skip checkout, so only the discount’s minimum decides. See Apple Pay, Google Pay and Shop Pay.
- The gift doesn’t come back after the buyer removes it: that’s expected, until the offer stops giving it. With the offer shown in checkout, it shows an Add button meanwhile. See when a buyer removes a gift.
- More help: discount not applying.
With an older Product offers block
Section titled “With an older Product offers block”Older Product offers and Checkbox product offer blocks, made before the new Product offers editor, keep working as before and give gifts their own way. To check or change one:
- The discount: an Amount off products discount at 100% on the gift variant, with Areas applied to set to Checkout components (upsells, cross-sells, etc.) only. The block also needs the
checkout_buddy.markingsvariant metafield definition with Storefront API access, or it can’t tell the gift is free and won’t add it. Check it exists. - The block: the gift picked with Select products manually, with Add free products to cart automatically and Add products only once per checkout session (if automatically added) ticked, in any layout except Compact (columns).
- Added only once: the condition Cart excludes component product hides the block once the gift is in the cart.
- Placement: a Checkout Buddy (v1) app block with the block’s ID in Fixed block ID.
- Different gifts by spend: one block per tier, with conditions that don’t overlap, and both IDs in the same app block’s Fixed block ID.
- If the gift is added but not free, check Disable custom attributes is off in the app block’s settings. If it isn’t added, check the markings definition, that the variant is in stock, and that the block’s conditions pass.
