Hype Upsell

How Shopify discounts work

Updated Sep 10, 20263 min read

Every discount on your store is described by two things: a method — how it is triggered — and a type — what it takes off. A third property, the class, decides where the money comes off and which other discounts it can stack with. Almost every "why did this happen?" question about discounting is answered by one of those three.

The two methods

MethodHow it is triggered
Automatic discount"Automatically applied in the cart and at checkout when eligibility conditions are met."
Discount codeThe customer enters a specific code at checkout.

Source: Discount methods.

Shopify names the trade-off itself: automatic discounts can lift conversion, but customers may not notice they got one, or may get more than you intended. Codes create urgency and exclusivity, but a code the customer forgets is a cause of cart abandonment.

The four types

Each type is available as either method (Discount types):

  1. Amount off products — a percentage or a fixed amount off selected products or collections.
  2. Amount off order — a percentage or a fixed amount off the order.
  3. Buy X get Y — a reward of free products, a percentage off, or an amount off.
  4. Free shipping — applied to shipping rates.

The three classes

The class is what Shopify uses "to control how discounts can be combined" (DiscountClass).

ClassWhat it touches
PRODUCTSpecific products and cart lines
ORDERThe whole cart subtotal
SHIPPINGShipping rates

You never pick a class directly. It follows from the type you chose, and for an app discount it follows from what the app's function targets.

Where app discounts fit

Apps get a fifth way in: discounts powered by Shopify Functions, which Shopify runs in real time as buyers add products to their cart. A function can do things the four native types cannot — tiered rates, or one discount that reduces the order total and the delivery cost at once. "A single function processes one discount (either code-based or automatic), but can apply savings across three discount classes: product, order, and shipping" (Discount Function API).

In the admin Discounts list, an app-created discount carries an app badge and tooltip, and one that covers more than one class carries a numbered discount icon you can hover to see which classes it includes (Discounts with apps).

A Hype Upsell campaign is exactly this: a Shopify Function discount, which is why it shows up in Discounts as an automatic discount with an app badge rather than as something you edit in Shopify's own discount editor. In Hype Upsell, the discount belongs to the offer and is edited on the offer itself.

The order discounts are applied in

Shopify applies discounts in a fixed order (Discount combinations):

  1. Product discounts apply first, to individual items.
  2. Order discounts apply to the revised subtotal, after product discounts.
  3. Shipping discounts apply last.

If your store still uses Shopify Scripts, those run before all of this: "Automatic discounts are applied after Shopify Scripts," and are calculated on the prices left after the script, not the original product prices (Automatic discounts).

How the amount is split and taxed

  • An order-level amount-off discount is split proportionally across the items in the cart. Shopify's own example: a $50 discount over a $50 item and a $100 item comes off as $16.50 and $33.50 (Percentage or fixed amount).
  • The order value cannot go below $0.
  • Amount-off discounts don't touch shipping costs. Shipping is reduced only by a shipping discount.
  • Taxes are calculated after the discount. "Discounts are applied to the subtotal of the order before taxes" (Discounts), so tax is charged on the discounted amount.

On the finished order, each discount shows as a discount application against the lines or the order it reduced.

Related articles

Still need help?

Start a chat and we'll pick it up right here.