Bundle offers
Bundle Offers suggests a discounted bundle of products inside the cart drawer β for example, "Add all 3 for 15% off." It has two parts: the component you place in the drawer, and the actual bundle definitions, which live on a separate Bundles page.
Like Reward Ladder, this applies a real discount at checkout β read this whole page before you publish, not just the inspector's warning banners.
Bundle Offers is experimental
The first time you try to add Bundle Offers to a drawer, you'll see a confirmation:
Enable Experimental mode? "Bundle Offers" is experimental. When you publish, it creates a real Shopify discount that applies at checkout. Turn on Experimental mode to add it. You can turn it off anytime in the Settings tab.
Click Enable and add to continue. You can turn Experimental mode back off later from the drawer's Settings tab β doing so removes access to any experimental components, including Bundle Offers. If you turn off Experimental mode while a bundle is still in a published drawer, treat it the same as removing the component (see Turning it off below) β republish afterward to be sure the discount actually stops.
Grant permissions
Like Reward Ladder, Bundle Offers needs additional Shopify permissions before it can apply a discount at checkout. The inspector shows the same "Permissions needed" banner with a Review permissions button.

Until permissions are granted, the required Shopify access scopes are:
read_cart_transforms/write_cart_transformsβ lets PageFly rewrite the cart at checkout so the bundle shows as one discounted line, instead of separate full-price items.read_discounts/write_discountsβ lets PageFly register the actual discount that gets applied.
Both pairs are required together. Granting only the cart-transform scopes (or only the discount scopes) still leaves the bundle non-functional at checkout, even though it will preview correctly in the builder.
Set the bundle source
In the inspector, Bundle source is set to Manual (merchant-curated) β currently the only option. If you haven't created any bundles yet, you'll see "No bundles for this source yet." Click Manage manual bundles to go to the Bundles page.
Create a bundle
On the Bundles page, click Create your first bundle (or New bundle if you already have others). Define which products belong in the bundle and the discount it offers.

Unverified: Reward Ladder's Configure dialog has a "Combine with other discounts" toggle and a per-tier optional discount-code field (see Reward Ladder) β both change whether a discount applies automatically or stacks with other discounts. This page hasn't confirmed whether the bundle-creation form has equivalent settings, since the permissions error above blocked access to that form during review. Check the bundle-creation form directly for a combine/stacking option before assuming a bundle discount will or won't stack with other active discounts.
If you see a "Re-authorization required" error listing write_cart_transforms, read_cart_transforms, write_discounts, read_discounts β this means the bundle can't read or write Shopify's discount/cart-transform data yet. Go back to the drawer's Bundle Offers inspector and click Review permissions to grant the missing scopes, then return to the Bundles page.
Once you have at least one bundle, use Sync to Shopify on the Bundles page if changes don't appear to take effect immediately β bundle data and the live Shopify discount are two separate records that need to be kept in sync explicitly, they don't update automatically the instant you edit a bundle.
Style the bundle card
Back in the drawer's Bundle Offers inspector:
Layout framing β Row (default), List, Steps (regimen), Carousel, Image-lead, or Card-stack.
Elements β style price & savings, the add button, and feedback messaging independently.
Style overrides per state β set different styling for empty, loading, and error states.
Turning it off
A bundle's discount stays active at checkout for as long as the drawer that contains the Bundle Offers component is published β not just while the component is visible in the drawer, and not just while the individual bundle is "enabled" on the Bundles page. To fully stop a specific bundle from discounting at checkout:
Remove the Bundle Offers component from the drawer and republish, if you want to stop all bundles at once but keep the rest of the drawer live. Both publish and unpublish re-check whether the component is still present and end the discount the moment it isn't β this is a reliable, verified path.
Delete or disable the individual bundle on the Bundles page, then use Sync to Shopify, if you only want to stop one bundle while keeping others active.
Unpublish the drawer entirely via Unpublish Smart Cart if you want to stop everything the drawer does, not just Bundle Offers. See Publish and manage your drawer.
Turning off only the theme app embed does NOT stop the discount. The embed toggle only controls whether the drawer is visible on your storefront β it has no effect on the underlying cart-transform/discount, which keeps applying at checkout regardless of the embed state.
You can independently confirm a bundle discount has stopped in Shopify Admin β Discounts β look for an automatic discount named "PageFly Smart Cart Bundles". Its status will show Expired once removed or unpublished (PageFly ends the discount rather than deleting it, so the entry stays visible in your discount list for your records).
Publish
Bundle discounts only apply at checkout after you publish the drawer. See Publish and manage your drawer.
Last updated
Was this helpful?