Conversion Funnel

card-ui progress-row-ui row-ui col-ui

Composition pattern: render a multi-step drop-off funnel without a dedicated funnel component. Uses progress-row-ui for each step so the bar, label, and meta text stay aligned to the card-ui content rhythm.

When to use

Funnel charts ship with a lot of visual baggage (trapezoidal segments, angled labels) that don't compose well inside a card. A stack of labeled progress rows reads clearer, hits the same "big → small" shape, and stays accessible: every step is a real DOM element with a percentage. Use this whenever a user needs to see sequential drop-off — onboarding, checkout, activation, paywall.

Four-step funnel

Top step is an explicit 100% baseline (no progress bar — it's the anchor). Subsequent steps use progress-row-ui with the count + percentage in the meta slot.

Conversion funnel

Visit → Sign up → Activate → Convert
Visited landing page 28,432 visitors 100%

With segment comparison

Pair the funnel card with a segmented control in slot="action" so users can switch between cohorts (e.g. new-vs-returning, mobile-vs-desktop). Swap the value + meta attributes in setup.js on segment change.

Checkout funnel

Last 30 days · by first-time vs returning
Cart viewed 42,180 sessions 100%

Wide summary with step-over-step delta

For board reporting, combine the funnel with a step-over-step delta column so stakeholders can see exactly where the biggest drop-off happens. Delta is a badge-ui colored by severity.

Signup funnel

Step-over-step conversion, last 7 days
Signup form viewed 8,420 visitors 100%

Variants & knobs

Anti-patterns

Authoring rules