Skip to main content

Documentation Index

Fetch the complete documentation index at: https://discountkit.app/llms.txt

Use this file to discover all available pages before exploring further.

By default, Shopify allows one discount per class at checkout: one product discount, one order discount, and one shipping discount. Stacking lets multiple discounts apply to the same cart in two dimensions:
  • Across classes — combine a product discount with an order discount, a shipping discount, or all three.
  • On the same cart line — apply two product discounts to the same line item (e.g. seasonal sale + loyalty perk).
Both dimensions are configured in the Combinations card on the discount editor.

Discount classes

Every discount belongs to one or more classes:
ClassWhat it discounts
ProductSpecific cart line items (e.g. 20% off T-shirts)
OrderThe whole order subtotal (e.g. 10offanyorderover10 off any order over 100)
ShippingShipping rates (e.g. free shipping on orders over $75)
A discount of class X can combine with discounts of any class — including its own — except shipping. Two shipping discounts can never apply to the same shipment.

Combining across classes

In the Combinations card, check the classes this discount should combine with. The other discount also has to opt in: combining is only allowed when both discounts list each other’s class.
Combinations are mutual. If you add a 20% off Order discount and a Free Shipping discount, both must check the other’s class for them to apply together.

Combining on the same cart line

This feature is only available on Shopify Plus plans.
By default, only one product discount applies to any given cart line. If a customer has both “20% off T-shirts” and “Buy 2, get 1 free” eligible for the same shirt, only the better-value discount wins. To stack two product discounts on the same line, both discounts must:
  1. Be tagged with one or more shared tag (e.g. SEASONAL).
  2. Opt in to combining on that tag in the Combinations card.
When this discount and another product discount share a tag in their cart-line lists, both apply to the same line.

Example — seasonal sale + loyalty bonus

You’re running a seasonal 15% off sale on outerwear and want to layer a 5% loyalty bonus on top for VIP customers.
DiscountTagsCart-line combines with
Seasonal sale (15% off jackets)SEASONAL, LOYALTYLOYALTY
VIP loyalty bonus (5% off everything for VIPs)LOYALTYSEASONAL
Both discounts list LOYALTY (or SEASONAL) on the other’s tags, so they stack. A VIP customer who buys a jacket gets 15% + 5% on the same line.

How tags work in cart-line stacking

  • Tags are set on the discount itself (in the Tags card in the editor).
  • The cart-line list in Combinations says “I’ll stack on a line with another product discount that has any of these tags.”
  • The match is bidirectional — both discounts must list a tag the other has.
  • Up to 5 tags per cart-line list.

Stacking and Discount Kit Live

Discount Kit Live writes scalar metafields like max_reward_percent that reflect the best individual discount for a product. Stacked discounts are not pre-computed in Live’s metafields — the actual stacked total only resolves at checkout. If your storefront badging or pricing copy depends on the post-stack total, render it from the cart object at runtime rather than from the product-level Live metafields.