Blog / Gift with purchase

Why a free gift gets charged at checkout, and how to stop it

A shopper writes in: "I was charged for the free gift." Here is how to find out why, in the order we would check, and how to stop it from happening again.

Checkout fix

A free gift gets charged at checkout on Shopify when the discount that makes it free stops applying: the cart fell below the minimum, another discount took its place, or the gift in the cart isn't the item the discount targets. Find which one by opening the order, then fix the setup, and add a rule that asks the shopper to remove the gift instead of charging for it.

First, look at the order

Open the order in your Shopify admin and check three things on the gift line:

  1. Which product and variant is it? The real product, a $0 copy, or a different variant from the one in your offer?
  2. Which discounts were applied? The order lists every discount on the order and on each line.
  3. What was the subtotal of everything else? Compare it with your minimum, and remember which items count toward it.

Those three answers point to one of the causes below.

Seven common causes

1. The cart dropped below the minimum

The shopper added the gift, then removed something. With Shopify's native Buy X Get Y discount, the gift stays in the cart and goes back to full price. This is the most common cause, and the hardest for shoppers to spot. The fix is a checkout rule; see Ask, don't charge below.

2. The minimum counts different items than you think

A native Buy X Get Y minimum only counts items from the products or collections you picked. If you picked one collection, a cart full of other products never qualifies. Apps differ too: some count before discounts, some after; most leave out gift cards. Check your offer's settings and write the rule in your offer text.

3. A discount code replaced the gift discount

When two discounts aren't set to combine, Shopify won't apply both. If a shopper enters a code that doesn't combine with the gift discount, the gift can lose its discount. Check Combinations on both discounts.

4. Another app's discount clashed

Two apps that both change prices can override each other. Some vendors warn about this in their help pages; Monk's help, for example, covers how its gift discount and other discounts interact. Turn off the other app's discount on a test store and try again.

5. The wrong variant is in the cart

The discount targets the 50 ml soap; the shopper added the 200 ml one. Only the exact variant in the offer is free. Make the gift's variant clear, or offer each variant as a choice.

6. More than one gift in the cart

If one unit is free, the second is charged. Shoppers who tap "add" twice pay for one.

7. A $0 copy was set up wrong

With apps that copy the gift as a $0 product, the copy's price can be edited by mistake, or the real product added instead of the copy. Check the gift line's product. The trade-offs of copies are in free gifts without $0 product copies.

Ask, don't charge

Causes 2 to 7 are setup fixes. Cause 1 will always happen, because shoppers edit carts. What matters is what checkout does next. There are three options: let the gift through free, charge for it, or ask the shopper to remove it.

Asking is the honest choice. Nobody gets a free gift below the minimum, and nobody gets a charge they didn't expect.

Cart reaches $75

Order summary

Oat Milk Body Wash ×2$64.00
Linen Hand Cream$18.00
Lavender Soap · gift$0.00
Total$82.00
Cart drops below $75

Checkout

Lavender Soap
Gift
$18.00
Your free gift is no longer free. Return to your cart and remove it to continue.
Pay now
Above the minimum the gift is $0.00. Below it, checkout asks the shopper to remove the gift before paying.

Shopify has a way to do this: a cart and checkout validation function, which can stop checkout with a message. Tidebird Gift Lift uses one as its checkout guard. When the cart no longer qualifies for the gift, checkout asks the shopper to remove it. Gift Lift's Home page shows the guard's state under On your storefront.

Gift Lift Home with storefront insights, and an On your storefront card listing Checkout: Gift price protected at checkout
"Gift price protected at checkout" on the Home page means the checkout guard is on. Numbers shown are from a test store.
Tidebird Gift Lift

The real product as the gift, made free by Shopify, with a checkout guard that asks instead of charging. Free right now.

See Gift Lift

Stop it happening again

  • Say in the offer which items count toward the minimum.
  • Set combinations on purpose, and test a cart with your most-used code.
  • Run one app that changes gift prices, not two.
  • Make the gift variant clear, and limit the gift to one per order.
  • Have checkout ask the shopper to remove the gift when the cart no longer qualifies.
  • After any change to the offer, place one test order above and one below the minimum.

For the full setup from scratch, see the complete guide.

Questions merchants ask

Why is my free gift showing full price at checkout?

The discount that makes it free isn't applying. The usual reasons: the cart is below the minimum, another discount replaced it, or the wrong variant is in the cart.

A shopper was charged for the gift. What should I do?

Refund the gift line, then open the order to find the cause and fix it so it doesn't happen again.

Can Shopify block checkout when the gift is no longer free?

Yes, with a cart and checkout validation function. Apps such as Tidebird Gift Lift use one to ask the shopper to remove the gift.

Do discount codes cancel a free gift?

They can, if the two discounts aren't set to combine. Check Combinations on both.

TB
Tidebird Team

Founders & builders at Tidebird. We write about product pages, gift offers and Shopify stores.