Skip to main content
Move the visitor forward; checkout buttons live here too. Add these components to a step in the editor and change their settings in the inspector, or ask an agent to; the settings below are the same in both.

Button

Type Button. Advances, checks out, or links out. action next validates every input on the screen (errors show inline) then goes on; checkout opens payment for the selected plan (needs a PlanSelector on the same step); url opens a link; scroll jumps within the screen without validating. Busy/disabled with a spinner while next or checkout is in flight. sticky (default) pins it to the bottom bar. Label <=24 chars. disabledUntil gates it on answers; appearance box tokens style the button itself.

Loader

Type Loader. Shows timed progress, then advances. Runs once per mount over durationMs; the checklist ticks off with the percentage and results appear per line. autoAdvance goes on at 100% (after any step hook answers), so the step needs no Button. An optional mid-way question pauses progress until answered. Exposed as a progressbar. Checklist rows may reveal a right-side value (text, pill or badge) in theme tones; legacy result/resultBadge still work. question.display “sheet” asks in a modal bottom sheet that must be answered.
Type Popup. Opens a delayed offer or reminder. Modal bottom sheet that opens delayMs after the step shows (once); closes on scrim, close icon, Escape or dismissLabel, with focus trapped and restored. The primary button closes it, then goes next or opens url. Sends popup_view once. Never put essential info only here.

Analytics milestone

Type AnalyticsMilestone. Invisible scroll marker for long screens. Fires milestone_view once when this exact position first enters the viewport; Amplitude exposes props.name as the event type. Use for report reveals, deep paywall sections and other persuasion milestones that are not separate steps.