fiveanddime Product Tutorials About Open the app
Step 4 of 4

Bundles & multi-buy deals

A bundle is any deal where the customer pays less than sticker for buying more, or for buying a combination. fiveanddime supports five different shapes. Pick the one that matches how you'd describe your deal out loud, fill in the numbers, and the cart applies it automatically. Skip this step entirely if you don't run any deals.

The five shapes

Most vendors only ever use one or two of these. Read the one-liners, find your deal, then jump to that section.

Setup is the same place for all five

In the app, go to Settings → expand Edit bundle. Tap + Add new for a blank one, or type a bundle ID/name to search and edit an existing one. The form swaps fields based on which deal type you pick.

Screenshot pending The five type-cards at the top of the Edit-bundle form. Pick the one that matches your deal.
frontend/tutorials/images/bundle_wizard_picker.jpg

Common moves (apply to all five types)

A

Bundle ID and Name

Two fields, always required:

B

Which items count (eligibility)

Pick one — usually a category is enough. The other fields are alternatives or fine-tuning; you don't have to fill them all out.

You only need to fill one. If you fill two (say, Category + Specific items), an item counts if it matches either.

C

Advanced: Priority and Active

Below the deal fields, there's a small Advanced disclosure with two optional knobs:

D

Watch the live preview as you type

At the bottom of the form, the What customers will pay panel runs the real cart-math engine against your actual products. As you change numbers above, it updates with a small table showing what a customer pays at different quantities. If something looks wrong in the preview, the deal is wrong — fix the numbers above until the preview matches what you intend.

Screenshot pending The live preview panel showing quantity rows with sticker / pays / saves columns.
frontend/tutorials/images/bundle_preview_panel.jpg

Type 1: Buy X for one price (flat)

When to use: "Any 4 of these for $25." Customer must buy the full batch to get the deal. Extras stay at sticker.

Fields:

Worked example: Coasters at $7 each sticker. You want "any 4 coasters for $25." Set Buy this many = 4, For this total = 25.00, Category = Coasters.

Customer buysSticker totalCustomer paysWhy
1$7$7Not enough for the deal yet
3$21$21Still under threshold
4$28$25Deal fires — saves $3
5$35$324 bundled + 1 at sticker
8$56$50Deal fires twice — saves $6

Gotcha: The 5th coaster does not get the deal price. The deal applies in full batches only. If you want every extra to get a discount too, use Buy more, save more instead.

Screenshot pending The flat-bundle fields filled in with the coaster example.
frontend/tutorials/images/bundle_flat_example.jpg

Type 2: Buy more, save more — smooth (marginal)

When to use: "4 for $25, $5 each after that." You want a smooth pricing curve — every additional item past the threshold gets the same discounted price, no awkward jumps.

Fields:

Worked example: Same coasters at $7 sticker. You want "4 for $25, then $5 each after." Set Buy at least = 4, For this total = 25, Then this much per extra = 5.00.

Customer buysSticker totalCustomer paysWhy
3$21$21Under threshold — sticker pricing
4$28$25Hits threshold
5$35$30$25 + ($5 × 1)
6$42$35$25 + ($5 × 2)
8$56$45$25 + ($5 × 4)
10$70$55$25 + ($5 × 6)
Want a flat rate above the threshold instead?

Set the marginal price so that "for this total ÷ buy this many" equals "then this much per extra." For example, threshold 4 / total $20 / marginal $5 means everyone above 4 pays $5/each, and the threshold itself is $5/each too ($20÷4). Customer buys 5 → $25. Customer buys 10 → $50. Nice round numbers.

Screenshot pending The marginal-bundle fields filled in.
frontend/tutorials/images/bundle_marginal_example.jpg

Type 3: Volume tiers (tiered)

When to use: "5 for $4, 10 for $7, 20 for $12, 50 for $25." Different price breaks at specific quantities. Common for inexpensive volume products like stickers, magnets, or cards.

Fields: Up to 5 tier rows. Each row is a quantity threshold + a total at that quantity. Leave the rows you don't need blank. Tiers don't have to be evenly spaced.

How it works: The cart counts all eligible items the customer has. It finds the highest tier they've qualified for and applies that tier's per-unit rate to every eligible item — not just the items above the threshold.

Worked example: Stickers at $1 each sticker. You want bulk-buy pricing: 5 for $4, 10 for $7, 20 for $12, 50 for $25.

Customer buysSticker totalTier hitCustomer pays
4$4(none)$4
5$5Tier 1 (5 for $4)$4
7$7Tier 1 (still)$5.60 (7 × $0.80)
10$10Tier 2 (10 for $7)$7
15$15Tier 2 (still)$10.50 (15 × $0.70)
25$25Tier 3 (20 for $12)$15 (25 × $0.60)
50$50Tier 4 (50 for $25)$25
100$100Tier 4 (still)$50

Notice that at 7 stickers, the customer pays $5.60 — the tier 1 per-unit ($0.80) applied to all 7. The customer is incentivized to buy 3 more to unlock tier 2 (10 for $7, saving them another $1.40 over what they'd pay sticking with tier 1 pricing).

Screenshot pending The tiered-bundle fields with 4 tiers filled in.
frontend/tutorials/images/bundle_tiered_example.jpg

Type 4: Buy from one group, get something from another (BOGO)

When to use: "Buy a small sign, get an ornament free." Or "buy 3 stickers, get 1 free from these designs." Two groups: a trigger group (what the customer has to buy) and a reward group (what they get the deal on).

Fields:

Worked example 1: classic 1-for-1. "Buy a Holiday Door Sign (any variant), get a Glass Ornament free." Trigger = category HDC-SPT, trigger qty = 1. Reward = category DSN-SM, reward qty = 1, reward pricing = Free.

CartStickerCustomer paysSaves
1 sign only$45$45
1 ornament only$8$8
1 sign + 1 ornament$53$45$8 (ornament free)
2 signs + 2 ornaments$106$90$16 (deal fires twice)

Worked example 2: "buy 3, get 1 free." "Buy 3 stickers, pick any one free from this small selection." Trigger = category STK, trigger qty = 3. Reward = specific items list (your chosen "free choices"), reward qty = 1, reward pricing = Free.

CartStickerCustomer paysSaves
2 stickers (any) + 1 free-list sticker$3$3— (only 2 trigger items)
3 stickers (any) + 1 free-list sticker$4$3$1 (deal fires)
6 stickers (any) + 2 free-list stickers$8$6$2 (deal fires twice)
Reward group as a category vs. a specific SKU list

If the customer picks any one of, say, three specific ornaments as the reward, use Specific reward items and add those three SKUs. If the customer can pick any item in a whole category as the reward, use Reward category. The cart applies the deal to whichever qualifying item the customer drops in.

Screenshot pending BOGO with trigger group on top, reward group below, with reward kind = Free.
frontend/tutorials/images/bundle_bogo_example.jpg

Type 5: Curated set

When to use: "One bookmark + one coaster + one magnet for $30." A gift-set or starter-pack price that requires a specific item from each of several groups.

Fields:

For each group, fill at least one of: Category, Parent product, or Specific item SKUs (comma-separated for sets — the wizard uses simple text inputs here to keep it tight).

Worked example: "Make-your-own-gift-set: 1 bookmark + 1 coaster + 1 magnet for $30." Stickers at $8, $7, $6 separately = $21, but you want to encourage the bundle, so you price it at... actually, $30 only makes sense if you're upselling above the individual prices. More realistic: each individual is more expensive, set price is lower than the sum. Let's say bookmark $12, coaster $10, magnet $10 → sum $32, set price $30.

Set up: Group 1 = Category Bookmarks, Required qty 1. Group 2 = Category Coasters, Required qty 1. Group 3 = Category Magnets, Required qty 1. Set price = 30.00.

CartSticker totalCustomer paysSaves
1 bookmark + 1 coaster (missing magnet)$22$22— (incomplete set)
1 bookmark + 1 coaster + 1 magnet$32$30$2 (set fires)
2 bookmarks + 2 coasters + 2 magnets$64$60$4 (set fires twice)

Gotcha: if a customer's cart is missing any one required group, the deal does not fire — they pay full sticker. The cart will not warn them; if you want to nudge customers toward completing the set, that's a conversation in the booth.

Screenshot pending Set bundle with three groups defined.
frontend/tutorials/images/bundle_set_example.jpg

Testing it in the app

Open the Sale tab. Add eligible items to a cart. Watch the prices update once you hit the thresholds. The cart shows each bundled line with a small "📦 in bundle" badge and a green border; the totals area names the deal and how much was saved. The receipt shows the same.

Adding eligible items to the cart and watching the bundle price kick in. (Video predates the wizard rewrite; re-recording is on the to-do list.)

When deals overlap (priority)

Most vendors only have one deal that could apply to any given item, so this section is rarely relevant. If you do have two deals that could compete for the same items — say, both a flat bundle and a tiered bundle on the same category — the lower priority number wins. Default priority is 100. To make a particular deal win, set its priority to 50 (or any lower number).

Once a cart line is absorbed by one deal, no other deal touches it. So priority is decisive: pick the deal that's best for the customer (usually the cheaper one), or use Active to turn off the deal you don't want.

Disable, don't delete

Running a seasonal deal? Uncheck Active when the season's over. The row stays in the sheet; reactivate next year by checking the box again. Way easier than recreating the deal from scratch.

Or edit the Bundles sheet directly

The wizard is just a friendlier UI over the same Bundles sheet. If you'd rather work in the sheet — bulk-add deals, copy a deal to a new bundle ID and tweak — every wizard field maps to a column. The full column list is documented in the Help tab, but here's the lay of the land:

After editing the sheet, open the app → Settings → Pull from Backend Now. Changes appear in the cart immediately after the pull.

Screenshot pending The Bundles sheet with a mix of bundle types. (The existing bundles_sheet.jpg shows only flat-bundle columns; a refreshed shot with the new columns is on the to-do list.)
frontend/tutorials/images/bundles_sheet.jpg
You're done Categories, products, parents and variants, bundles — your catalog is in shape. You can keep refining forever, but the bones are in.

What's next