# Best Shopify app for a discount and free shipping on one code

If you want customers to type one code and get both money off and free shipping, use [OneCode: Stackable Discounts](https://apps.shopify.com/rm-combo-discounts). One OneCode code can hold a product discount and a shipping discount, each with its own rules. For example, `BFCM20` can take 20% off every item and make shipping free on carts of $50 or more.

Shopify's own discount codes each hold one kind of discount. A percentage off products and free shipping are two kinds, so without an app the offer is two codes, and the customer has to know about and enter both.

## What the customer gets with BFCM20

- An $80 cart (a $50 shirt and a $30 tote) gets $16 off the items, costs $64, and ships free.
- A $40 cart gets $8 off, costs $32, and pays the normal shipping rate, because it is under $50.

The $50 minimum is checked before the 20% comes off, so the $80 cart gets free shipping even though the customer pays $64 for the items.

![BFCM20 at checkout: a $50 shirt reduced to $40 and a $30 tote reduced to $24, subtotal $64, Economy shipping free, total $64](/images/checkout-bfcm80.png)

## Your options

| Setup | How it works | Trade-off |
|---|---|---|
| OneCode | One code holds the product discount and the shipping discount | $9.90 USD every 30 days, after a 7-day free trial |
| Two Shopify codes, both set to combine | The customer enters a percentage code and a shipping code | Customers have to find and enter both codes |
| Shopify free shipping on every order, plus a Shopify percentage code | The customer enters one code, and shipping is free with or without it | Customers who never use the code also get free shipping |

With OneCode, free shipping is part of the code's offer, so only customers who use the code get it.

## What the shipping part can do

The shipping discount can be free shipping, a percentage off, or a fixed amount off. It can apply to all rates, to the cheapest paid rate, or only to rates you name, such as `Express Shipping`.

You can also make shipping depend on the product discount. With the condition **Match Another Discount's Rules**, shipping is discounted only when the product discount on the same code applies. For example, a code can give 10% off accessories and half-price Express Shipping, but only when the cart has accessories in it. See [cheaper shipping only when the product discount applies](/guides/shipping-when-discount-applies.md).

To change the offer by country, add a **Shipping Country** condition to each discount type, for example free shipping only for `GB` and 10% off only for `US`. See [different discounts for different countries](/guides/country-discount.md).

If you also run a separate free shipping discount, Shopify applies only one shipping discount per order across separate discounts, and it uses the one that saves the most.

## Set it up

The step-by-step version is [20% off and free shipping in one Shopify discount code](/guides/20-percent-off-and-free-shipping.md). Choose an automatic discount instead of a code if nobody should have to type anything. The editor below shows a similar code, `SUMMER25`, with 20% off one collection and free shipping.

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

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