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

A Shopify discount code normally holds one kind of discount: money off products, money off the order, or money off shipping. [OneCode: Stackable Discounts](https://apps.shopify.com/rm-combo-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](/images/checkout-treat120.png)

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](/images/editor-three-parts.png)

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](/images/checkout-showcase100.png)

## 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](/guides/bulk-discount-codes.md).

## 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](/guides/influencer-code-during-a-sale.md). On Shopify Plus, two separate product discounts can also [stack on the same item with tags](/for/shopify-plus.md). If a customer reports that only one discount applied, see [why only one discount applied](/guides/only-one-discount-applied.md).

## Offers merchants build on one code

- [20% off and free shipping on one code](/guides/20-percent-off-and-free-shipping.md)
- [A different percent for each collection](/guides/different-percent-per-collection.md)
- [Spend $100, get 20% off and free shipping](/guides/spend-100-get-20-off-and-free-shipping.md)
- [Buy more, save more tiers](/guides/buy-more-save-more.md)
- [An influencer code that still works during a sitewide sale](/guides/influencer-code-during-a-sale.md)
- [Buy one, get one free](/guides/bogo.md)
- [A scheduled Black Friday code](/guides/black-friday-discount-code.md)

## 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](https://apps.shopify.com/rm-combo-discounts).
