Just installed the app? Start with "Getting started with MBC Bundles". On day one the cause is almost always that the MBC Bundles App embed has not been switched on in the theme editor yet, and nothing below will help until it is.
Is the app compatible with my theme?
There's no per-theme compatibility list, and there's no theme-specific code in the app at all — not for Horizon, Dawn, or any other theme. The app doesn't even record which theme your shop uses, so there's nothing to look up for a named theme.
What the app actually does is search the live product page for your theme's own add-to-cart form: a form whose action contains /cart/add, which is visible on the page, and which contains a submit button, an element named add, or a Shopify payment button. If it finds one, the widget is inserted next to it. If you'd rather choose the position yourself, you can place the widget with the app's block in the theme editor wherever you drop it — that doesn't depend on finding the form at all.
So the honest answer to "does it work with my theme?" is: it's expected to work, nothing is known to be incompatible, and the way to be sure takes about a minute — turn on the app embed, open a product page, and see whether the widget renders. If it doesn't, work down the list below; that will tell you whether it's a setup gap or a genuine mismatch with your theme's page structure.
Two theme traits do cause a real mismatch, and both are worth reporting to support with your theme named:
a buy button that doesn't carry any of the attributes above (no
/cart/addform, no submit button, noadd-named element, no Shopify payment button), ora theme that builds its product form in the browser after the app has already looked for it on the page.
Work through this list, in order
Most cases are one of the first few causes below. Go through them in sequence and stop at the first one that matches your bundle.
The app embed is off in the theme you're viewing. Open the theme editor for the theme you're viewing and check that the MBC Bundles App embed is enabled — with it off, the app never loads and the widget element is never defined, so even a manually pasted snippet renders as empty HTML. Turn it on under Theme editor → App embeds → MBC Bundles App; the embed is set per theme, so check every theme you use. If it's already on and the widget still isn't showing, contact support and mention that you've confirmed the app embed is enabled for this theme.
The bundle isn't Active — it's Draft, Scheduled, or Expired. Check the status badge: it should read Active, the start date and time should be now or in the past, and any end date should still be in the future. Match the fix to the badge — an Expired bundle needs its end date extended and saved (it was never switched off, so the toggle isn't the fix), a Draft one needs the header toggle turned on, and a Scheduled one needs its start date moved to now or earlier, or simply time to arrive; it goes live on its own within about a minute of its start time. A Draft or Scheduled bundle is absent from the storefront entirely, so every placement fails at once — no automatic widget, no pasted snippet, no Featured bundle block, no automatic discount — and for a bundle with its own product page, that page itself isn't published either.
The store-wide "Widget on product pages" setting is set to No. Go to Widget customization → General → Global display and check that it reads Yes — this setting is evaluated before any per-bundle setting, so No hides every bundle on every included item's product page. Set it to Yes; if it's already Yes and the widget still isn't showing, contact support and mention that you've confirmed "Widget on product pages" is set to Yes.
The store-wide "Widget on bundle pages" setting is set to No. In the same card, check that it reads Yes, and set it to Yes if not — a bundle that offers variant choice is shown on its own page regardless of this setting and the per-bundle checkbox below. If it's already Yes and you're still not seeing the widget on the bundle's own page, contact support and mention that.
The bundle's own "Show the widget on product pages of included bundle items" checkbox is unticked. Check it on the bundle's Advanced tab, under Widget placement, and tick it if needed. This only gates the automatic product-page widget — a hand-placed snippet always shows the bundle regardless of this setting.
The product you're viewing isn't selected in "Select where the widget will be displayed." Open that modal and check that the product's item is ticked, then tick it if it isn't. This step doesn't apply to all-store bundles.
The bundle's own "Show the widget on the bundle's own product page" checkbox is unticked. Check it on the bundle's Advanced tab, and tick it.
You're not on a product page, but you're using a product-page placement. The automatic widget and the "Widget for product page" block only work on product pages. To place a bundle elsewhere, paste the copied
<mbc-bundles-widget data-bundle-id="…">snippet, or add a "Featured bundle" block, which works on any template including the home page. When a "Widget for product page" or "Widget for bundle page" app block is present on the page, its position in the theme wins over any Top/Bottom setting.Your theme's add-to-cart form wasn't found. The product template needs a visible add-to-cart form the app can recognise (see "Is the app compatible with my theme?" above). Add the "Widget for product page" or "Widget for bundle page" app block in the theme editor to place the widget explicitly, bypassing form detection. If that doesn't resolve it, contact support and mention your theme name — a buy button missing the attributes the app looks for, or a theme that builds its product form after the app has scanned the page, are both real mismatches worth reporting as bugs.
One or more of the bundle's component products isn't published to the Online Store channel. Each product used in the bundle should be Active and published to Online Store — the bundle's product rows show the warning "This product is not included in the sales channel "Online store"" if not. Publish the products in Shopify; a bundle is dropped from the storefront entirely unless every selected product in every group is published.
The out-of-stock display rule is hiding it. Check the out-of-stock display setting in Widget customization — with "in stock only", the widget is hidden on a product page whose product has no available variant; with "hide if any out of stock", a bundle containing any unavailable item is dropped. Change the setting so bundles keep showing when an item is sold out. If you've already set it to show and the widget is still hidden, contact support and mention your current out-of-stock display setting and the specific bundle and product.
The bundle is excluded by the shopper's market. Check the bundle's Markets card: it should read All markets, or the shopper's market should be in the selected list. Choose All markets, or add the relevant market — market filtering also applies to the automatic discount, and it still applies in theme preview.
The bundle is excluded for a B2B customer. Check that "Exclude B2B customers" on the bundle's Advanced settings card is unticked, and untick it if company customers should also see the bundle. This exclusion removes the bundle from both the widget and the automatic discount.
The bundle is beyond your app plan's usage limits. In the admin, the bundle shows as Deactivated, and the status toggle opens an upgrade modal instead of publishing it. Upgrade your plan so this bundle type is included, or bring your shop within the plan's limits. If you're unsure which limit you've hit, contact support and mention the bundle's name and its Deactivated status.
The bundle's dates changed but the storefront is still serving cached data. Save the bundle once more and reload the page — the app refreshes its cached data on save. Appending
#mbc-clear-cacheto a storefront URL also clears the app's client-side caches on load.The wrong widget type was placed. The "Widget for product page" block's Widget type should match the bundle: "Quantity breaks" for volume-discount bundles, Default for everything else. Set it accordingly — a Default instance renders only non-volume-discount bundles, and a Quantity breaks instance renders only volume-discount bundles.
A Featured bundle block was given a bundle type it doesn't support. Featured bundle blocks only support Standard Bundle, Mix & Match, Buy X Get Y, or Product Pack. Use one of those types — quantity-break bundles render nothing in a Featured bundle block.
A Featured bundle block's ID field is empty, mistyped, or the block isn't on the template. The block's ID field should carry the bundle's numeric ID — the same number as in the copied snippet's
data-bundle-id. Enter the numeric ID, separating several with commas (for example130,139); note that "Featured bundle (temp. 2)" renders only the first matching bundle even when several IDs are listed.The widget failed while mounting. This can't be diagnosed from the storefront alone. Contact support with the page URL — mount and initialization failures are recorded on the app's side and can be looked up from there.
A restriction specific to your store. This can't be confirmed without checking your account — a small number of stores run the app under a custom arrangement that limits where bundles may appear. If everything above checks out and the widget still will not show, contact support and ask whether any placement restriction applies to your store.
Two more things worth knowing
A hand-placed snippet ignores the per-bundle product-page checkbox.
<mbc-bundles-widget data-bundle-id="…">always shows that bundle, no matter what "Show the widget on product pages of included bundle items" says. What it still needs is an enabled app embed and an Active, in-period, in-market bundle.<div id="mbcBundleItemsWidget">is a placement marker, not a widget on its own. It only moves the automatic product-page widget to a chosen spot on the page — it's filtered by exactly the same rules as the automatic widget, and it only works on product pages.
The widget is showing, but nothing happens when a shopper tries to use it
Everything above is for a widget that's completely absent. This section is for a widget that's present and visible but won't let the shopper do anything.
The Add to cart button is disabled, and its caption tells you why
Each of the states below disables the button and replaces its caption. They're evaluated in order, so the first one that applies is the one shown.
The caption reads "Choose a product." Zero items are currently selected — the count is below Minimum items required. This is the state a widget opens in when Optional products or the Quantity selector is on and nothing arrives pre-ticked, which is why it can read as "the widget is broken, I can't add anything." Mark items Pre-selected so they arrive already ticked, or leave them un-Optional (required) so they're always in the bundle — either way the count starts above zero. Lowering Minimum items required also works.
The caption reads "Choose a product variant." At least one row has no variant chosen. Turn on "Pre-select the first available product variant in the widget," or pin a Default variant on each row.
The caption reads "Out of stock." The bundle as configured has no purchasable combination. Restock, or change the out-of-stock display rule in Widget customization. If neither is the issue, contact support and mention the specific product and bundle.
The caption reads "Pre order." Shopify reports the selected item as out of stock but still purchasable — which is how an item with inventory tracking turned off gets reported. Turn on inventory tracking with stock on hand, or rename the caption in Text settings.
The caption shows the maximum-quantity message. More items are selected than Maximum items allowed. Raise the cap, or have the shopper deselect items.
The selection checkboxes seem invisible
If this is happening, it's almost always because of your own Custom CSS — support will need to see your Custom CSS and your widget's border colour to confirm.
The real <input type="checkbox"> is hidden (display: none !important), and what the shopper sees instead is a fake box drawn with a thin border in your widget's border colour over a semi-transparent white background, with the checkmark itself in your widget's accent colour. Two customisations can make that box disappear while it keeps working underneath:
Custom CSS that sets the fake checkbox's background to transparent or none — the box loses its fill and, over a light page, looks like nothing at all.
A widget border colour set to the same colour as the page behind it — the border is the only outline the box has, so the whole click target becomes invisible and shoppers report "I can't select anything."
The tell is that clicking the empty space where the box should be does work, and the bundle total updates. If you run into this, send support your shop's Custom CSS and the widget's border colour.
Bundles in Shopify POS
Most POS questions come down to mixing up two independent things: the discount, and the POS tile.
The discount applies with no tile and no extra step from staff. The discount applies to any POS cart whose line items match a bundle — including Volume Discount bundles — because bundle membership is read from data the app writes onto the product, not from anything the cart itself carries. A cashier who simply scans the qualifying items gets the discount automatically.
The tile is only for browsing, building, and reporting. The POS tile is what lets staff browse and assemble a bundle at the register, and what tags the order as a bundle sale for reporting purposes. It lists only Standard Bundle, Mix & Match, and 1+1 Product Pack bundles built from individual products. A bundle outside that list simply doesn't appear in the tile — and it still discounts at the register regardless.
The one setting that matters for POS discounting is "Automatic bundle assembly in cart." POS discounting relies on this setting. It's on by default, so unless it has been turned off for your store it is already on. With it off, only bundles assembled through the storefront widget are discounted, and POS carts are not.
So "the tile doesn't show my bundle" and "POS doesn't discount my bundle" are two different issues: the first comes down to the tile's bundle-type list above, the second starts with checking "Automatic bundle assembly in cart." If you're not sure what that setting is currently set to on your shop, contact support and ask them to check it for you.
