Discount Matching is set up under Settings → Returns → Discount Matching, separately for each market.
Discount Matching is for you who sell with discount codes, campaigns or sale prices. It carries the price your customer paid over to the exchange, so a size swap on a discounted item isn't more expensive than the original.
If your customer paid 400 for a 500 shirt with 20% off and wants another size, the new size would normally cost 100 more. With Discount Matching, it is swapped for free.
How it works
Three settings cover the different ways a customer can get a lower price.
Setting | Use it when your customer |
Cover Price Differences | Bought at a lower price than today's |
Match Product Discounts | Got a discount on the product |
Match Order Discounts | Used a code on the whole order |
You can have all three on at once. If more than one applies to the same exchange, we apply Match Order Discounts first, then Match Product Discounts, and Cover Price Differences last.
Only the discounts on the original order count. Your customer can't enter a new discount code when they exchange.
How others use Discount Matching
Cover Price Differences, Match Product Discounts and Match Order Discounts are typically all turned on, so a customer keeps their price when they swap a size.
Be careful with Cover Price Differences if your variants have different prices on purpose. If a 1 kg bag costs less than a 2 kg bag, your customer can swap up to the bigger bag for free.
Cover Price Differences
Cover Price Differences is for products that have gone up in price since your customer bought them. This means that your customer exchanges at the price they paid, not at today's price.
Imagine your customer bought a jacket for 500 during a sale, and it's back at 800 when they want another size. With Cover Price Differences on, the jacket is swapped for free. Without it, your customer pays the 300 difference.
Choose Include product groups if this should also apply when your customer swaps to another product in the same group. See how you set up product groups below.
The setting only covers prices that went up, and it can't be set for single variants. If XL costs more than S on purpose, your customer can swap from S to XL for free. In that case, give each size its own product group, or leave the setting off.
Match Product Discounts
Match Product Discounts is for discounts on a product, such as a percent or amount off, a product discount code or an automatic discount. The discount follows even if the exchange wouldn't meet the conditions today. If a code only worked on orders over 500, your customer still keeps the discount on the exchange.
Under Match Product Discounts, you also choose which products the discount can follow to.
Option | The discount follows to |
Parent Product Only | Other sizes and variants of the same product (same product ID, different variant ID) |
Include product groups | Other products in the same product group |
All Products | Any product |
Imagine an order where a ring costs 500, and your customer paid 400 with 20% off. They want to exchange it for another ring that also costs 500. If the two rings are in the same product group and you chose Include product groups, the ring is swapped for free. With Parent Product Only, your customer pays 100, as the other ring is a different product.
The discount is adjusted in proportion to the new price, so a cheaper item carries over a smaller amount.
With All Products, a discount also follows when your customer swaps a sale item for a full price item, so you can't charge the difference.
Match Order Discounts
Match Order Discounts is for discounts on the whole order, such as a 10% code at checkout or an automatic order discount. The discount is split across the items by their value, and only the share that belongs to the returned item follows to the exchange.
Imagine an order of 600 with a 10% code, so your customer paid 540. They exchange a T-shirt that cost 300, which is half the order. Half the discount, 30, follows the T-shirt, so they get 30 off the new one.
Match Order Discounts works without product groups, as the discount is order-based and not product-based. If your customer exchanges the same item a second time, Match Product Discounts must be on as well, because an order discount becomes a product discount after the first exchange.
Buy X Get Y Handling
Buy X Get Y Handling is for Shopify's Buy X Get Y discounts, such as 2 for 1 or 3 for 2, where your customer pays for some items and gets another free or at a discount. A customer can return one of the paid items and keep the free one, and Buy X Get Y Handling decides what happens then.
Imagine your customer buys 3 for 2. They pay 300 for shirt A and 300 for shirt B, and get a 200 shirt for free, so the order costs 600. Your customer then returns shirt A. They no longer qualify for the offer, but they still have the free shirt.
Option | What happens in the example |
Do nothing | Your customer gets 300 back and keeps the free shirt |
Deduct value of GY-products | Your customer gets 100 back, as the 200 for the free shirt is deducted |
Block Partial Returns of BXGY-products | Your customer has to return all three shirts together |
"GY" stands for the Get Y product, which is the free or discounted item in the offer. Shopify decides which item is free, usually the cheapest one, and your customer can't see that in the checkout.
With Deduct value of GY-products, we deduct the full price of the free item, as it was when your customer ordered. If the items your customer keeps still qualify for the offer, nothing is deducted. A 3 for 2 needs 3 items, so your customer must keep 3 items for each free item, and the free item counts as one of the 3.
Imagine your customer buys six shirts on 3 for 2, so two are free. They return one paid shirt and keep five. Five shirts only qualify for one free shirt, not two, so we deduct one. If the free shirts have different discounts, we deduct the biggest one.
With Block Partial Returns of BXGY-products, your customer has to return all items in the offer together. If they select only some of them in the portal, we ask them to add the rest before they can continue.
If you choose Deduct value of GY-products, you also choose where the deduction applies. Apply deduction to all return actions deducts on refunds, exchanges and gift cards. Apply deduction to refunds only deducts when your customer takes a refund. A gift card or an exchange to a matching product isn't deducted.
The deduction shows as a Discount Adjustment in the return subtotal, so you and your customer can see it.
Buy X Get Y Handling applies to all your Shopify Buy X Get Y discounts and can't be set for a single offer. It doesn't work on plain percent or amount discounts with a minimum number of items, even if they look like a 3 for 2 to your customer. If you want to use it, the discount must be set up as Buy X Get Y in Shopify.
How others use Buy X Get Y Handling
Shops that run Buy X Get Y offers typically have Deduct value of GY-products turned on, so a customer can't keep the free item and get all their money back.
Order Gift Handling
If you give a free gift above a certain order value, your customer can return most of the order and still keep the gift. Order Gift Handling deducts the gift when what is left after the return is below your limit, even if the order never reached it. So remember to set the limit to match your offer.
Under Order Gift Handling, select Add Rule.
Select the gift product.
Set Minimum Order Total to the limit of your offer. The currency follows the market.
Exchanges and gift cards count toward the limit, because the money stays in your shop. A refund doesn't count.
Imagine you give a 300 gift on orders over 1,000, and your customer orders for 1,200. They return all the paid items and keep the gift. If they take a refund, nothing counts toward the limit, so we deduct the 300. If they take a gift card for the full amount, the full 1,200 counts, so we deduct nothing.
If your customer also returns the gift, nothing is deducted, and a gift that has already been paid for isn't deducted again. If you want your customer to send the gift back with the main product, use Force Return in Product Rules. That only works when the gift is a physical product on the Shopify order.
Product Grouping
If each color is its own product in Shopify, a product discount only follows between them if you group them or choose All Products. You group products with a metafield, which is a custom field on the product in Shopify. Products with the same value in that field form a group.
Create the metafield on your products in Shopify. A common choice is the namespace
customand a key of your own, for examplecustom.returnflows.Enter the namespace and key under Metafield Namespace and Metafield Key, exactly as Shopify shows them.
Choose Include product groups on each setting that should use the groups.
If you already have a metafield or metaobject that groups your products, for example a family or sibling field, you can use that instead of creating a new one.
The metafield does nothing until you complete step 3. A product can only be in one group, and the value must be the same across the products in it. Enter the namespace and key in every market that should match. A product without a value still keeps its discount when your customer swaps to another size of the same product.
Updating a return
New settings only apply to new returns. To apply them to an open return, open the return, choose Edit, change the label fee to any other amount, turn off the notification to your customer, and save. We then recalculate the return with your current settings. Then edit the label fee back to the original amount, again without notifying your customer. A closed return can't be recalculated.
A Discount Adjustment is the line on the return that shows a deducted amount. You can't change the amount. Learn more in Edit Return.
If your customer is charged on a swap
Often, the order belongs to a different market than the one you changed. We pick the market from the delivery address on the order, not from the language your customer chose in the portal, and each market has its own settings.
If your customer tried to use a discount code during the exchange, that isn't possible. Only the discounts on the original order count.
If your customer swapped to a different product, the discount only follows when the products are in the same product group, or you chose All Products.
If you changed a setting after the return was created, the return still uses the old settings until you edit it, as described above.
If this is your customer's second exchange on the same order, Match Product Discounts must be on, as the order discount became a product discount after the first exchange.
Good to know
Quantity discounts, such as 15% off when you buy three, aren't recalculated when your customer returns part of the order.
A free gift that is priced at 0 in Shopify, instead of discounted to 0, can't be matched, as there is no discount to carry over.
On orders in another currency than your shop's, a difference of a few cents can occur.
How a price difference is paid, and what happens with bundles, is covered in Exchanges.
