> For the complete documentation index, see [llms.txt](https://docs.elitebundleapp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.elitebundleapp.com/create-bundles/discounts.md).

# Discounts

Set up automatic Shopify bundle discounts: quantity or order-total tiers, percentage, fixed amount, fixed bundle price and per-item discounts.

Bundle discounts apply automatically at checkout through a Shopify Function. Shoppers never enter a code, so there is nothing to leak on coupon sites.

## How tiers work

A build-your-own bundle has a ladder of tiers. Each tier has a **trigger** (when it unlocks) and a **calculation** (what it takes off).

{% tabs %}
{% tab title="Trigger" %}

| Trigger           | Tiers unlock at                   |
| ----------------- | --------------------------------- |
| Number of items   | Item counts: 3, 5, 8              |
| Order total value | Spend thresholds: $50, $100, $150 |
| {% endtab %}      |                                   |

{% tab title="Calculation" %}

| Calculation         | Example with 3 × $20 | Total  |
| ------------------- | -------------------- | ------ |
| Percentage off      | 10% off              | $54.00 |
| Fixed amount off    | $5 off               | $55.00 |
| Fixed bundle price  | Any 3 for $50        | $50.00 |
| Amount off per item | $2 off each          | $54.00 |
| {% endtab %}        |                      |        |
| {% endtabs %}       |                      |        |

The best matching tier is applied. If no tier is reached, no bundle discount applies.

<figure><img src="https://1636628623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F803Sm8MKSqVH5ol6hROo%2Fuploads%2Fgit-blob-1e0dc82873b0f9165786a5478a7193782bbc5c78%2Fdiscounts-offer-tab.png?alt=media" alt="Offer, Discount Offer, with three quantity tiers"><figcaption><p>① Enable discount, ② what triggers it and how it is calculated, ③ the tiers, ④ the tier bar in the bundle cart</p></figcaption></figure>

## Examples

**Quantity tiers**, good for snack boxes, sample packs and mix-and-match:

| Shopper selects | Discount |
| --------------- | -------- |
| 3 items         | 5% off   |
| 5 items         | 10% off  |
| 8 items         | 15% off  |

**Order-total tiers**, good when products have very different prices:

| Bundle total | Discount |
| ------------ | -------- |
| $50          | $5 off   |
| $100         | $15 off  |
| $150         | $30 off  |

## Multi-option bundles

A multi-option bundle is a fixed combo, so there is nothing for a ladder to climb. Its Offer tab has one switch and one value: **percentage off** or **fixed amount off** the bundle total, applied whenever the bundle is added to cart.

## Combinations and subscriptions

The offers of build-your-own and multi-option bundles run through one automatic Shopify discount that the app creates, **Elite Bundle Discount**. Two store-wide choices for it live in the app's **Settings → Bundle discount**:

| Setting                | What it decides                                                                                                                                        |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Combines with          | Whether the bundle discount can apply alongside **product**, **order** or **shipping** discounts in the same checkout                                  |
| Apply to subscriptions | Whether bundles bought on a [subscription](/create-bundles/subscriptions.md) get the bundle discount, on **every order** or **a set number of orders** |

On a subscription the bundle discount comes off on top of the plan price, so the two stack: a plan at 10% off plus a 10% tier is 19% off in total. While the shopper has subscribe selected, tier progress uses the plan price. See [Subscriptions](/create-bundles/subscriptions.md#how-the-price-adds-up) and [App settings](/get-started/settings.md#bundle-discount).

## The discount's name at checkout

The cart, checkout and order call the bundle discount **Bundle Discount** and a free gift **Free gift**. Rename them in the editor's **Settings → Language & Texts**: **Checkout discount name** and **Checkout free gift name**. Like every shop text they apply to all bundles, and each language tab sets the name shoppers see when checkout is in that language. A language left empty shows your default.

{% hint style="info" %}
A new name applies from the next checkout after you save. Orders already placed keep the name they were placed with.
{% endhint %}

## How the offer is shown

The tier ladder is displayed on the bundle page as a **progress bar**, a **segmented bar**, or **boxes** (one per tier, quantity triggers only). Set it in **Design → Discount display**; see [Design and customize](/customize-and-publish/design-and-customize.md#discount-display).

{% hint style="success" %}
Make the first tier easy to reach, use two to four tiers, and keep the message short. The savings hint ("add 2 more to save 10%") does most of the selling.
{% endhint %}

## Test before launch

{% stepper %}
{% step %}
Pick enough products to reach the first tier and add the bundle to cart.
{% endstep %}

{% step %}
Go to checkout and confirm the discount line.
{% endstep %}

{% step %}
Repeat for the highest tier.
{% endstep %}

{% step %}
Test a cart that does not qualify and confirm no discount appears.
{% endstep %}
{% endstepper %}

## Discount not applying?

* Confirm the bundle has tiers configured in the Offer tab
* Confirm the bundle was added from the bundle page, not as separate products
* Test in checkout, not only on the product page
* If another discount is in the same checkout, check that **Combines with** in [Settings → Bundle discount](/get-started/settings.md#bundle-discount) allows that kind of discount
* For a subscription order, check that **Apply to subscriptions** is on in the same section
* Check [App settings](/get-started/settings.md#setup-status) for a failed discount service, and contact support if it shows Failed
