Mix & Match
Sell the product on the page together with other products as one set, with one discount when the shopper buys them all.
A Mix & Match offer sells different products together as one set: the product on the page plus the products you add. You set one discount on the offer. Shoppers add the whole set with one click, and checkout takes the discount off every product — as long as the whole set is in the cart.
Use it when the set is made of different products, such as a shampoo, a conditioner and a mask. For more of the same product, use a quantity break or Buy X, get Y free. For a build-your-own box, see the Bundle Builder.
Two ways to create one
| Mix & Match template | Add Offer → Mix & Match | |
|---|---|---|
| Where | Home → Add new deal → Choose a Bundle Template | Offers tab of any bundle |
| What you get | A new bundle with one Mix & Match offer | One more offer at the bottom of the bundle you're editing |
| Name (only visible for you) | Mix & Match Deal | Unchanged |
| Block title | MIX & MATCH | Unchanged |
| Title | Mix & Match Deal | 1 pack |
| Subtitle | Choose your products | Standard price |
| Discount Type | Discounted % (e.g. 25% off), 10 | Discounted % (e.g. 25% off), 10 |
| Selected by default | Ticked | Unticked |
| Product cards | Product #1 only | Product #1 only |
Both start with one product card, Product #1 — the product on the page — so add at least one more before you go live. Use the template for a bundle that is only a Mix & Match, or Add Offer to put one next to quantity-break offers; the shopper picks one offer. An offer added from the menu keeps the quantity-break wording, so rewrite its Title and Subtitle.
Set one up
On the app Home page, click Add new deal. On the Choose a Bundle Template screen, click Create Bundle on the Mix & Match card.
To add one to an existing bundle instead, open it, go to the Offers tab, click Add Offer below the last offer and choose Mix & Match.
On the Bundle Settings tab, set the Name (only visible for you), the Block title and Visibility. On each product page the offer shows on, Product #1 is the product the shopper is looking at.
Go to the Offers tab, scroll past the feature cards to the Offers heading, and open the Mix & Match offer — the one with a Product #1 card and no Quantity field. Write the Title (required) and Subtitle, for example Complete the routine and Buy all three and save 10%.
Choose the Discount Type and enter the number. It works per product, so read Set the discount first.
Click Add product under the product cards. A Product #2 card appears. Click Select a product in it and choose the product. Repeat for every extra product.
Click Save. Check that the Status dropdown in the header says Active.
Open a product page that matches your visibility rules. Check the rows, select the offer, add it to the cart and go through checkout. The total at checkout should be the discounted one.
To let shoppers swap a product for another, see Let shoppers change a product. The rest of the card — Image (Optional), Badge text, Label, Selected by default, Add ons, Show as Sold out, Hide behind scratch-off — works as on any offer: see Add and edit offer tiers. There is no Quantity field and no Show quantity selector: each product is one unit.
Add and arrange products
Every product in the set is a card on the offer, in the order shoppers see them.
| Card | What it is |
|---|---|
| Product #1 | Always labelled Default product. It is the product on the page where the offer appears, so you don't pick it — and it can't be moved, replaced or deleted. |
| Product #2, #3… | Products you add. Click Add product to add a card, then Select a product to choose it in Shopify's product picker. |
Once a product is chosen, its card shows the picture and name. In a card's header, the arrows move it up or down (Product #2 can't move above Product #1) and the bin icon deletes the whole card. The bin icon beside the product's name only clears the choice and brings back Select a product.
- You pick the product, not a variant. Shoppers choose the variant on the page.
- The other products don't need to be covered by your Visibility settings.
- There is no quantity and no discount per product. To sell two of the same product, select it in two cards.
- Use products that are active, in stock and available on your Online Store sales channel. The offer doesn't check any of this.
Fill every card
A card with no product shows shoppers an empty row reading Select product and adds nothing to the cart, and checkout never discounts a set that has an empty card. Save doesn't warn you, so select a product in every card or delete the card.
Let shoppers change a product
You can let shoppers swap a product for another one you approve — a different flavor, scent or color, say.
Open a Product #2 (or later) card that has a product selected. Product #1 has no swap option.
Tick Customers can change this product, then click Select products. Shopify's product picker opens with your product already ticked. Tick the alternatives you want to offer and confirm.
The button now reads View selected (3), for example — the count includes the product you selected — and the alternatives appear under it. Click it to change the list.
Click Save.
The product you selected stays the default: shoppers start on it. Once you've picked at least one alternative, the row gets a Change button. It opens a popup, Select product, listing the default and every alternative with its picture, name and discounted price — plus the struck-through price and a Save badge when there's a saving, and variant dropdowns if the product has options. Choose applies the product and the variant picked in the popup; the current one reads Selected. The cart gets the product the shopper chose, and checkout accepts the default or any alternative for that card.
Example: pick any 3 of 5 flavors. Set Visibility to Specific selected products and select the five flavors. Add a Mix & Match offer titled Pick any 3, save 30% with Discounted % (e.g. 25% off) 30, and click Add product twice. In Product #2 and Product #3, select any flavor, tick Customers can change this product and tick all five in Select products. A shopper on flavor A's page gets A in the first row — its product can't change — and two rows they can switch to any of the five. Checkout accepts any three, repeats included.
Translate the popup
The popup's texts are defaults, not copy you write. Once a card has Customers can change this product ticked with a product and at least one alternative, and you've saved, they appear on the Translations page, the same for every A/B test version:
| Field on the Translations page | English default |
|---|---|
| Mix & Match - Change button | Change |
| Mix & Match - Change popup title | Select product |
| Mix & Match - Change popup subtitle | Your bundle discount applies to every option |
| Mix & Match - Choose button | Choose |
| Mix & Match - Selected button | Selected |
| Mix & Match - Savings badge (before the amount, e.g. "Save $5") | Save |
| Mix & Match - Empty product slot text | Select product |
| Mix & Match - Change popup close button (accessibility label) | Close |
The empty product slot text is what a card with no product shows in its row. The close label is read out by screen readers on the popup's ✕.
Set the discount
A Mix & Match offer has one Discount Type, and it applies to every product in the set. The dropdown has the same four options as on any offer (see Discount types), but they work per product, because every product is one unit:
| Discount Type | What each product gets |
|---|---|
| No Discount | Full price. The offer is just a set. |
| Discounted % (e.g. 25% off) | That percentage off. |
| Amount Off (e.g. $10 off) | That amount off, once. 5 off a set of three products takes 15 off in total. |
| Fixed Price (e.g. $29) | The product's price becomes that amount, if it costs more. A product that already costs less keeps its price. |
A value of 0 means no discount.
Fixed Price is per product here, not per set
20 on a set of three products caps each product's price at 20 — the set can cost up to 60, not 20. For a saving on the whole set, use Discounted % (e.g. 25% off) or Amount Off (e.g. $10 off). Keep Amount Off below your cheapest product's price too: checkout counts the full amount for every product, even one that costs less, so the discount can be larger than the page shows.
Built with an older version of the editor?
Earlier versions let you set a quantity and a discount on each product. The editor no longer shows those fields, but an older offer keeps them: a saved quantity still counts, and a saved per-product discount is used when the offer's own discount is No Discount or 0. A discount set on the offer replaces them. If an older offer doesn't charge what you expect, rebuild it with Add Offer → Mix & Match.
What shoppers see
- The offer card looks like any other offer: your Title, Subtitle, Label, badge and image. Its price is the total for the set — the sum of the rows below it — with the undiscounted total struck through.
- Under the card is one row per product card, in card order, with a + between rows. A row has the product's picture and name, its price, and — when they apply — variant dropdowns and a Change button. The price is the discounted one, with the compare-at price (or the regular price, if there's no compare-at price) struck through next to it when it's higher.
- The rows show whether or not the offer is selected. Shoppers select the offer, then click your theme's Add to cart button.
- Product #1 shows the page's product at the page's price. The other rows show prices for the shopper's country, looked up live. If the lookup fails or returns nothing for a product, its row shows the price saved when you picked it.
- The editor's Preview card shows the same rows. Its first row is the product in Product previewing, and the prices are the saved ones — so check a real product page too.
Style it on the Design tab: the Mix & Match groups in Colors and Typography set the product name, price, struck-through price and background. See Colors and fonts. The Change popup picks up the same name, price and struck-through price colors.
Variants in the rows
A row shows variant dropdowns when the product has options such as size or color and either of these is ticked, on the Bundle Settings tab under Advanced Settings → Variants:
- Let customers choose different variants for each item
- Show variant selection for single quantity deal bar
Both are ticked in a new bundle, and the dropdowns follow your variant swatches. To turn them off, untick Show variant selection for single quantity deal bar first, then Let customers choose different variants for each item — while either is ticked, the dropdowns stay. With no dropdowns, shoppers get each product's first variant.
Product #1's variant is chosen on its row in the offer, not with your theme's own variant picker. Hide theme variant picker removes the second picker, but it applies to the whole bundle, so test your other offers. See Variant settings.
Prices and price settings
- Use product compare-at price decides whether the struck-through total on the offer card is the sum of compare-at prices (ticked) or of regular prices (unticked). The rows always strike through the compare-at price when the product has one.
- Show prices per item has no effect: the offer always shows the set total.
- Show prices without decimals and Price rounding change only the figures on the offer card — its totals and any price variables in its text — not the rows, and checkout uses neither. With Price rounding on, the card can show a total, and a struck-through total, that checkout doesn't charge. Keep it off for Mix & Match.
- In the Title, Subtitle, Label and Badge text, text variables are worked out for the whole set:
{{saved_amount_total}},{{saved_percentage}},{{new_total_price}}and{{original_total_price}}are set totals. The per-item variables equal the totals,{{quantity}}is1, and{{product}}is the name of Product #1.
What goes into the cart
- Add to cart adds one line for each card that has a product: one unit each, in the variant the shopper picked, or the product's first variant when there are no dropdowns. A card without a product adds nothing.
- Every line carries a tag that ties it to the offer. That is how checkout knows which lines make up the set.
- Free gifts and upsells the shopper ticked are added as extra lines. If the shopper chose a subscription on the Subscriptions card, each product is added on that plan, so every product in the offer needs to be on it.
- The discount lands at checkout, so some themes show full price in the cart.
What checkout charges
Checkout looks at the cart lines that were added through the offer.
- All or nothing. The discount applies only while every card is covered: the cart holds each card's product — for a card with a swap list, the default or any alternative. Take one product out and none of the others gets the discount, and the offer's free gifts and upsells stop being free too. Checkout doesn't fall back to another offer in the bundle.
- Only products added through the offer count. The same product bought another way doesn't fill a card.
- Complete sets. With two of each product in the cart, two of each are discounted. Extra units pay full price: two of Product #1 and one of each other product is one set. Checkout matches products, not variants, so a different variant doesn't break the set. The same product in two cards works if the cart holds enough units of it for both.
- One discount. The savings on all the products are added up into a single discount. Its message is your Title, exactly as you typed it, so variables such as
{{saved_percentage}}aren't filled in — keep them for the Subtitle and Label. It belongs to the one automatic discount Oxify Bundle Discount under Discounts in your Shopify admin. - Other currencies. Amount Off and Fixed Price are in your store currency and are converted for shoppers in other currencies. A percentage isn't converted.
- Cents. Checkout adds up each product's exact saving and rounds the total, while the page rounds each product's saving down. The two can differ by a cent or two: 10% off a
29.00, a19.99and a9.50product shows52.65on the page and charges52.64.
How it works with other features
| Feature | With a Mix & Match offer |
|---|---|
| Sold out | Show as Sold out works on the whole offer, as on any offer. The app doesn't read the stock of the products in the set. |
| Free gifts and upsells | Discounted only while the set is complete, and only up to their own quantity — not once per set. If a product leaves the cart, a gift stays in the cart at full price. See Free gifts. |
| Progressive gifts | The offer counts by its position in the list, like any other. The gift is free only while the set is complete. |
| Other offers in the bundle | Independent. The selected offer decides what is added to the cart. |
| Markets | The bundle's Markets setting decides who sees the offer. See Choose where the offer appears. |
| A/B tests | A Mix & Match offer can be in any version. Save every version. See A/B testing. |
| Translations | The Title, Subtitle, Label, Badge text and Sold out text are on the Translations page, like any offer's. Product names aren't. |
Limits
- Product #1 is always the page's product. You can't change, remove or swap it.
- The editor has no maximum number of products or alternatives. Each one does take room in your checkout settings, which all your bundles share. When they don't all fit, a red message appears when you save, naming the bundles that won't be discounted. See Discount not applying at checkout.
If it isn't working
- The offer doesn't appear: see Offer not showing.
- The shopper pays full price: see Discount not applying at checkout. For Mix & Match, also check:
- Every card has a product. An empty Product #2 card means the set can never be complete.
- Every product is in the cart, added with the offer's Add to cart button. A product added from its own page doesn't count.
- The discount is set. Discount Type isn't No Discount and the number isn't
0. With Fixed Price, only products that cost more than the fixed price are reduced. - You looked at checkout, not the cart.
- Nothing, or only the page's product, lands in the cart: one of the other products can't be bought — it's sold out, deleted, or not available on your Online Store — and the page shows no error. Fix the product, or switch on Show as Sold out for the offer while it's unavailable.
- A shopper gets the wrong variant: see Variants in the rows.
- The Change button is missing: the card needs a product selected, Customers can change this product ticked and at least one alternative picked, and you need to Save.
- A row shows an old picture: a product's picture is saved when you pick it. Select the product again to update it.