Multiple offers — ordering, diversity limits & fallbacks
How several offers inside one campaign are evaluated, ordered, capped by the diversity limit, and how out-of-stock fallbacks behave.
When one campaign holds several offers, the app does more than just stack them — it evaluates each offer independently, shows every qualifying offer at once, and caps how much a shopper can claim with a diversity limit. This page goes deep on that behavior: ordering, the Total Limit, the Hide added offers toggle, and the edge cases that trip merchants up.
New to multiple offers? Start with the setup primer, Managing multiple offers, which covers adding, renaming, switching, and deleting offers. This page picks up where that one leaves off and explains the evaluation rules.
Which campaign types support multiple offers
Only two campaign types let you build more than one offer inside a single campaign:
| Campaign type | Multiple offers? | What an "offer" is |
|---|---|---|
| Gift with Purchase | Yes | A gift set with its own products, discount, and unlock conditions |
| Checkout Upsells | Yes | An offer set shown at checkout with its own products, discount, and conditions |
| Product Recommendations | No — single offer | One condition / one product set |
| Auto-Add | No — single offer | One condition / one product set |
| Post-Purchase | No — single offer | One condition / one product set |
| Unlock | No — single offer | One condition / one product set |
For Product Recommendations, Auto-Add, Post-Purchase, and Unlock you get exactly one condition. If you need different products under different rules in those types, create a separate campaign for each.
Gift with Purchase
Build tiered gift offers, each with its own unlock threshold.
Checkout Upsells
Show multiple offer sets to shoppers during checkout.
How offers are evaluated
Each offer in the campaign is an independent condition. It carries its own:
- Rules — the trigger conditions, such as a cart subtotal threshold, a collection match, or a customer tag.
- Products — the items the shopper can claim from that offer.
- Discount — for example 100% off (a free gift) or a percentage off.
When a shopper's cart is evaluated, the app checks every offer's rules against the cart, not just the first one. This is the key difference from Post-Purchase, which is first-wins (the first matching offer shows and the rest are skipped). In a Gift with Purchase widget or a Checkout Upsells widget, all matching offers can show at the same time. If a cart satisfies the rules for three different offers, the shopper sees products from all three.
Order in the widget follows the order in the editor. Offers appear to the shopper in the same sequence you arranged them in the offer list. Put your most important or highest-value offer first so it leads the widget. Reordering offers in the editor reorders what the shopper sees.
Offers vs. one offer with many products
Two products that should always appear together belong in one offer. Two products that should appear under different rules (different thresholds, collections, or tags) belong in separate offers. Keeping unrelated triggers in separate offers is what lets the app show the right thing to each shopper.
The diversity limit (Product Limit vs Total Limit)
The diversity limit applies to the two multi-offer types — Checkout Upsells and Gift with Purchase. It governs how many items a shopper can actually claim, and there are two distinct caps that are easy to confuse:
| Setting | What it controls | Scope |
|---|---|---|
| Product Limit | The quantity cap for a single variant — how many of one item a shopper can add | Per variant |
| Total Limit (diversity limit) | How many distinct products the shopper may claim across the offer | Across the offer |
Product Limit is a per-variant quantity cap: it stops a shopper from adding ten of the same free gift. Total Limit is the variety cap: it controls how many different products the shopper may take. Setting Total Limit to 1 means "pick any one product from this offer"; setting it to 2 means "pick up to two different products," and so on.
How the effective limit is calculated
The Total Limit you enter is not always the number that ends up applying. The app computes the maximum allowed product variety as:
maxAllowedProductsVariety = min(Total Limit, number of available products)In words: the effective limit is the smaller of your configured Total Limit and the number of offer products that are actually in stock. Only products with at least one available variant count toward the "available products" total.
This has a direct consequence: out-of-stock products shrink the effective limit. If your Total Limit is 3 but only 2 of the offered products are in stock, the shopper can claim at most 2 distinct products — the limit collapses to match availability.
Once the shopper has added a number of distinct products equal to the effective limit, the app marks the maximum as exceeded and blocks any further adds from that offer. Existing additions stay in the cart; new ones are prevented.
Because the effective limit tracks live stock, a shopper's real cap can be lower than the number you typed into Total Limit. If merchants report that shoppers "can't add as many gifts as the limit says," check inventory first — sold-out offer products are the usual cause.
The "Hide added offers" toggle
In the campaign's widget customizer there is a Hide added offers checkbox, found under the Settings section.
| Property | Value |
|---|---|
| Setting name | Hide added offers |
| Default | On (enabled) |
| In-app hint | "If enabled, offers exceeding the diversity limit will be removed" |
With Hide added offers enabled (the default), once a shopper has claimed up to the diversity limit, the offers that exceed that limit are removed from the widget. The shopper stops seeing further offers they can no longer claim, which keeps the widget tidy and avoids dangling "Add" buttons that would do nothing.
If you turn Hide added offers off, offers that exceed the limit stay visible even after the shopper hits the cap — their Add actions simply won't add anything more, because the maximum is already reached.
This setting lives in the widget customizer for the Gift with Purchase widget (both Slider and List layouts) and works alongside the related Hide out of stock products and Hide unlisted products toggles in the same Settings section.
Worked example: a tiered gift campaign with exact numbers
Build a Gift with Purchase campaign with three offers, each a separate condition triggered by a higher cart subtotal:
| Offer | Trigger (cart subtotal) | Gift |
|---|---|---|
| Bronze | over $25 | free keychain |
| Silver | over $75 | free tote bag |
| Gold | over $150 | free premium item |
Now follow a shopper with an $80 cart:
Evaluate every offer
The app checks all three offers against the $80 cart. Bronze (over $25) qualifies. Silver (over $75) qualifies. Gold (over $150) does not. Because evaluation is not first-wins, both Bronze and Silver show in the widget at the same time, in editor order — Bronze first, then Silver.
Apply the Total Limit
Say the Total Limit is 1. The shopper may claim one distinct gift across the qualifying offers. They add the Silver tote. The app now counts one added distinct product against the effective limit of 1, so the maximum is reached.
Hide what can no longer be claimed
With Hide added offers on (default), the Bronze offer — now beyond the diversity limit — is removed from the widget. The shopper sees a clean cart with their tote and no leftover "Add" buttons.
If you instead set the Total Limit to 2, the same $80 shopper could claim both the Bronze keychain and the Silver tote — two distinct products — and only then would the cap be reached.
Edge cases and fallbacks
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Shopper can't claim as many products as the Total Limit | Some offer products are out of stock, so the effective limit collapsed to min(Total Limit, available products) | Restock products, or lower the Total Limit to match real availability |
| Offers disappear after the shopper adds a gift | Hide added offers is on (default) and the diversity limit was reached | Expected behavior; turn the setting off if you want the offers to stay visible |
| Only one offer shows when two should | The two offers' rules don't both match the cart, or one offer's products are all sold out | Re-check each offer's trigger rules and inventory |
| Offers appear in the wrong sequence | Widget order follows editor order | Reorder the offers in the offer list |
| Renaming an offer didn't change the storefront | Names are internal labels only | Edit the offer's products, discount, or content instead |
Where to go next
Managing multiple offers (setup primer)
Add, rename, switch between, and delete offers in a campaign.
Free Gift with Purchase
Set up gift offers, unlock thresholds, and quantity limits.
Checkout Upsells
Show offer sets to shoppers during checkout.
Discounts
Apply fixed and percentage discounts to each offer.
Managing multiple offers
Add, rename, switch between, and delete several offers inside a single campaign to build tiered promotions without extra campaigns.
Variant offers, per-variant discounts & quantity limits
Offer specific variants instead of whole products, set per-variant discounts, and control Product Limit and Total Limit quantities.
