Full bundle page

Guided

A category-led full-page builder whose rail or step flow uses real swatches and a selection tray that folds into a capped mobile sheet.

Built for: Curated catalogs where shoppers build a box category by category.

Guided storefront design
Interactive demo

Use the controls merchants actually get.

The catalog data is illustrative. Every configurable section and block setting, plus each folded variant, is synced from the committed Liquid schema.

Custom bundle · illustrative catalogBuild your bundleAdd 1 more to unlock 15%
Campaign coverage

How Guided handles each offer.

The four campaign tabs in the demo show one illustrative state per supported builder mode, including selectable, preselected, and locked gift states. Fixed bundles use a standard product page and expand at checkout.

Campaign stateRendering in this design
Custom bundleProduct selection, progress, qualifying step, totals, and add-to-cart.
Build-a-box sectionsNamed groups and live section counts within the shared storefront payload.
Quantity breaksCompatible rendering through the design’s product and step UI.
Free giftsSelectable, preselected, and locked gift states; locked gifts can render as Included free.
Fixed bundleNot applicable. Shoppers buy the fixed parent product through its standard product form.
Every setting

The schema, rendered without drift.

123 settings across the section and its reorderable blocks.

GroupSettingTypeOptionsDefaultWhat it changes
SectionCampaign ID (optional)text—Theme defaultEmpty = automatic: on a product page, the campaign whose bundle product this is; otherwise the highest-priority published campaign with a landing placement. IDs (cmp-…) appear in the app's campaign editor URL and Diagnostics page.
SectionShopping flowselectCategory rail — everything on one page, Step by step — one category at a timerailQuantity-break campaigns always render as one calm page of tier cards.
SectionHeadingtext—Build your bundleControls this part of the section in the Theme Editor.
SectionSubheadingtext—Mix and match — the more you add, the more you save.Controls this part of the section in the Theme Editor.
SectionAccent colorcolor—#e94f64Controls this part of the section in the Theme Editor.
SectionGift accent colorcolor—#b8863bControls this part of the section in the Theme Editor.
SectionText colorcolor—#1c1a17Controls this part of the section in the Theme Editor.
SectionCard backgroundcolor—#ffffffControls this part of the section in the Theme Editor.
SectionImage fitselectCover (crop to fill), Contain (show whole product)coverCover fills the shape and crops edges; Contain shows the whole product without cropping.
SectionCard frameselectBoxed, BareboxBoxed draws a border and background around each card; Bare removes them so the image runs edge to edge and blends into the page.
SectionSection backgroundcolor—Theme defaultLeave empty to inherit the theme background.
SectionCorner styleselectRounded, Soft, SquareroundedControls this part of the section in the Theme Editor.
SectionContent widthrange—1240Controls this part of the section in the Theme Editor.
SectionSticky offset (fallback)range—80The rail and stepper now sit below your theme header automatically. This is a minimum used only if no sticky header is found.
SectionKeep the tray visible while scrollingcheckbox—OnControls this part of the section in the Theme Editor.
SectionShow discount labels on the progress trackcheckbox—OnControls this part of the section in the Theme Editor.
SectionVariant optionsselectColor swatches and buttons, Buttons, DropdownsswatchesProducts with multiple options show one row per option, such as Color and Size.
SectionSwap button on full single-choice categoriestext—Choose this insteadControls this part of the section in the Theme Editor.
Sectionparagraph—Theme defaultControls this part of the section in the Theme Editor.
SectionStep kicker ({step}, {steps})text—Step {step} of {steps}Controls this part of the section in the Theme Editor.
SectionProducts step labeltext—ProductsControls this part of the section in the Theme Editor.
SectionReview step labeltext—ReviewControls this part of the section in the Theme Editor.
SectionReview step sub-labeltext—ConfirmControls this part of the section in the Theme Editor.
SectionReview headingtext—Review your bundleControls this part of the section in the Theme Editor.
SectionReview empty statetext—Nothing added yet — step back and pick something.Controls this part of the section in the Theme Editor.
SectionBack buttontext—← BackControls this part of the section in the Theme Editor.
SectionContinue buttontext—Continue →Controls this part of the section in the Theme Editor.
SectionContinue to review buttontext—Review →Controls this part of the section in the Theme Editor.
SectionCategory minimum hint ({remaining}, {label})text—Add {remaining} more to continueControls this part of the section in the Theme Editor.
SectionRemove line labeltext—RemoveControls this part of the section in the Theme Editor.
Message barparagraph—Theme defaultControls this part of the section in the Theme Editor.
Message barShow progress trackcheckbox—OnControls this part of the section in the Theme Editor.
Message barEmpty statetext—Add your first product to start savingControls this part of the section in the Theme Editor.
Message barProgress ({remaining}, {label}, {discount})text—Add {remaining} more to unlock {discount}% offControls this part of the section in the Theme Editor.
Message barGift prompttext—Nice! Choose your free gifts belowControls this part of the section in the Theme Editor.
Message barReady ({discount})text—{discount}% off unlocked — add your bundle to the cart!Controls this part of the section in the Theme Editor.
Message barAddingtext—Adding your bundle…Controls this part of the section in the Theme Editor.
Message barAddedtext—Your bundle is in the cart 🎉Controls this part of the section in the Theme Editor.
Message barOver largest bundletext—You’ve exceeded the largest bundle size — remove some itemsControls this part of the section in the Theme Editor.
Message barCategory below minimum ({remaining}, {label})text—Add {remaining} more to {label}Controls this part of the section in the Theme Editor.
Message barItems count ({count})text—{count} in your bundleControls this part of the section in the Theme Editor.
Message barEditing a carted bundletext—You’re editing a bundle from your cart — updating replaces it.Controls this part of the section in the Theme Editor.
Message barEditing: unavailable items ({dropped})text—Heads up: {dropped} item(s) from your original bundle are no longer available and won’t be included.Controls this part of the section in the Theme Editor.
Message barparagraph—Theme defaultControls this part of the section in the Theme Editor.
Countdown timerparagraph—Theme defaultControls this part of the section in the Theme Editor.
Countdown timerLabeltext—Ends inControls this part of the section in the Theme Editor.
Countdown timerEnded texttext—Offer endedControls this part of the section in the Theme Editor.
Productsparagraph—Theme defaultControls this part of the section in the Theme Editor.
ProductsColumns (desktop)range—4Controls this part of the section in the Theme Editor.
ProductsColumns (mobile)range—2Controls this part of the section in the Theme Editor.
ProductsImage heightrange—140Controls this part of the section in the Theme Editor.
ProductsShow products fromcollection—Theme defaultOptional. Shows this collection's products in the collection's order, and each card can use the product's full details. Products also need to be in the published campaign to appear. Campaigns with categories or quantity breaks keep the campaign's products. Leave empty to show the campaign's products.
ProductsAdd button labeltext—Add to bundleControls this part of the section in the Theme Editor.
ProductsAdded button labeltext—AddedControls this part of the section in the Theme Editor.
ProductsShow product badgescheckbox—OffShort labels like New or Refillable, from the badges saved on each product.
ProductsShow review starscheckbox—OffUses the rating your reviews app saves on each product.
ProductsReview count suffixtext—Theme defaultShown after the number, e.g. (128 Reviews). Leave empty to show only the number.
ProductsPer-product limit note ({max})text—Limit {max} per productControls this part of the section in the Theme Editor.
ProductsSold-out productsselectHide them, Show them grayed outhideControls this part of the section in the Theme Editor.
ProductsSold out labeltext—Sold outControls this part of the section in the Theme Editor.
Productsparagraph—Theme defaultControls this part of the section in the Theme Editor.
ProductsShow the toolbar fromrange—9Controls this part of the section in the Theme Editor.
ProductsSearchcheckbox—OnControls this part of the section in the Theme Editor.
ProductsSearch placeholdertext—Search these productsControls this part of the section in the Theme Editor.
ProductsSortingcheckbox—OnControls this part of the section in the Theme Editor.
ProductsSort: featuredtext—FeaturedControls this part of the section in the Theme Editor.
ProductsSort: price uptext—Price: low to highControls this part of the section in the Theme Editor.
ProductsSort: price downtext—Price: high to lowControls this part of the section in the Theme Editor.
ProductsSort: title A–Ztext—Title: A to ZControls this part of the section in the Theme Editor.
ProductsSort: title Z–Atext—Title: Z to AControls this part of the section in the Theme Editor.
ProductsFilterscheckbox—OnFilter chips are built from each product's options (like Color or Size) and the category's price range.
ProductsFilter button labeltext—FilterControls this part of the section in the Theme Editor.
ProductsLoad products in pagescheckbox—OnControls this part of the section in the Theme Editor.
ProductsProducts per pagerange—24Controls this part of the section in the Theme Editor.
ProductsLoad more button ({count})text—Show more ({count} left)Controls this part of the section in the Theme Editor.
ProductsResult count ({count})text—{count} productsControls this part of the section in the Theme Editor.
ProductsResult count, paged ({shown}, {count})text—Showing {shown} of {count}Controls this part of the section in the Theme Editor.
ProductsNo results headingtext—No products foundControls this part of the section in the Theme Editor.
ProductsNo results hinttext—Try a different search or clear the filters.Controls this part of the section in the Theme Editor.
ProductsClear filters labeltext—Clear all filtersControls this part of the section in the Theme Editor.
ProductsSelected items hidden note ({count})text—{count} selected item(s) are not shown right now.Controls this part of the section in the Theme Editor.
ProductsShow hidden items buttontext—Show themControls this part of the section in the Theme Editor.
ProductsPrice filter labeltext—PriceControls this part of the section in the Theme Editor.
ProductsPrice filter: under ({price})text—Under {price}Controls this part of the section in the Theme Editor.
ProductsPrice filter: over ({price})text—Over {price}Controls this part of the section in the Theme Editor.
ProductsCategory status ({label}, {count}, {max})text—{label}: {count} of {max}Controls this part of the section in the Theme Editor.
ProductsCategory status, no max ({label}, {count}, {min})text—{label}: {count} selected — pick at least {min}Controls this part of the section in the Theme Editor.
ProductsCategory status, optional ({label}, {count})text—{count} chosenControls this part of the section in the Theme Editor.
ProductsTier deal ({min}, {discount})text—Buy {min}+ — save {discount}%Controls this part of the section in the Theme Editor.
ProductsPer-unit price ({price})text—{price} eachControls this part of the section in the Theme Editor.
Quick viewparagraph—Theme defaultControls this part of the section in the Theme Editor.
Quick viewPhoto hover labeltext—Quick viewControls this part of the section in the Theme Editor.
Quick viewShow the pricecheckbox—OnControls this part of the section in the Theme Editor.
Quick viewShow review starscheckbox—OnControls this part of the section in the Theme Editor.
Quick viewShow badges as checkmarkscheckbox—OnThe product's badges, listed like feature checkmarks.
Quick viewShow the descriptioncheckbox—OnLoads the product's own description when the window opens.
Quick viewDescription lengthselectShort, Medium, LongmediumControls this part of the section in the Theme Editor.
Quick viewShow an add buttoncheckbox—OnControls this part of the section in the Theme Editor.
Quick viewAdd button labeltext—Add to bundleControls this part of the section in the Theme Editor.
Quick viewAdded button labeltext—✓ AddedControls this part of the section in the Theme Editor.
Quick viewLink to the product pagecheckbox—OnControls this part of the section in the Theme Editor.
Quick viewProduct page link labeltext—View full detailsControls this part of the section in the Theme Editor.
Discount ladderparagraph—Theme defaultControls this part of the section in the Theme Editor.
Discount ladderHeadingtext—Discount ladderControls this part of the section in the Theme Editor.
Free giftsparagraph—Theme defaultControls this part of the section in the Theme Editor.
Free giftsHeadingtext—🎁 Free gift unlockedControls this part of the section in the Theme Editor.
Free giftsGuaranteed-gift labeltext—Included freeShown on a preselected gift the customer can't change.
Bundle chipsparagraph—Theme defaultControls this part of the section in the Theme Editor.
Bundle chipsShow chosen options on chipscheckbox—OnControls this part of the section in the Theme Editor.
Bundle chipsEmpty statetext—Your bundle is empty — pick something above to begin.Controls this part of the section in the Theme Editor.
TotalsSavings line ({amount}, {discount})text—You save {amount} · {discount}% offControls this part of the section in the Theme Editor.
TotalsCount free gifts in the savings linecheckbox—OffThe savings line then shows the discount plus the value of any free gifts, and uses the wording below.
TotalsSavings line with gifts ({value})text—You save {value}Controls this part of the section in the Theme Editor.
TotalsSubtotal labeltext—SubtotalControls this part of the section in the Theme Editor.
TotalsDiscount labeltext—Bundle discountControls this part of the section in the Theme Editor.
TotalsTotal labeltext—TotalControls this part of the section in the Theme Editor.
Add to cartButton labeltext—Add bundle to cartControls this part of the section in the Theme Editor.
Add to cartButton label while items are needed ({remaining})text—Theme defaultShows on the button until the bundle qualifies, for example "Add {remaining} more items". Leave blank to keep the main label.
Add to cartShow the total on the buttoncheckbox—OnControls this part of the section in the Theme Editor.
Add to cartButton label while editing a carted bundletext—Update bundleControls this part of the section in the Theme Editor.
Add to cartUpdated messagetext—Your bundle is updated 🎉Controls this part of the section in the Theme Editor.
Add to cartShow error messagescheckbox—OnControls this part of the section in the Theme Editor.
Add to cartOpen the cart after addingcheckbox—OnOpens your theme's cart drawer when the bundle is added. Themes that don't support this ignore it.
Text and labels

Your words stay in the theme.

Generic storefront wording is theme-owned. The campaign keeps only the cart title and each step’s message and badge.

Before and after

Section · Heading
Build your bundle
Build your summer set

Editable in this design

  • Campaign ID (optional)Section
  • HeadingSection
  • SubheadingSection
  • Swap button on full single-choice categoriesSection
  • Step kicker ({step}, {steps})Section
  • Products step labelSection
  • Review step labelSection
  • Review step sub-labelSection
  • Review headingSection
  • Review empty stateSection
  • Back buttonSection
  • Continue buttonSection
Reorderable blocks

Keep what earns its place.

Removing a block removes that presentation layer, not the checkout rule. Shopify still validates the price.

01

Message bar

Removes the progress, ready, and status message area.

02

Countdown timer

Removes the schedule-bound countdown from this design.

03

Products

Removes the product or quantity selection surface.

04

Quick view

Removes the optional product quick-view modal.

05

Discount ladder

Removes the visible discount-step ladder, not the checkout rule.

06

Free gifts

Removes the dedicated free-gift presentation area.

07

Bundle chips

Removes the compact selected-item chip row.

08

Totals

Removes the illustrative subtotal, savings, and total display.

09

Add to cart

Removes the design’s add-bundle button.

Installation paths

Pick the least complicated path that fits.

01

Theme app block

The standard no-theme-write route. It uses the app-block renderer rather than installing this committed design file.

02

One-click is gated

This path stays hidden in production until the protected theme-write capability is available.

03

Manual install

Copy the self-contained section, then create or assign the corresponding page or product template.

Remixable display layer

Change the presentation without changing the pricing authority.

The theme renders the campaign, the storefront engine owns selection and cart intent, and Shopify checkout validates the result.

Three layers, one direction

  1. Theme and published Shopify data
  2. Selection and cart engine
  3. Shopify checkout pricing
Read the technical story