Setting when your bundle starts
Where: Bundle form → Offer tab → Bundle active period.
This card is always present once you've chosen a bundle structure. A start date is always filled in — the form defaults it to the moment you opened the form.
Set Start date and Start time to the moment you want the bundle to go live:
Leave them at the current date and time (the default) and the bundle goes live as soon as you save.
Set a future moment and the bundle saves as Scheduled, going Active at that time. The app tells you this directly under the date picker: "If you set a future start date, the bundle will be saved as Scheduled and will go Active at that time".
Until the start moment passes, shoppers see nothing from this bundle.
There's no lower bound and no validation on either date. You can save a start date in the past, and you can save an end date earlier than the start date — the form won't stop you either way.
If an A/B test is running on this bundle, the Start date and Start time fields are greyed out on the non-primary (B) variant.
The timezone trap behind most "my bundle didn't go live" tickets
Watch this closely if your store is in a timezone ahead of UTC (for example, most of Europe, Asia, or Australia).
The form defaults the start moment to "now" at the instant you opened the form, but the value that gets stored is in UTC. If you then change only the date and leave the time as it was defaulted, you can end up setting a start moment that's actually minutes or hours away from what you intended — the bundle can save as Scheduled for later than you meant, or in some cases the moment you thought was "right now" has already effectively passed.
Exactly which timezone the date picker displays in hasn't been confirmed. If a bundle didn't go live when you expected, don't assume the picker matches your local clock — check the saved Start date and Start time values themselves. If they don't match what you intended, note down exactly what you entered and send that detail to support.
Giving your bundle an end date
Where: Bundle form → Offer tab → Bundle active period → Set end date and time checkbox.
This checkbox is always present. Tick it to give the bundle an expiry; leave it unticked for a bundle that runs indefinitely.
Once ticked, End date and End time fields appear. Set them to the moment you want the bundle to stop being offered. When that moment passes:
The bundle's badge changes to Expired.
For a Physical or Shopify bundle, the bundle's product is taken off the Online Store sales channel.
The bundle disappears from every placement and its discount stops applying, immediately.
These fields are also greyed out on the non-primary variant of a running A/B test.
Bringing an Expired bundle back
Extend the End date into the future and save. That is the whole procedure — the bundle was never switched off, so there is nothing to switch back on. Saving re-publishes the bundle's product to the Online Store channel and puts the bundle back into the discount engine.
Expired is a state the app works out from your dates each time it looks, not a flag it sets on your bundle. Your on/off toggle is untouched by an expiry, which is why changing the date is enough on its own.
The one exception is a bundle you also turned off by hand. The toggle outranks both dates, so a bundle that is switched off reads Deactivated however valid its dates are — turn it back on as well.
What the status badges mean
The badge shown on the bundle form header, and in the status column of the Bundles list, is calculated in this order:
Deactivated — the bundle is turned off, or it's beyond your plan's limits.
Scheduled — the start date hasn't arrived yet.
Expired — the end date has passed.
Active — none of the above applies.
What happens while your bundle is Scheduled
A bundle whose start date is in the future saves as Scheduled and is completely invisible on your storefront until that instant arrives. This is expected behavior, not a bug — the app doesn't raise any error anywhere, which is exactly why it can look like "nothing is happening."
Specifically, while a bundle is Scheduled:
It is not included in the storefront data at all, so it appears on no product page and no bundle page.
A manually pasted
<mbc-bundles-widget data-bundle-id="…">snippet renders nothing — the element finds no bundle and unmounts.A Featured bundle block naming its ID renders nothing.
It is not included in the automatic discount, so no discount applies even if a shopper assembles the same cart by hand.
For a Physical or Shopify bundle, its own product page isn't published yet — the start date is expressed as a scheduled Online Store publication, so visiting the bundle's product URL before the start moment shows your theme's 404 / not-available page.
It is not included in the legacy public API.
The admin shows the badge Scheduled, and "View in online store" stays clickable but leads to a 404 until the start moment.
It becomes visible on its own, within about a minute, once the start date and time passes, the scheduler's next pass runs, and caches are flushed.
To make a Scheduled bundle live right now: set its Start date and Start time to the current date and time or earlier, and save. It will go live within about a minute.
A Draft bundle with a future start date never activates itself — only published bundles are picked up by the schedule.
Testing a bundle before customers can see it
The supported way to check a bundle before shoppers can see it is a theme preview. A Draft bundle is completely hidden on your live storefront, but it does render when the storefront is viewed through Shopify's theme preview — that is the app's own preview mechanism.
To preview a bundle:
Duplicate your theme, or use an existing draft theme.
In the draft theme's editor, turn on the app embed "MBC Bundles App" and place any app blocks you want to test. The embed is per theme, so this doesn't touch your published theme.
Open that draft theme's Preview from Online Store → Themes. Shopify's preview bar is what puts the storefront into preview mode.
Draft, Scheduled and Expired bundles all render in that preview, while remaining invisible on your live theme.
Two things worth knowing before you rely on a preview:
The discount won't apply in preview. The automatic-discount data is built only from published, in-period bundles, so the widget shows the bundle and its prices, but a checkout started from the preview receives no bundle discount until the bundle is actually Active.
A Physical or Shopify bundle's own product page isn't theme-scoped. The bundle product's Shopify status and channel publication apply store-wide, so a Draft bundle's product page 404s in the draft-theme preview too. The preview does cover the widget on ordinary product pages, manually placed widgets, and Featured bundle blocks.
The market filter and the "exclude B2B customers" filter still apply while previewing. If you need to clear the app's cached data on a storefront page, append #mbc-clear-cache to the URL and reload.
It hasn't been confirmed whether the preview bar also appears on a password-protected storefront, or through a shared preview link. If you try either and see something unexpected, note the exact behavior and send it to support — this is a case we want to capture.
