templates / shop-single-step

shop-single-step

SDK 0.4.30

A familiar Shopify-style checkout layout, kept to a single step.

Campaign Cart SDK 0.4.30 CampaignSpec v4.3
$ npx campaign-init
choose shop-single-step in the template picker
PAGES

Four pages, one funnel.

The order is fixed by the contract. Each page declares the slots it renders and the cart actions it may take.

shop-single-step landing page
landing preview
shop-single-step checkout page
checkout preview
shop-single-step upsell page
upsell preview
shop-single-step receipt page
receipt preview
plus a presell page and three upsell layouts — seven pages in the family
THE CONTRACT

What the SDK owns, and what you edit.

Templates are runtime contracts. The split below is what keeps an edited template launchable.

THE SDK OWNS
cart stateSelection, totals, and line items live in the SDK — never in your markup.
pricingPackage prices and discounts come from the CampaignSpec at render time.
order submitPayment capture and order creation, including failure retry.
hydrationEvery data-next-* attribute is wired on load. No JS required from you.
analyticsCanonical events, commerce payloads, campaign identity, and provider delivery stay in the SDK runtime.
page routingThe funnel order is fixed by the contract: landing → checkout → upsell → receipt.
YOU EDIT
markupSections, layout, and styling — anything that keeps the attributes intact.
copyHeadlines, body, and offer language on every page.
imageryProduct photography, badges, and proof elements.
offerPackages, prices, and the upsell product — declared in the CampaignSpec.
trackingConfigure provider IDs, external scripts, and blocked-event exceptions without replacing SDK-owned payloads.
edits are re-validated on every push — the contract is enforced, not trusted
NEXT STEP

Build with shop-single-step.

Open the Workspace, choose shop-single-step as your shape, wire your products, and QA the campaign before launch.

Open Workspace All templates