Loop and Shopify Discounts


Discounts are a great marketing tool in e-commerce, and are easy to implement in Shopify. We strive to make them easy to use in Loop as well. This article will cover how Loop handles discounts of all varieties, including:

  • Percentage and Fixed Amount Discounts
  • Buy X, Get Y Discount Codes
  • Automatic Discounts
  • Free Shipping Discount Codes
  • Compare At "Discounts"
  • Loop Shop Now: On Store and Shopify discount scripts
  • Manual Refunds in Shopify

Note on Pre-Discount Credit and Different Priced Exchanges

Loop has two features that impact how customers can exchange products that have either been discounted, or whose price has been changed: Pre-Discount Credit, and Different Priced Exchanges. We recommend reviewing both of these articles and being familiar with both features when working with discounts. Being familiar with these will be key to understanding how discounts will impact Loop, and how to handle those changes.

Note: Both of these features are disabled by default. Please reach out to your Onboarding Manager or support@loopreturns.com if you would like them turned on.

Percentage and Fixed Amount Discounts

Percentage and fixed amount discounts can be configured in your Shopify settings in two ways:

  1. Automatic discounts that will automatically apply at check out any time a customer meets certain criteria set by you when configuring the discount.
  2. Discount codes that a customer can apply to their purchase when checking out. These may also have conditions the customer needs to meet to be successfully applied.

Both of these discounts can be applied to:

  • Entire orders
  • Products in specific collections
  • Specific products

How these discounts are applied to orders will impact how Loop treats them:

When a percentage or fixed amount discount is applied to an entire order, Loop will divide the discounted amount equally among all the products in the order when, a customer seeks to return those products.


Customer buys:

  • T-shirt ($30)
  • Pants ($60)
  • Socks ($10)
  • Total of $100
  • After 20% discount on entire order, total is $80

Customer attempts to return items, refund value for each item will be:

  • T-shirt: $24
  • Pants: $48
  • Socks: $8

When a percentage or fixed amount discount is applied to specific products in an order, Loop sees those discounts as applied to specific line items in the order. This happens whether the discount applies to specific products or just products in certain collections. As long as it is not applied to the order as a whole, Loop will be able to show the discounts as applied to specific items in the order.


Customer buys:
  • T-shirt (originally $30, but currently discounted 20% - $24 at checkout)
  • Pants ($60)
  • Socks ($10)
  • For a total of ($94)

Customer attempts to return items, refund value for each item will be:

  • T-shirt: $24
  • Pants: $60
  • Socks: $10

Buy X, Get Y Discount Codes

Buy X, Get Y discounts can be applied in two ways:

  1. Across products in a collection
  2. To specific products

Buy X, Get Y Discounts by Collection

This discount is created by identifying a collection to link to the discount. The customer purchases a certain amount of products from that collection, or a certain dollar value worth of products from that collection, as set by the merchant.  We consider this the X product in Buy X, Get Y discounts. Then, once the initial criteria is met, the customer gets a discount on some other product, defined by either a specific product or being in a specific collection.

Loop considers these collections based discounts as follows:

  • If only the X & Y products exist on the order, the discount will be spread evenly between them.
  • If other products exist on the order not originally associated with the Buy X, Get Y discount, the discount will be spread across all products on the order regardless.  This includes even items on the order that are not in the collections associated with the Buy X condition, or the Get Y outcome.


Customer buys:
  • T-shirt from a collection of shirts ($70)
  • Free hat from a collection of hats ($20, reduced to $0)
  • Socks ($10)
Customer attempts to return items, refund value for each item will be:
  • T-shirt: $56
  • Hat: $16
  • Socks: $8

Buy X Get Y Discounts by Specific Products

Instead of the discount applying across a range of products in certain collections as highlighted in the above version of Buy X, Get Y, this version of the discount applies only to two specific products - one that fulfills the Buy X condition, and the other being the resulting Get X outcome.  Since these are specific products, Loop can treat these more specifically as well.

The discount will be distributed between the discounted product and the original product that are a part of the Buy X, Get Y discount. This means that if other, non-discounted products are on the order, the discount will only be applied across the items associated with the Buy X, Get Y discount - other items in the order will show as full price.


Customer buys:
  • A specific T-shirt as specified in the discount by product ID ($70)
  • A specific hat, as specified in the discount by product ID ($20, reduced to $0)
  • Socks ($10)
Customer attempts to return items, refund value for each item will be:
  • T-shirt: $60
  • Hat: $10
  • Socks: $10

Automatic Discounts

How automatic discounts are applied varies according to the type of automatic discount. If the automatic discount was applied at the order level, then the discount amount is distributed proportionally across all products on the order. If the automatic discount was applied only to specific line items on the order, then the discount is spread proportionally just across the specific line items. For BX,GY automatic discounts, the value of the free item is distributed across the other products that were part of the promotion. 

For scenarios in which Loop cannot identify products that were eligible for a promotion, discount amounts will be distributed across the entire order.

To learn more about Automatic Discounts, please review the Shopify Help Center article on this topic.

Free Shipping Discount Codes

These codes don't apply to a line item in an order and they have no impact on actual product pricing, therefore, Loop ignores these codes.

Note: If your return policy settings include a handling fee, any customer requesting a refund will have that handling fee subtracted from their total refund. This includes customers that received free shipping on their initial order.

Compare At "Discounts"

While Shopify considers adding a Compare At price to be a discount, these don't actually apply any discounts to products or orders. This can potentially cause issues with merchants that leverage this setting as a discount.

Consider a product that retails at $250, and the merchant leverages the Compare At feature in Shopify to bring that price down to $198. This is considered a price change, not a discount.


A customer purchases this watch at the Compare At price of $198, and the merchant changes the product's price back to $250 shortly after. If the customer then goes through the returns process, Loop will see the value of their return as $198.  This means a few things:

  • If they choose to request a variant exchange (ex: a different size), they will not be able to do so unless the Different Priced Exchanges feature is enabled. This feature is disabled by default.
  • If they go through the Shop Now process, they will have $198 in credit to work with, not the new $250. Shopify and Loop do not view this as a discount.

On-Store and Shopify script discounts 

Loop’s On Store experience can leverage merchant’s existing Shopify scripts to determine proper discounts for customers’ Shop Now: On Store orders. To learn more about On Store setup, click here

How it works:

  1. Customer uses Loop on-store experience to add items to their cart
  2. On-store JS sends Shopify `cart` object to new Loop core API endpoint
    1. Cart includes products and discounts to be applied
  3. Loop core interprets new cart prices & translates them to discounts in our system

Setup instructions:

To support On Store + Discount Scripts, add full: true to your init() call after the attach line.

Existing Limitations:

  • Discount must be applied at Order Level

Manual Refunds in Shopify

Merchants sometimes provide partial refunds on orders in Shopify, for a variety of reasons. Depending on the timing of these refunds, Loop may consider them a discount.

If a refund is issued before the customer looks up their order in Loop: 

  • Loop will automatically pull that data and discount the whole order accordingly. 
    • In the case of a customer requesting a refund on the rest of the amount, for example, the customer will see their whole order discounted in Loop, and the amount left on the order in Shopify will be refunded when the order is processed.
  • Keep mind that if you are not currently using the Pre-Discount Credit feature, the customer will only get the post refund value of the order to use in Shop Now.
  • In-line exchanges will still work like any normal return.

If a refund is issued through Shopify after a customer looks up their order in Loop:

  • Loop will not be able to populate the discount
    • This won't impact the customer's experience, but it will bring up an insufficient funds error when the order is processed.
    • Learn more about the insufficient funds error in the Needs Review State section of Managing Returns.

If you have any other questions about discounts and how they will appear in Loop, please reach out to us at support@loopreturns.com.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.