OneCode: Stackable Discounts

One Shopify code for a product discount, an order discount, and shipping

With OneCode, one Shopify discount code can take money off products, off the order and off shipping at the same time, each with its own rules.

★★★★★ Rated 5.0 on the Shopify App Store

Product discount

Different products. Different discounts.

20% off Summer and 10% off Accessories, on the same code. Each item gets its best discount.

Order discount

Money off the whole order.

A percentage or a fixed amount off the order, taken after the product discounts. Limit it to certain collections if you need to.

Shipping discount

Free shipping, on the same code.

Free, a percentage off, or money off. Apply it to every rate, the cheapest rate, or rates you name, with its own spend rule if you want one.

A Shopify discount code normally holds one kind of discount: money off products, money off the order, or money off shipping. OneCode: Stackable Discounts lets one code hold all three, so the customer enters a single code and gets every part of the offer. Each discount on the code can have its own rules, and they all apply together whenever their rules are met. The same works for an automatic discount that applies without a code.

One code, one cart, three savings

The code TREAT15 has three parts: 15% off every product, $10 off orders of $100 or more, and free shipping.

A customer buys a $70 shirt and a $50 tote, so the cart is $120:

  • Both items get 15% off. The shirt drops to $59.50 and the tote to $42.50, a saving of $18.
  • The cart is $100 or more, so $10 comes off the $102 that is left.
  • Shipping is free.
  • The customer pays $92.

Checkout with TREAT15 on a $70 shirt and a $50 tote: both items 15% off, a $10 TREAT15 line under the $102 subtotal, free Economy shipping, total $92

At checkout, the code appears next to each discounted item and again on the order discount line, like any other Shopify discount.

A customer with a single $60 shirt on the same code pays $51 and still gets free shipping. They don’t get the $10 off, because their cart is under $100. The $100 rule belongs to the order discount only, so the rest of the code still applies.

How the discounts on one code work together

  • Product discounts come off the items first. A product discount can cover all products, products or variants you pick, or collections you pick, with a percentage or a fixed amount. A fixed amount comes off each item. You can add several product discounts to one code, for example a different percentage for each collection. When more than one fits the same item, the item gets the one that saves the most: a 10% discount and a 20% discount on the same shirt give 20%, not 30%. This is how buy-more-save-more tiers work.
  • Order discounts come off the subtotal after product discounts. An order discount can be a percentage or a fixed amount, and you can limit it to items in chosen collections. If you add several, only the biggest one that qualifies applies. A $250 cart that qualifies for both $10 off and $25 off gets $25 off.
  • Shipping discounts make shipping free, take a percentage off, or take a fixed amount off. They can apply to every rate, to the cheapest paid rate, or only to rates you name, such as Express Shipping.
  • All three kinds apply together. You don’t need to change the Combinations setting for the discounts on one code to work together. Combinations only controls how the code works with your other, separate discounts.

Rules for the whole code, or for one discount in it

Each OneCode discount has two places for rules:

  • Global Conditions apply to the whole code. If any of them isn’t met, nothing on the code applies.
  • Per-Discount Conditions apply to one discount on the code. TREAT15 keeps its $100 rule on the order discount, so smaller carts still get 15% off and free shipping.

Conditions can check the cart subtotal, the number of items in the cart, the shipping country, the customer’s tags or customer segment, and whether a particular product is in the cart. Every condition in a list has to be met.

Cart Subtotal is measured before any discount comes off. A $110 cart still gets TREAT15’s $10 off, even though it is $93.50 after the 15%.

The code SHOWCASE puts its $100 rule under Global Conditions instead, so carts under $100 get nothing from it. It holds 20% off the Summer Collection, $10 off the order, and free shipping on the cheapest rate.

The OneCode editor for the code SHOWCASE: Cart Subtotal of at least $100 under Global Conditions, and three discount types, 20% off the Summer Collection, $10 off the order, and free shipping on the cheapest rate

A $100 shirt from the Summer Collection on SHOWCASE drops to $80. Then $10 comes off the order and shipping is free, so the customer pays $70.

Checkout with SHOWCASE on a $100 shirt: the shirt at $80, a $10 SHOWCASE line, free Economy shipping, total $70

Set it up

These steps build TREAT15:

  1. In OneCode, click Create discount. Under Discount Method, choose Discount code and enter TREAT15. If nobody should have to type a code, choose Automatic discount and enter a Title instead.
  2. Click Add Discount Type. It starts as a Product Discount on All Products. Enter 15 in Percentage.
  3. Click Add Discount Type again. Set Discount Type to Order Discount and Value Type to Fixed Amount, then enter 10 in Amount.
  4. In that order discount, under Per-Discount Conditions, click Add Condition. Set Field to Cart Subtotal, Operator to Greater than or equal to and Value to 100.
  5. Click Add Discount Type a third time. Set Discount Type to Shipping Discount and keep Free Shipping.
  6. If the offer has a deadline, set an end date under Active dates. For a code, you can also limit the total number of uses, or allow one use per customer, under Maximum discount uses.
  7. Click Save discount.

You can’t switch a saved discount between code and automatic, so choose the method before you save. Once a code is saved, the Bulk Discount Codes card can create up to 10,000 unique codes at a time that share the same rules. See bulk discount codes.

With your other discounts

The Combinations card decides whether the code can be used alongside your other discounts, such as a Shopify sale or another app’s code. Shopify combines two discounts only when both allow it. A OneCode code counts as every kind of discount it contains, so the other discount has to allow each of those kinds.

Shopify’s own rules still apply between separate discounts: each item gets one product discount, and only one shipping discount applies per order. To give a creator code an extra 10% on top of a 20% sitewide sale, make the creator code an order discount. A $100 item drops to $80 in the sale, then 10% off the order takes another $8. See an influencer code that works during a sale. On Shopify Plus, two separate product discounts can also stack on the same item with tags. If a customer reports that only one discount applied, see why only one discount applied.

Offers merchants build on one code

Price

The discounts run inside Shopify checkout, so you don’t need to keep OneCode open. They keep working until you uninstall the app. OneCode costs $9.90 USD every 30 days after a 7-day free trial, billed by Shopify, and every feature is included. Install it from the Shopify App Store.

★★★★★
Love this app! It feels like a smart fix to a long-standing Shopify headache. It removes the usual discount code limitations and gives us a far cleaner way to run promotions across products, orders, and shipping with one code. That makes it much easier to move slow or problem stock without building messy workarounds or confusing customers. …
Fjällräven ANZ Australia · Shopify App Store review All reviews

One code. The whole offer.

7-day free trial, then $9.90 USD every 30 days.

Built for Shopify · Rated 5.0 on the Shopify App Store