Skip to main content
Elixir can add a free gift to the cart automatically when a customer qualifies, either by spending enough or by buying enough of a product. No app needed for the offer itself.
Elixir shows and adds the gift. It does not make it free. The price comes from Shopify. Either price the gift product at 0, or create an automatic discount in your Shopify admin. Skip this and customers get charged for the “free” gift.

Two ways to run a gift offer

You can run both at once. Set up the gift product first, since both need it.

Step 1: Create the gift product

In Shopify admin, create the gift like any other product.
  1. Go to Products → Add product.
  2. Name it as customers will see it in the cart, for example “Free travel size (gift)”.
  3. Add an image. It shows in the cart and in the gift cards on the product page.
  4. Set the price. Either set it to 0, which is the simplest option, or leave the real price and create an automatic discount in step 4.
  5. Add the tag free-gift.
  6. Save.
The free-gift tag is what tells the theme this product is a gift. Type it exactly, lowercase, with the hyphen.
If the gift has variants (a size or scent the customer doesn’t choose), keep just one variant. The theme adds the first available variant.

Step 2: Hide the gift from your store

You don’t want the gift showing up in collections or search where someone could buy it on its own. Go to Theme settings → Free Gifts. The default notice reads:
This product is a free gift. It will be automatically added to your cart when you qualify and is not available for individual purchase.
On the gift’s product page the theme hides the Add to Cart button, variant picker, and quantity selector, then shows that notice instead.
Products tagged hidden are always hidden from collections and search, whether or not this setting is on. Use hidden for anything else you want out of your storefront listings.

Step 3: Choose your offer

Option A: Spend threshold in the cart

This is the “spend $50, get a free X” offer with a progress bar in the cart drawer.
  1. In the theme editor, open the Cart drawer section.
  2. Add the Progress bar block.
  3. Under General Settings, set:
  1. Customize the messages. Two placeholders get replaced automatically:
Defaults are You're [missingAmount] away from [freeProduct] and You've earned [freeProduct]. What happens automatically: when the cart total reaches your threshold, the theme adds the gift. If the customer removes items and drops below the threshold, the theme removes the gift again. You don’t need to do anything else.
The free shipping milestone is display only. The bar draws it, but the actual free shipping comes from a shipping rate or automatic discount you set up in Shopify admin.

Option B: Unlockable gifts on the product page

This is the “buy more, unlock more” offer, with up to four gifts that unlock in tiers.
  1. In the theme editor, open your product page.
  2. Add the Free Gift block (card layouts) or the Free Gifts Progress block (progress bar with a gift row).
  3. Set the Unlock Type:
  1. Pick up to four gift products and set a threshold for each. Thresholds should climb: gift 1 at 2 units, gift 2 at 3 units, and so on.
  2. Write your title and the two subtitles, one for while they’re still working toward a gift and one for when everything is unlocked.
Locked gifts show greyed out behind a lock icon, so customers can see what they’re working toward.

Step 4: Make the gift actually free

Elixir adds the gift to the cart. Shopify decides what it costs. Simplest option: set the gift product’s price to 0. Nothing else to configure. If the gift has a real price (so it looks valuable, or you also sell it normally), create an automatic discount:
  1. In Shopify admin, go to Discounts → Create discount → Amount off products.
  2. Set the method to Automatic.
  3. Under Applies to, select the specific gift product.
  4. Set the discount to 100% or a fixed amount equal to the price.
  5. Add minimum requirements that match your offer, for example a minimum purchase amount of $50.
  6. Save.
Match the discount’s conditions to your theme thresholds. If the cart unlocks the gift at $50 but the discount requires $75, customers get an unpriced gift in their cart and will abandon.

How gifts look in the cart

Add the Free Gifts Section block to the Cart drawer to group gifts separately from paid items. There’s also Disable Free Gift Product Links in the Cart drawer’s own settings. Turn it on so customers can’t click a gift and land on its product page.

Troubleshooting

Elixir adds the gift but never discounts it. Either set the product price to 0, or create the automatic discount in step 4. Also check that the discount’s minimum requirement matches the threshold in your theme settings.
Confirm the product is tagged free-gift, spelled exactly like that in lowercase, and that Hide free gifts from collections and search is on in Theme settings → Free Gifts. For anything you want hidden regardless of that setting, use the hidden tag.
For a spend threshold, check that the Progress bar block is added to the Cart drawer, that a Free Product is selected, and that Amount limit for free product has a number in it with no currency symbol. The gift only adds while the cart drawer is in use.
The theme removes the gift when the cart total drops back below the threshold. If it doesn’t, the threshold is probably empty or set to 0, which means every cart qualifies.
Turn on Hide free gifts from collections and search, and turn on Disable Free Gift Product Links in the Cart drawer settings so the gift in the cart isn’t clickable.
Check your thresholds climb in order and that each tier has a gift product selected. With Value as the unlock type, the number is the product value in the cart (quantity × price), not the whole cart total.