Skip to content
Examples

How to give a free gift over a spend threshold on Shopify

Shopify triggers native free-product discounts on quantity, not on how much is spent. A free gift offer takes a spend threshold directly, adds the gift at no charge, and falls back to a backup variant if the first one sells out.

  • Free gift
Halo & Root$72.00
  • Restore Repair Shampoo

    250ml / Qty 1

    $22.00
  • Restore Repair Conditioner

    250ml / Qty 1

    $22.00
  • Deep Repair Hair Mask

    Qty 1

    $28.00
Free gift - Mini travel shampooFREE
Total at checkout$72.00
The gift is a real cart line at no charge, so the shopper can see what they earned.
What the shopper sees

Once the cart passes $50 the gift appears as its own line at no charge, labelled as a gift rather than as a discounted product. Below the threshold the cart shows how much more is needed.

Build it

How to set this up

  1. 1

    Campaign > Offer type

    Pick Free gift.

    type = free_gift

  2. 2

    Tiers

    One tier with a $50 spend threshold and a free item reward. Thresholds are in minor units, so $50 is 5000.

    tiers[0].minSpend = 5000

  3. 3

    Gift

    Pick the gift variant, then add one or two backups in priority order. The storefront gives the first candidate that is in stock.

    freeGift.giftVariantIds = [primary, backup1, backup2]

  4. 4

    Limits

    Leave the cap at one gift per order for a standard promotion.

    freeGift.maxGiftsPerOrder = 1

  5. 5

    Stacking

    Turn on combining with order and shipping discounts so the gift survives alongside any sale you are already running.

    stacking.combinesWithOrderDiscounts = true

  6. 6

    Preview

    Simulate at $49.99 and $50.00 and confirm the gift appears exactly at the threshold, then publish.

The exact settings

Every setting, spelled out

These are the real configuration keys the offer is saved with, so you can check your own setup against this table field by field.

SettingValueConfig key
Offer typefree_gifttype
Threshold$50.00 (5000 minor units)tiers[0].minSpend
Reward typefree_itemtiers[0].rewardType
Gift candidatesup to 20, first in stock winsfreeGift.giftVariantIds
Gift cap1 per orderfreeGift.maxGiftsPerOrder
Discount classproductdiscountClasses
MethodautomaticdiscountMethod
Watch it

See it built end to end

The episode is not up yet

We are recording this one. The written recipe above is complete, so you can build it today.

Without an app

What Shopify does natively

What you can do

Shopify native Buy X Get Y can give a free product when the shopper buys a certain quantity of something else, so a quantity-triggered gift needs no app.

Where you need an app

A native free-product discount cannot be triggered by cart spend, and it has no fallback when the gift variant runs out. The offer just stops rewarding anyone and nothing tells you it happened.

Before you publish

Watch out for

  • The gift is discounted to zero, not created from nothing. Inventory still has to exist, which is why backups matter.
  • The gift line is at zero, so it does not count toward the threshold that awarded it.
  • Thresholds are in minor units, so $50 is 5000.
  • If the shopper removes items and drops below the threshold, the gift is removed too. That is correct behaviour but it surprises shoppers, so the cart copy should say so.

Common questions

Can the gift be triggered by spend rather than quantity?
Yes, that is the point of this offer type. The tier carries a spend threshold directly.
What happens when the gift sells out?
The storefront gives the next in-stock candidate from the gift list, so add at least one backup.
Can the shopper take several gifts?
Only if you raise the per-order cap above one.
Does the gift show as a discounted product or as a gift?
It renders as its own cart line labelled as a gift, at no charge.

Related examples

Tiered free gift with purchase

A different gift at each spend threshold, with the highest qualifying gift awarded.

Discount plus free gift

An order discount and a free gift on the same threshold, both applying to one cart.

Conditional free shipping

Free shipping once the cart passes a threshold, with a progress nudge in the cart.

Build this in your own store

Every recipe in this library runs on the same server-side engine, so the cart total and the checkout total agree.

We use essential cookies to run this site, and, only with your permission, analytics cookies to understand traffic. Read our Cookie Policy.