Free gift
Give a product away once a shopper's cart reaches a total you set — added on its own, taken back out loud, and priced at zero by a real Shopify discount.
What it does
The Free gift module watches the cart. When it reaches the amount you set, the drawer adds your gift to the cart for the shopper. If the cart later drops below that amount, the drawer takes the gift back and tells the shopper why.
If you pick more than one gift, the shopper chooses which one they want instead of getting one automatically.
Use it for a threshold reward: "spend £75, get the tote". It is not the right module for a paid extra like gift wrapping or shipping protection — that is the Checkbox add-on.
Set it up
- Open
Carts, then open the cart you want to change. You are now in Cart builder. - Under Add a module, choose Free gift and press Add.
- Find Free gift in the Modules list and press Settings.
- Fill in Unlocks at. This is an amount in your shop's currency, unless your rewards bar measures by item count — see below.
- Next to The gift, press Choose from your catalogue and pick the variant you want to give away. Pick more than one to let the shopper choose.
- Turn on Show it before it's earned if you want shoppers to see the gift while they are still working toward it.
- Press Save. Saved settings are not live yet — the screen says so.
- Go back to the cart and use Publish. Publishing is what puts the gift in front of shoppers and what creates the Shopify discount that makes it free.
Use the up and down arrows in the module list to decide where the gift sits in the drawer, and Open preview to watch it behave against a test cart before a shopper does.
Settings
| Setting | What it does |
|---|---|
Unlocks at | The cart total that earns the gift. If your rewards bar measures by Cart total, before discounts, this is money. If it measures by Number of items, the field changes to Unlocks at (items) and asks for a whole number of items instead. |
The gift | The product variant to give away, chosen from your own catalogue. Choose more than one and the shopper picks. Excluded products don't count toward the threshold — the rewards bar's list is used. |
Show it before it's earned | Off by default. Turns on a padlocked row telling shoppers what they're working toward. Adds a row to every cart that hasn't earned it yet. |
How it behaves
Earning it
The threshold is measured the same way the rewards bar measures its tiers, so the two never disagree. That means:
- Whatever you excluded under What doesn't count on the Rewards bar screen — gift cards, sale items, particular vendors — does not count toward the gift either.
- The gift itself never counts toward its own threshold.
- The amount is converted for shoppers buying in another currency, so the gift unlocks at the same point as the bar above it.
Adding it
With one gift chosen, the drawer adds it as soon as the cart qualifies and announces "Free gift added" for screen readers. With two or more, the module shows a small picker headed Choose your free gift with one button per gift. Once the shopper picks, the picker disappears and the gift becomes a normal cart row with a Free gift badge.
Taking it back
If the cart falls below the threshold, the drawer removes the gift and says so plainly: "Free gift removed because your cart is below £50." This is deliberately loud. A shopper who reaches checkout still believing they have a free gift is the single most expensive thing this module can get wrong.
Removing it this way is not held against the shopper. Build the cart back up and the gift comes back.
If the shopper removes it themselves
A shopper who removes the gift with the normal remove button has said no. The drawer remembers that on the cart and will not add it back, however many times the cart changes. If you offered several gifts, they can still choose a different one.
There is no admin control to undo a shopper's refusal. The choice is stored on their cart, so it lasts as long as that cart does.
If the gift is out of stock
Shopify refuses the add, and the drawer takes that as the answer: the gift is dropped for the rest of that page view rather than retried on every tap. If it was one of several, the shopper hears "that one is out of stock — choose another" and the remaining options stay usable. If it was the only one, no gift is offered and nothing is broken. Reloading the page tries again, so restocking fixes it on its own.
What the shopper is actually charged
The drawer can add a product to a cart, but only Shopify can change a price. So publishing a cart with a gift creates an automatic discount in your own Shopify discount list, called Sofcy Cart Rewards, and that discount is what prices the gift at zero.
- That discount is applied at Shopify's checkout. In the cart drawer the gift line still shows its normal price with a Free gift badge beside it; the price comes off at checkout.
- Only one is free. If a shopper turns the gift line up to three, they get one free and pay for the other two.
- Shopify has the final word. If the drawer ever fails to remove a gift that is no longer earned, the discount simply doesn't apply and the item charges at full price. Every failure falls your way, never against your margin.
Don't delete or deactivate the Sofcy Cart Rewards discount in Shopify. Without it the drawer will still add the gift, and the shopper will be charged for it.
Changing the wording
Every sentence on this page's screenshots is editable. Open Shopper copy for the cart and look under the Free gift group: the line badge, the padlocked teaser, the picker heading, and the added, removed and out-of-stock announcements.
Limitations
Things a merchant reasonably expects that this module does not do today:
- The gift shows its normal price in the drawer. Shopify's cart doesn't know about the discount that zeroes it — that happens at checkout. The badge is what tells the shopper it's free until then.
- The picker has no product photos. Each gift is a button with the variant's name on it. Images are not saved when you choose the gift, so none are shown.
- The teaser doesn't count down. It reads "Unlocks at £50" — it never says how much further the shopper has to go. The Rewards bar is the module that shows progress, and the two work well together.
- One gift module per cart, in practice. You can add a second Free gift module, but only the one highest in your module list is sent to the checkout discount. A second one would add its gift and the shopper would be charged for it. Use one module with several options instead.
- The builder warns about a gift you have already configured. An enabled Free gift module always shows "This gift has no product, so shoppers won't see it" in the Cart builder, even once you have picked one. The warning checks the wrong setting; your saved gift is used regardless. Use Open preview to confirm.
- The threshold is the only condition. You cannot require a particular product to be in the cart, or limit the gift to first-time customers or to one per shopper. A display rule can decide whether the module runs for a shopper at all, but it does not change what earns the gift.
- A shopper's refusal cannot be reset from the admin, as described above.
Settings only reach shoppers when you publish — that step also creates or updates the Shopify discount behind the gift. See Publishing. If the gift isn't appearing on your live store, Troubleshooting covers the usual causes.