> 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.

## 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.

## 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
* Check [App settings](/get-started/settings.md#setup-status) for a failed discount service, and contact support if it shows Failed


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.elitebundleapp.com/create-bundles/discounts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
