Skip to content

Trial journey 20,400 trials

Where new trials convert or drop off. Sample data, local interactions only.

Signed up20,400100%
Activated13,26065.0%
Team invited7,82338.3%
Converted14.4%2,934 upgraded
ChannelsSigned upActivatedTeam invitedConvertedDocs8,364Referrals5,916Newsletter3,876Marketplace2,244Signed up20,400Activated13,260Skipped setup7,140Invited7,823Went solo5,437Upgraded2,934Stayed on free4,889
Signed up20,400 trials · 100.0% of sign-ups

UpgradedDropped offParticle density follows trial volume. Fictitious data, no analytics service connected.

Use this template ​

  • SankeyFunnel.vue is the reusable component. It reads your template's --vp-c-* tokens, so it matches any theme. This page only sets a dark token set around it.
  • Replace ranges in the component with your own stage counts. Each flow value comes from the node it leads to (or its channel for sign-ups), so totals add up.
  • The layout is plain SVG computed in script. Add a stage by adding a column and its links.
  • Motion: ribbons and cards fade in on range change, particles run on one requestAnimationFrame loop, and everything stops on unmount or when prefers-reduced-motion is on.
  • Every template page has a "Conversion funnel (Sankey)" section using the same component.
  • Keep the data source outside the component. This page never calls an analytics API.