---
title: "Setting Up a Gift with Purchase"
description: "Reward shoppers with a free product when they qualify — the gift is added to their cart and discounted to free automatically."
---

A gift with purchase (GWP) rewards a shopper with a free product when they meet a condition you set — for example, *"Spend $50 and get a free lipstick."* When a shopper claims the offer, Quikly adds the gift to their cart and your Shopify discount brings its price to $0.

GWP offers use Shopify's **Buy X Get Y** discount under the hood: the shopper "buys" enough to qualify, and "gets" your chosen product for free.

## Before you start

Three things must be true for the gift to add itself to the cart correctly:

1. **The reward must be a single, specific product variant** — one exact item, not a whole collection or a product with several options. This is the item Quikly adds to the cart.
2. **The reward variant must be in stock and purchasable.** Shopify won't add an unavailable variant to a cart, so a sold-out gift will silently fail to appear. If the item is out of stock, restock it or set its inventory to "continue selling when out of stock."
3. **The offer must use a discount code** (not an automatic discount). Quikly tracks how many times the gift has been claimed by reading the code on each order, which is also what enforces your usage limit.

## Set up the offer

1. Navigate to **Build > Offers** in your Quikly campaign and open the offer level you want to use for the gift.

2. Under **Type**, choose **Percentage**, and set **Discount percentage** to `100`. (100% off is what makes the gift free.)

3. Under **Discount applies to**, choose **Specific products**, then select the **single product variant** you want to give away. Pick the exact variant — not the parent product or a collection.

4. Turn on **Require specific product(s) in cart**. This switches the offer to the Buy X Get Y model and reveals the **Buy X get Y Conditions**, where you define what the shopper must do to qualify.

5. In the Buy X get Y conditions, set the trigger:
   - For a spend threshold (*"Spend $50"*), choose the **Minimum purchase criteria** and enter the amount.
   - For a quantity threshold (*"Buy 2 items"*), choose the **Quantity criteria** instead.
   - Use **Applies to any items from** to control whether the qualifying purchase can be any item, or only specific products/collections.

6. Set your **Custom Discount Code**. This is the code Quikly applies to the cart and uses to attribute and limit claims.

7. Save the offer.

:::note
You don't need to limit how many gifts a shopper gets per order. Quikly sets up Buy X Get Y discounts in Shopify with a limit of 1 use per order, so each order receives one free gift.
:::

## How it works for the shopper

When a shopper claims the reward, Quikly's storefront integration does two things automatically:

- **Adds the gift variant to the cart.** The shopper doesn't have to find or add the product themselves.
- **Applies your discount code**, which the Buy X Get Y rule then uses to bring the gift to $0 — as long as the rest of the cart still meets the qualifying condition.

The shopper sees the free item already in their cart at checkout.

## Troubleshooting

**The gift isn't being added to the cart.**

- Confirm the reward is a **single specific variant**, not a collection or multi-variant product. The auto-add only works for one exact variant.
- Confirm that variant is **in stock and purchasable**. An unavailable variant can't be added to a cart.

**The gift is in the cart but isn't free.**

- The shopper's cart must still meet the qualifying condition (e.g. the $50 minimum, *excluding* the gift's own value). If they remove items and drop below the threshold, the discount stops applying.
- Confirm the offer uses a **discount code** and that the code is being applied.

## Related

- [Configuring Offers](/shopify/tutorials/offer-configuration) — how discount scope and product targeting work.
- [Quikly Discounts in Shopify](/shopify/tutorials/offers-in-shopify) — how your gift offer appears in your Shopify admin.
- [Identifying Quikly Orders](/shopify/identifying-quikly-orders) — how Quikly attributes orders back to a campaign.