# 20% off and free shipping in one Shopify discount code

Shopify's own discount codes each hold one kind of discount, so 20% off plus free shipping normally takes two separate discounts. With [OneCode: Stackable Discounts](https://apps.shopify.com/rm-combo-discounts), one code holds both: a 20% product discount and a free shipping discount. The customer enters the code once and gets both. If you want, shipping can be free only above a minimum spend while the 20% applies to every order.

## What the customer gets

In this example the code is `BFCM20`, and shipping is free from $50.

- An $80 cart (a $50 shirt and a $30 tote) gets $16 off the items and free shipping. The customer pays $64.
- A $40 cart gets $8 off the items and pays $8 for shipping. The customer pays $40.

![An $80 cart with BFCM20: the $50 shirt is $40, the $30 tote is $24, shipping is free instead of $8, and the total is $64](/images/checkout-bfcm80.png)

![A $40 cart with BFCM20: the $40 shirt is $32, shipping is $8, and the total is $40](/images/checkout-bfcm40.png)

The $50 minimum is checked before the 20% comes off. A $60 cart still gets free shipping, even though the items cost $48 after the discount.

At checkout, the discounted items are labeled with the code, and shipping shows as free.

## Set it up

1. In OneCode, click **Create discount**, choose **Discount code** and enter `BFCM20`. If you'd rather apply the offer without a code, choose **Automatic discount** and give it a **Title**.
2. Click **Add Discount Type**. A new type starts as a **Product Discount** with **Percentage** and **All Products**. Enter `20` in **Percentage**.
3. Click **Add Discount Type** again. Set **Discount Type** to **Shipping Discount** and keep **Free Shipping**.
4. To make shipping free only from $50, go to the shipping discount's **Per-Discount Conditions** and click **Add Condition**. Set **Field** to **Cart Subtotal**, **Operator** to **Greater than or equal to** and **Value** to `50`. Skip this step if shipping should be free on every order that uses the code.
5. If the offer has a deadline, set the start and end under **Active Dates**.
6. Click **Save discount**.

Here is the same two-part setup in the editor on another code, `SUMMER25`. Its 20% is limited to one collection, and its shipping is free on every order:

![OneCode editor for code SUMMER25 with two discount types: a 20% Product Discount on the Summer Collection, and a Free Shipping discount on all rates](/images/editor-percent-and-shipping.png)

## Options

- **20% off one collection only:** set the product discount's **Target** to **Specific Collections** and pick the collection.
- **Only the cheapest shipping rate free:** set the shipping discount's **Rate Selection** to **Cheapest Rate**. It makes the cheapest paid rate free and leaves the other rates at full price.
- **Both parts only from $100:** put the minimum on the whole code instead. See [spend $100, get 20% off and free shipping](/guides/spend-100-get-20-off-and-free-shipping.md).

The 20% and the free shipping are parts of one discount, so they always apply together. The **Combinations** card only matters for other, separate discounts a customer might use at the same time.

You can put more on the same code, such as a fixed amount off the order. See [product, order and shipping discounts in one code](/one-code.md).

OneCode costs $9.90 USD every 30 days after a 7-day free trial, billed by Shopify. [Install it from the Shopify App Store](https://apps.shopify.com/rm-combo-discounts).
