Multi-page flows
Split longer checkouts into focused pages for plan selection, buyer details, payment, upsells, and confirmation.
Use a multi-page flow when one screen would overload the buyer.
Good fits
- application or intake checkout
- plan selection before payment
- paid upgrade with user context
- event registration with attendee details
- checkout followed by an upsell or save offer
SDK behavior
The SDK still opens the offer by slug:
await plandalf.present("application-flow", {
frame: "fullscreen"
});
For embedded flows, mount the offer into a stable container:
<div data-plandalf-mount="application-flow"></div>
Close protection
For longer flows, add close confirmation.
plandalf.present("application-flow", {
confirmClose: () => window.confirm("Leave this application?")
});
Related docs
Builder context
Build the offer beside the docs.
These pages explain the setup details. The matching product surfaces show where products, prices, checkout layout, invoices, and automation live in the app.
Offers product Hosted checkout, buy buttons, products, prices, coupons, bumps, upsells, invoices, and save offers. Hosted checkout The hosted buying surface for offers. Products The commercial objects attached to an offer. Prices One-time, subscription, package, tiered, and variant pricing. Checkout Optimization Lab A builder stack for improving checkout mechanics.