Stop Free Gift Abuse and Stock Run-Outs

Stop free gift abuse on Shopify: cheap qualifiers, returns that keep the gift, repeat accounts, and gift stock that runs out mid-offer. Guardrails for each one.

A free gift with purchase is a promise that your store keeps for anyone who meets a condition. The condition is the only thing standing between a planned giveaway and an unplanned one. Free gift abuse is what happens when shoppers meet the letter of that condition without the behavior you were paying for: they add the cheapest item that clears the line, return what they paid for and keep what they were given, open a second account, or arrive after the gift has sold out and find the offer still live. None of these needs a bad actor. Most of them are ordinary shopper behavior meeting an offer that was never tested against it.

This post covers four patterns, what each one looks like in your order export, and the guardrail that closes it. It does not repeat the per-customer limit checklist from Limiting BOGO Offers Per Customer or the threshold-setting method in Free Gift Threshold: Set the Spend Level. It adds the parts those pages leave out: the cheap qualifier, the returned order, and a reorder point for the gift itself.

Four abuse patterns and how each shows up in orders

PatternWhat happensWhere it shows in an export
Cheap qualifierA low-margin item is added only to clear the spend lineA cluster of orders just above the threshold, each holding one very cheap line
Returned order, kept giftThe paid items go back, the gift staysRefunded orders whose line items include the gift, with no gift return
Repeat accountsOne person claims the gift again under a new email or phone numberDifferent customer records with the same shipping address or name
Gift run-outThe gift sells out while the offer is still advertisedOrders with a gift line marked unfulfilled, or support tickets asking where the gift is

Pull your last 90 days of orders into a spreadsheet first (the export steps are in the threshold post linked above) and check these four patterns against real data before you write any rule. A rule that closes a pattern you do not have just makes the offer harder to read.

Pattern 1: the cheap qualifier

The threshold is a spend line, and shoppers can reach it with anything. If your cheapest product is a low-margin accessory, a shopper at 62 dollars on a 75 dollar offer has a rational move: add that accessory. This is not abuse in the moral sense. It is the offer working as written, and the only question is whether you can afford what it does.

Here is the arithmetic, with invented numbers. Assume a gift with a landed cost of 9 dollars and a cheapest qualifying accessory that sells for 14 dollars with a 4 dollar gross margin. A shopper who adds only that accessory to reach the line gives you 4 dollars of margin on the add-on and costs you 9 dollars for the gift, a net loss of 5 dollars on that increment, before shipping. The extra order value you were paying for did not arrive as margin.

Two guardrails fix this, and neither needs a new tool:

  • Raise the line, not the gift. If your export shows many orders landing within a few dollars above the threshold, the line sits where shoppers can reach it cheaply. Move it toward your typical full-margin cart.
  • Qualify on the right subtotal. Shopify's Help Center says that for a Buy X get Y discount, products count toward the minimum purchase amount at their full price, before any other discount is applied, and that an item already carrying another product discount does not count toward the minimum at all. For a free shipping discount, the same Help Center says products count at their discounted price. Two discount types, two opposite rules. Whatever you build, decide whether the gift line is reached before or after discounts and test it: put a 20 percent code on a cart that sits just above the line and see whether the gift still appears. The wrong answer either hands out gifts on discounted carts you did not intend to reward, or withholds them from shoppers who spent the money.

Exclude the gift itself from the subtotal, which is the most common way a gift ends up qualifying for itself. If you also sell gift cards, check whether a gift card line counts toward the line in your setup, since a gift card is not margin. Shopify's free shipping page says gift cards customers buy count toward that discount's minimum; the Buy X get Y page does not say, so run that test in your own store.

Pattern 2: the return that keeps the gift

When a shopper returns the paid items, you refund the money. The gift was never paid for, so there is nothing to refund, and it simply stays with the shopper unless your policy says otherwise. On a 75 dollar order with a 9 dollar gift, the cost of that behavior is the gift plus the original shipping, and it adds up in a month when returns run high.

What Shopify documents here is limited, so it is worth being exact about it. The Help Center page on refunding orders says you can manually edit the refund amount, for example to deduct a restocking fee, and that the Restock items option is selected by default for items whose inventory you track. It does not describe free lines, and it does not say what happens to a gift when the paid item is refunded. So the control is yours, and it has two parts:

  1. State the condition in the offer. The FTC's guide on the word "free" says all the terms, conditions and obligations on which receiving and keeping the free item depend should be set forth clearly and conspicuously at the outset of the offer, so as to leave no reasonable probability that the terms might be misunderstood. "Free gift when you spend 75 dollars. If you return items so your order falls below 75 dollars, the gift must be returned or its value deducted from your refund" belongs on the product page, the cart, and your returns page, not in a footnote. This is not legal advice.
  2. Use the manual refund field when the policy applies. If the order falls below the line after a return, edit the refund amount to deduct the gift's retail value, the way you would for a restocking fee. Keep a note on the order so support and the customer see the same math.

Do not make the policy harsher than your margin needs. A gift costing 9 dollars on a 120 dollar order that sheds one 10 dollar item still clears a 75 dollar line, so the rule triggers only when the order drops under the line. Say that, and most returns never touch it.

Pattern 3: repeat accounts

Shopify's Buy X get Y page says its one-per-customer option for a discount code limits a customer's email address or phone number to one use of the code. That is a precise statement, and it points to the gap: a new email is a new customer as far as that limit is concerned. Per-customer limits slow down honest repeat claims and add friction to dishonest ones, but they do not identify a person.

In your export, look for the same shipping name and address across different customer records, or the same card billing details on several first orders in a short window. If you see it, the cheapest response is usually a cap on total gift units, covered next, because a hard stop on the number of gifts bounds the loss without accusing anyone. For the full set of limit types and how they differ, the BOGO limits post lays them out, and the principle carries over to gifts unchanged. If your gift is "the cheapest item in the cart is free" rather than a fixed product, the related gaming pattern of padding a cart with one low-priced item is covered in Cheapest Item Free: Setup and Pitfalls.

Pattern 4: the gift that runs out

This is the one that costs the most goodwill, because the shopper did nothing wrong. Shopify's Buy X get Y page says that if the inventory of the free products drops to zero, they display as sold out. That is the offer ending on its own. What decides whether it ends cleanly is the inventory policy on the gift product.

Shopify's developer documentation defines the two values of a variant's inventory policy. CONTINUE means customers can buy the variant after it is out of stock; DENY means they cannot. For a product sold on its own, CONTINUE is a pre-order decision. For a gift, it is a promise you cannot keep: if the policy lets the gift go negative, orders keep qualifying for a gift you do not have. Track inventory on the gift SKU and keep "continue selling when out of stock" off.

Then set a reorder point from expected use, not from the stock on the shelf. A worked example with invented numbers:

InputAssumption
Orders per day40
Share of orders reaching the gift line25 percent
Gift units per day10
Supplier lead time14 days
Safety cushion3 days of use

Reorder point = gift units per day x (lead time + cushion) = 10 x (14 + 3) = 170 units. When on-hand units reach 170, place the order. Now run a sale that doubles traffic and lifts the share reaching the line to 35 percent: that is 28 units a day, and 170 units last about six days, well short of the 17 days you need to restock. Recompute the reorder point whenever you change the line, the traffic plan, or the calendar. A reorder point written for an ordinary Tuesday is the one that fails in November. For the cost side of the same offer, Free Gift Margin Math: Cost of the Offer shows how to price the gift units you are willing to give away, and, where the discount type you use offers a total-use limit, setting it equal to your gift stock gives the offer a built-in end. If shoppers can choose among several gifts, Choose-Your-Gift Offers Without Losing Margin covers stock rules per option.

A checklist before the offer goes live

  • The spend line sits above your cheapest cart that earns full margin, and the subtotal rule (before or after discounts) is chosen and tested.
  • The gift is excluded from its own qualifying subtotal.
  • The return condition is in the offer text, the cart and the returns page.
  • Inventory is tracked on the gift SKU, and continue selling when out of stock is off.
  • A reorder point exists, computed from expected daily use and lead time.
  • You have a date or a total-use cap that ends the offer even if stock remains.
  • You know where to look in the first week: refunded orders with a gift line, orders just above the line, and gift units left.

Build the spend-and-get gift with these rules

The Spend X, get a gift template in Freebies Engine by Log Studio Lab is described as "Shoppers who reach a cart value get a gift added automatically," with the example "Spend $75, get a free tote." Set the spend line from the checklist above, choose a gift you can restock, and write the return condition into the offer text. Plan requirements are on the pricing page.

This is not legal advice. Check your own return and promotion terms with a qualified adviser.

Sources

Build this offer from the “Spend X, get a gift” template.