> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ecomelixir.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Free gifts

> Set up gift with purchase offers, spend thresholds, and unlockable gifts

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.

<Warning>
  **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.
</Warning>

## Two ways to run a gift offer

| Offer                   | Where it lives                  | Example                                    |
| ----------------------- | ------------------------------- | ------------------------------------------ |
| **Spend threshold**     | Cart drawer, Progress bar block | "You're \$12 away from a free travel size" |
| **Product page unlock** | Product page, Free Gift block   | "Buy 2, get a free applicator"             |

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](#step-4-make-the-gift-actually-free).
5. Add the tag `free-gift`.
6. Save.

<Note>
  The `free-gift` tag is what tells the theme this product is a gift. Type it exactly, lowercase, with the hyphen.
</Note>

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**.

| Setting                                         | What it does                                                                                                        |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| **Hide free gifts from collections and search** | Hides every product tagged `free-gift` from collection pages, search results, and predictive search. On by default. |
| **Notice text**                                 | Replaces the Add to Cart button on the gift's own product page with this message                                    |

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.

<Tip>
  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.
</Tip>

## 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:

| Setting                            | What to enter                                                                                               |
| ---------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| **Free Product**                   | Pick your gift product                                                                                      |
| **Amount limit for free product**  | The cart total that unlocks it, for example `50`. Numbers only, no currency symbol. Leave empty to disable. |
| **Amount limit for free shipping** | Optional second milestone on the same bar. Leave empty to disable.                                          |

4. Customize the messages. Two placeholders get replaced automatically:

| Placeholder       | Becomes                          |
| ----------------- | -------------------------------- |
| `[missingAmount]` | How much more they need to spend |
| `[freeProduct]`   | The gift product's name          |

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.

<Warning>
  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.
</Warning>

### 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**:

| Type             | Unlocks when                                                        |
| ---------------- | ------------------------------------------------------------------- |
| **Quantity**     | The customer adds this many units of the product                    |
| **Value**        | The product value in the cart (quantity × price) reaches the amount |
| **Subscription** | The customer selects a subscription. All gifts unlock at once.      |

4. 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.
5. 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.

<Warning>
  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.
</Warning>

## How gifts look in the cart

Add the **Free Gifts Section** block to the Cart drawer to group gifts separately from paid items.

| Setting              | What it does                                                |
| -------------------- | ----------------------------------------------------------- |
| **Display Position** | Show gifts before or after regular cart items               |
| **Heading Text**     | Heading above the gift group, for example "Your free gifts" |
| **Tag Text**         | The badge on each gift, "FREE" by default                   |
| **Divider**          | Optional line next to the heading                           |

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

<AccordionGroup>
  <Accordion title="The gift is being charged at checkout">
    Elixir adds the gift but never discounts it. Either set the product price to 0, or create the automatic discount in [step 4](#step-4-make-the-gift-actually-free). Also check that the discount's minimum requirement matches the threshold in your theme settings.
  </Accordion>

  <Accordion title="The gift shows up in my collections or search">
    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.
  </Accordion>

  <Accordion title="The gift isn't being added to the cart">
    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.
  </Accordion>

  <Accordion title="The gift doesn't disappear when the customer removes items">
    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.
  </Accordion>

  <Accordion title="Customers are buying the gift on its own">
    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.
  </Accordion>

  <Accordion title="Nothing unlocks on the product page">
    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.
  </Accordion>
</AccordionGroup>
