How much of a discount should a store claw back when a customer returns part of a promo order?
Spend-threshold codes, buy-one-get-one deals, and bundle pricing all break in interesting ways when half the order comes back. A practical guide to fair refund math.

Know how Shopify allocates the discount before you touch the refund
When an order-level discount is applied, Shopify spreads it across the line items in proportion to their price, and each line carries its share of the discount. Refund a single item and the default refund amount is that item's discounted price, not its list price. This is the right starting point and it handles the simple case well: a customer with 20 percent off everything returns one item and gets 80 percent of its price back. Nobody is out anything, and no manual adjustment is needed. Related: Balancing Generosity and Protection
The trouble starts with conditional promotions. A spend-a-hundred-get-twenty-off code, a buy-one-get-one offer, a free gift with purchase, or a bundle price all depend on the whole cart being present. Return part of the cart and the condition that earned the discount may no longer be true, yet the kept items still carry it. The default refund math does not know this. It will happily refund the returned item at its discounted price and leave the customer with the remaining items at a discount they no longer qualified for. Whether you correct that is a policy decision, and it should be a deliberate one. Related: Spotting a Leaked Discount Code
Keep reading: How Coupon Abuse Eats Your Margin, Spotting a Leaked Discount Code, Coupon Stacking and How to Prevent It. See how CouponFence helps you discount and coupon abuse guard for shopify stores.
Work through the three common cases
Threshold discount. Imagine a customer spent 120, got 20 off for crossing 100, and returns a 50 item. Kept value is 70, below the threshold. The proportional refund on the 50 item would be about 41.67 (50 minus its share of the 20). If you enforce the threshold, you instead refund 30: the 50 item minus the full 20 discount that the kept items no longer earned. Both are defensible. The first is more generous; the second matches what the customer would have paid had they bought only the kept items in the first place. Related: Why does a first-order discount attract so many fake new customer accounts?
Buy-one-get-one. A customer buys two items at 40 each, the second free, and returns the paid one. If you refund the full 40, they keep a free item for nothing. The fair refund is zero on the paid item unless they also return the free one, or equivalently you refund 40 and expect both back. Free gift with purchase is the same shape: if the qualifying items come back, the gift should come back too or its value comes off the refund. Bundles are simpler if you treat the bundle as one unit: a partial return of a bundle is refunded at the difference between the bundle price and the regular price of what was kept, which can be small or even nothing.
Write the policy so customers see it before they buy
Whichever math you choose, put it in your returns policy and on the promotion's terms in plain words. Something like: if a return reduces your order below the minimum for a promotion, the promotion amount is deducted from the refund; free or discounted items must be returned with the qualifying item, or their value is deducted. Customers rarely read policies before buying, but they read them before disputing a refund, and a clear line is the difference between a resolved ticket and a chargeback you lose. Link the policy from the order confirmation and the returns portal.
Train your support team on the cases above with real numbers so they apply the rule consistently. Inconsistency is what customers complain about most. If one agent refunds the full amount and another deducts the promotion, you will hear about it on social media. Give agents a small discretionary allowance to waive the deduction for good customers or genuine product problems, and log those waivers so you can see if they are being used as a default.
Decide when generosity is the better business call
Clawing back a promotion on a partial return is fair, but it is not always worth the friction. For low-value orders, first-time customers, or returns caused by a defect or a shipping error, refunding the proportional amount and moving on preserves goodwill that is worth more than the difference. Many merchants set an amount threshold below which they never adjust for lost promotion eligibility. Above it, or for repeat cases, they apply the policy.
The repeat cases are the reason the policy exists. A small number of customers learn that buying a bundle, keeping the best item, and returning the rest yields the best item at a deep effective discount. Watch for accounts whose returns consistently leave them with the highest-value item from a promotion. Those are the orders where you enforce the math, and where your published policy protects you when they push back. Related: Repeat Abuse by the Same Accounts
- Shopify's default refund gives back the item's discounted price, which is right for flat discounts but not for conditional ones.
- For threshold, buy-one-get-one, and bundle promotions, deduct the promotion value the kept items no longer earn, or require the free item back.
- Publish the rule in plain words on the returns page and the promotion terms so a deduction never surprises anyone.
- Waive the deduction for small orders and genuine problems, and enforce it for accounts that repeatedly keep the best item.
Stop discount codes from eating your margin
Discount and coupon abuse guard for Shopify stores. CouponFence is built to help you put this into practice.
Protect my promosMore from the CouponFence blog

How Coupon Abuse Eats Your Margin

Spotting a Leaked Discount Code

Coupon Stacking and How to Prevent It
Get the CouponFence playbook
Practical guides on promo protection, straight to your inbox as we publish them. No spam, unsubscribe any time.
