SoloraContact
All Solora apps
Documentation

Getting the most out of Mixly

A Mixly bundle is a rule, not a product. Nothing is created in your catalogue, no SKU is added, and the price on your product page never changes — Shopify applies the saving at checkout the moment a cart qualifies. Everything below follows from that.

Start here

How Mixly works

Mixly turns “these products go together” into an automatic checkout discount. Three moving parts, and only the first one needs your attention.

  1. 1

    You define a bundle rule

    In the Mixly admin you pick the products that belong together, choose the kind of bundle, and set the discount shoppers get for taking it. That rule is the whole bundle — there is nothing else to build.

  2. 2

    Shoppers see the offer on your storefront

    The Mixly block on your product page shows the bundle with real prices, the total, and what the shopper saves — with one button that adds every product in it to the cart.

  3. 3

    Shopify applies the discount at checkout

    Mixly runs as a Shopify Function. Once the cart holds the qualifying products the discount is applied automatically — no code for the shopper to enter, nothing for you to approve.

The one thing merchants get wrong

Mixly does not create a bundle product. Nothing new appears in your product list, there is no bundle-level inventory to keep in sync, and the price shown on your product page never changes. Shoppers add your ordinary products to their cart; the saving appears in the cart and at checkout, once the cart matches the rule. This is how Shopify Functions work, and it is why shoppers never need a discount code.

Bundles

The three bundle types

Every bundle is one of three shapes. Pick the one that matches how you want shoppers to combine things — the discount modes below work with all three.

Frequently Bought Together

Bundle complementary products together with one discount.

e.g. buy a phone case + screen protector, save 10%.

Needs at least one product. Available on every plan, including Free.

Build Your Own

Let customers pick their own combination from an eligible set.

e.g. pick any 3 shirts from this collection, get 15% off.

Needs a list of eligible products and a Minimum items of 2 or more.

BOGO

Discount or free item when customers buy the required items.

e.g. buy a jacket, get a hat free.

Splits its products into Customer buys and Customer gets, and needs at least one of each.

The same three types, two sets of names

The theme editor labels the types with storefront-facing names rather than the ones in the Mixly admin. Nothing behaves differently — only the wording changes.

Mixly adminTheme editor
  • Frequently Bought TogetherFrequently bought together
  • Build Your OwnMix & match
  • BOGOBuy X get Y

The block’s Bundle type to show dropdown uses those storefront names. Leave it on Any (first match) and no filter is applied — the block shows the first live bundle that covers the product, preferring a Frequently bought together bundle and falling back to any other type. Pick a specific type and the block will only ever render that one.

Discounts

Discount modes

Three modes, and every bundle type can use any of them. The third one is the one merchants misread.

Percentage off

A share taken off the qualifying products. Capped at 100 — Mixly will not let you save a value above it.

Fixed amount off

A flat amount taken off the qualifying items' total. Useful when your margin is a flat figure rather than a ratio.

Fixed bundle price

The bundle's total price — not a per-item price. Set 49 on a three-product bundle and the shopper pays 49 for all three.

“Fixed bundle price” is the total, not the price per item

Mixly says so under the field — the bundle’s total price, not a per-item price — and it is still the single most common misreading. If your three products normally come to $72 and you want the bundle at $59, enter 59, not 19.67.

On a BOGO, 100% off means the Get item is free

A percentage discount on a BOGO bundle applies to the Customer gets side. Set it to 100 and the shopper pays nothing for that item — that is how you build a true buy one, get one free offer. Anything below 100 discounts the Get item rather than giving it away.

Selling in more than one currency?

A money amount only means something in the currency it was set in, so when a shopper’s cart currency differs from the one your bundles are priced in, Mixly hides the money-based bundles — fixed amount off and fixed bundle price — and the checkout Function will not apply them either. Percentage bundles are unaffected and work in every currency. The theme editor tells you plainly when this is what is happening: Fixed-amount bundles cannot show in this currency. Switch the bundle to a percentage.

A fixed price that saves nothing is flagged when you save

If the price you enter is not actually lower than what the products already cost, Mixly warns you: This fixed price isn’t lower than the items’ price, so the discount won’t apply at checkout. The bundle still saves — the warning is not a wall — but nothing will be discounted until you lower the price.

Setup

Add it to your theme

Activating a bundle is enough for the discount to apply at checkout. Adding the block is what makes the offer visible before the cart — and that is where the extra items come from.

Most themes

Online Store 2.0 themes

Dawn, Refresh, Sense, and almost every theme sold since 2021.

  1. 1In your Shopify admin go to Online Store → Themes → Customize.
  2. 2Switch the top template selector to Products → Default product.
  3. 3Click Add block in the product information area, open the Apps group, and pick Mixly bundle offer.
  4. 4Drag it where you want it — just under the add-to-cart button works well — then Save.
  5. 5Optional: switch the template selector to Cart, add the Mixly cart bundle block, and set Maximum offers to show (1 to 3, two by default).
Vintage themes

Online Store 1.0 themes

Older themes such as Debut or Brooklyn, and heavily customised builds that cannot host app blocks.

  1. 1Go to Online Store → Themes → Customize.
  2. 2Open App embeds in the left sidebar.
  3. 3Toggle on Mixly (vintage themes), then Save.
  4. 4Mixly inserts itself after your add-to-cart form and your cart form automatically — there is no block to position.
  5. 5If it lands in the wrong place, put a CSS selector in Product page: CSS selector to insert after (for example .product-form) or the matching Cart page field (for example .cart__footer).
  6. 6Leaving the embed on while you switch to a newer theme is safe: it hides itself on any page where a Mixly app block is already rendering.

Cart drawers are not supported

The cart bundle block is enabled on the Cart page template only. If your theme opens a slide-out drawer instead of navigating to a cart page, shoppers will not see it. Your product-page block and your checkout discount are unaffected — only the cart-side nudge goes missing.

On a vintage theme, Buy X get Y is product-page only

The vintage embed covers all three bundle types on the product page, but its cart nudge only handles Frequently bought together and Mix & match. Mixly says as much in the theme editor: Buy X get Y shows on the product page, not the cart, on vintage themes.

Step 3 of the setup checklist never ticks on a vintage theme

The Finish setup checklist on your Mixly home screen has four steps, and step 3 — Add Mixly to your product page — checks for exactly one thing: the Mixly bundle offer app block being active on your theme. The vintage app embed is a different extension, so it does not count towards it. If you are on a vintage theme, expect step 3 to sit unticked forever even though everything is working. Trust step 4 instead — a real cart, with the discount showing at checkout — then dismiss the checklist.

Bundles

Create your first bundle

Open Mixly from your Shopify admin and click Create bundle. Four decisions, and the preview shows you the result of all of them before you go live.

1. Give it a name shoppers can read

The name is not just for you. It doubles as the checkout label shoppers see next to their discount on the order summary, so Summer skincare set reads a lot better there than fbt test 2.

2. Pick the bundle type

Frequently Bought Together for a fixed set of products, Build Your Own when shoppers choose their own combination from an eligible list, BOGO when buying one thing unlocks another. On the Free plan only Frequently Bought Together is available.

3. Add the products

Use Add products to pick whole products or specific variants. A few rules Mixly enforces as you go:

  • Every bundle needs at least one product, and every quantity is a whole number of 1 or more.
  • Each product appears once. Add the same one twice and Mixly merges the entries; add both a single variant and the whole product and the whole product wins.
  • A BOGO bundle needs at least one product on the Customer buys side and one on the Customer gets side.
  • A Build Your Own bundle needs a Minimum items of 2 or more — one item is not a combination.

If one of these products is later deleted from your store, Mixly flags it on your home screen and names both the bundle and the missing product. A bundle that can still discount something keeps running with fewer products; one that cannot is paused rather than left to fail quietly at checkout.

4. Set the discount, then watch the preview

Choose a mode and a value. The Live preview beside the form is not a mockup — it builds a real checkout order summary from the actual prices of the products you added, showing the line items, the total savings and the total a shopper will pay. When the number looks right, set the bundle to Active.

From the bundles list you can pause, duplicate or delete any bundle. Pausing takes it off your storefront and out of checkout without losing the setup, and duplicating is the quickest way to build a second bundle from one that already works.

Storefront

Where shoppers see it

Three touchpoints, each doing a different job.

Frequently bought together

Applied at checkout
  • Cotton crew teeThis item$28.00
  • Everyday chinosSand, 32$54.00
  • Canvas beltTan$18.00

You save 15% in total−$15.00

Total$85.00

Add bundle to cart

An example of the bundle offer block on a product page.

Product page

The bundle offer block lists every product in the bundle, badges the one being viewed as This item, and shows the total next to what the shopper saves. One button adds the whole bundle to the cart. On a Build Your Own bundle it also counts how many more products are needed to unlock the offer.

Cart page

The optional cart bundle block surfaces the offers this cart is closest to completing — up to three, two by default — so a shopper one product short can finish the bundle without going back to browsing.

Checkout

The discount appears as its own line on the order summary, carrying the name you gave the bundle. There is nothing for the shopper to type and nothing for you to approve.

Making the block match your theme

Every Mixly block carries the same handful of appearance settings in the theme editor: an accent colour, a corner radius from 0 to 24px, and switches for product images and the cart-progress line. Mixly picks a readable text colour against whichever accent you choose, so a dark brand colour does not leave you with unreadable buttons.

Headings are per type — one for Frequently bought together, one for Mix & match, one for Buy X get Y — so the wording can suit the offer rather than being one compromise across all three.

Everything else the block says is a text field too, gathered under Text (translate to your language) — Total, You save, Add bundle to cart, This item, free, the add-to-cart error message, and the rest. The block renders exactly what you type, so those fields are also how you translate the storefront into your shoppers’ language.

Why is my block showing nothing?

Open the theme editor and look at where the block sits. Mixly prints a short note there tagged Mixly · only you can see this — it is invisible to shoppers — naming the exact reason it is empty. These are the reasons it can give:

  • Nothing published yet. Open Mixly and save a bundle.
  • No bundle is live. Activate one in Mixly.
  • This product is in no bundle. Add it in Mixly.
  • Its bundle is another type. Set “Bundle type to show” to “Any”.
  • Fixed-amount bundles cannot show in this currency. Switch the bundle to a percentage.
  • A product in the bundle is unavailable — deleted, or not published to the Online Store sales channel.
  • The discount saves nothing at this price. Raise it in Mixly.
  • No live bundle applies to this product.
  • Cart is empty. Add a product to preview this.
  • No live bundle applies to this cart.
  • Shows on product and cart pages only.
  • Buy X get Y shows on the product page, not the cart, on vintage themes.

When a product in the bundle cannot be resolved, the note also names the handle that is blocking it, so you know which one to fix.

Overlap

When two bundles cover the same product

Most stores never run into this. When you do, Mixly gives you an Order column — and it does much less than its name suggests.

The Order column appears on demand

Your bundles list only grows an Order column once two or more active bundles cover the same product or variant. Until that happens, ordering could not change what any shopper gets, so the control stays hidden rather than inviting you to rank things that never compete. Once it appears, Move up and Move down set the order, and the list saves as you go.

Order is a tiebreaker, not a ranking

Mixly says it plainly above the list:

These bundles share products. Order only matters as a tiebreaker when two bundles would offer the exact same discount.

A bundle sitting higher in the list does not automatically win. Shopify looks at what each bundle would actually take off the cart in front of it and applies the better deal for the shopper. Order only decides which one runs when the two would save exactly the same amount. So if a bundle keeps losing and you want it to win, make it the better offer — moving it up will not do it.

Discounts

Working alongside your other discounts

Shopify decides which automatic discounts can apply together. Mixly gives you the three switches that decision depends on, and ships with all of them on.

Discount stacking

In Settings → Discount stacking you choose which other Shopify discounts a Mixly bundle discount can combine with at checkout. All three start on, so out of the box a bundle stacks with everything:

  • On

    Combine with product discounts. Other product discounts, including volume pricing apps, can apply alongside a bundle discount.

  • On

    Combine with order discounts. Cart-level discounts, such as $10 off the order, can apply alongside a bundle discount.

  • On

    Combine with shipping discounts. Free or discounted shipping can apply alongside a bundle discount.

Turn a category off and Shopify will pick only one of the two — which one depends on the other discount’s own combine settings, so check both sides. Your home screen summarises where you stand in a line reading Combines with all other discounts or naming the ones you kept.

Also running Tierly?

Mixly combines with other product discounts out of the box, but Tierly’s equivalent setting is off by default. If you run both apps, turn on Tierly’s Combine with other product discounts — otherwise Shopify picks one of the two and a shopper who qualifies for a bundle and a quantity break gets only one of them. Mixly will tell you in Settings when it detects this. How stacking works in Tierly.

Testing tip

If a discount you expect is missing, temporarily pause your other automatic discounts and retest. If the bundle then applies, the conflict is a stacking rule rather than a problem with the bundle itself.

Billing

Free vs Pro

The free plan is a real plan, not a trial — one active Frequently Bought Together bundle runs indefinitely, with the storefront blocks and the automatic checkout discount included.

Free

$0forever

  • 1 active bundle
  • Frequently Bought Together bundles
  • Full storefront blocks on product and cart
  • Automatic checkout discounts

Pro

Most complete

$12.99per month, or $129/yr

  • Unlimited active bundles
  • All three bundle types
  • Bundle analytics
  • Priority support
  • 7-day free trial

Downgrading never deletes anything

Free runs one active bundle. Move back to it and Mixly keeps one running, pauses the rest, and names on your home screen exactly which ones it paused. Nothing is removed — the setup and the statistics stay put, and switching a bundle back on is one click once you return to Pro. Shopify handles the billing throughout: you approve the charge in your admin and it lands on your regular Shopify bill, so Mixly never sees your card details. The price is flat, with no usage fees and no revenue share.

Full details, including the trial length and how Shopify billing works, live on the pricing page.

Analytics

Reading your analytics

Available on Pro. The home screen answers one question: are your bundles actually bringing in more than they give away?

Over a window you choose — 7, 30 or 90 days — Mixly shows bundle revenue, discount given, orders and units sold, plus your best-selling combos, each broken down by orders, units, revenue and the discount it gave away.

Two derived numbers sit underneath. The return ratio tells you what every $1.00 you gave back drove in sales, and average order value tells you whether bundles are lifting basket size or just discounting the same baskets.

Figures are stored as daily totals per bundle — no individual customer or order records are kept, so there is nothing personal in there to leak. Attribution happens when Shopify reports the order, so give a fresh order a moment before you go looking for it.

On the Free plan the panel is locked rather than empty. Your data keeps accumulating, and drops back into view the moment you upgrade — a downgrade hides the numbers, it does not erase them.

Troubleshooting

Common questions

Nearly every support ticket we see is one of these.

The price on my product page did not change

That is expected. Mixly never rewrites your product prices — the bundle block shows what the combination costs, and the actual discount is applied by Shopify at checkout. Add the bundle to the cart and you will see the discount line appear.

The Mixly block is on my theme but shows nothing

Open the theme editor and look at the spot where the block sits. Mixly prints a short note there — visible only in the editor — naming the exact reason: no bundle saved yet, no bundle live, this product is in no bundle, the block is filtered to a different bundle type, a product in the bundle is unavailable, the discount saves nothing at that price, or the cart currency does not match. Fix what the note names and the block appears.

The discount is not applying at checkout

Work down this list in order: (1) the bundle is Active, not paused; (2) the cart really does hold every required product at the required quantity — a Build Your Own bundle needs its Minimum items, a BOGO needs at least one Buy product and one Get product; (3) the home screen says the checkout discount is live, not pending, off or gone; (4) if the bundle uses a fixed amount or a fixed bundle price, the shopper is checking out in the same currency your bundles were priced in; (5) the fixed price you set is genuinely lower than the products already cost; (6) another automatic discount is winning — see the stacking section above.

My home screen says the checkout discount is pending, turned off, or gone

Mixly creates one automatic discount in Shopify the first time you activate a bundle, and every bundle you run flows through that single discount. If it is deleted or switched off in Shopify → Discounts, every bundle stops discounting at once. The Bundle status panel on the home screen flags it, and Reconnect discount recreates it in one click.

I do not see the Order column on my bundles list

It only appears when two or more active bundles cover the same product or variant. With no overlap, order could not change what a shopper gets, so Mixly leaves the column out rather than asking you to rank things that never compete.

I deleted a product that was in a bundle

Mixly notices and tells you on the home screen, naming the bundle and the missing product. If the bundle can still discount something without it, it keeps running with fewer products. If it cannot — a Frequently Bought Together bundle that lost one of its required products, for instance — Mixly pauses it rather than letting it silently fail. Edit the bundle, swap in another product, then reactivate.

My theme uses a cart drawer instead of a cart page

The cart bundle block is a theme app block enabled on the Cart page template only, so a slide-out drawer will not show it. Everything else is unaffected: the product-page block still renders and the discount still applies at checkout. Shoppers who navigate to /cart directly will see it.

What happens to my bundles if I uninstall Mixly?

The Shopify Function is removed with the app, so bundle discounts stop applying immediately and the storefront blocks stop rendering. Your store data is queued for deletion — see the privacy policy for exactly what is removed and when.

Still stuck? Talk to a human.

Mixly is built by a small team at Solora Commerce. Send us your store domain and what you expected to happen, and we will look at the actual bundle.

If what you need is a feature rather than a fix, Mixly has a Feature Requestsboard built into the app — post your idea or vote on someone else’s, and the ones merchants want most are what we build next.