Skip to main content
Understand how new users experience your crypto app for the first time. This guide shows you how to use Flows, Funnels, and Retention to identify friction points and improve onboarding.

What you’ll learn

  • Map the actual paths new users take through your app
  • Identify where users get confused or drop off
  • Measure onboarding completion rates
  • Compare successful vs. unsuccessful user journeys
  • Track improvements over time

Prerequisites

  • Formo SDK installed (Installation Guide)
  • At least 100 new users for meaningful analysis
  • Key pages and actions identified (connect wallet, first transaction, etc.)

Part 1: How to Map User Journeys with Flows

What Flows reveal about onboarding

Flows show you the actual paths users take, not the paths you designed. This is critical for onboarding because users rarely follow the “happy path.”

Step 1: Create an onboarding flow

1

Go to Flows in the Formo Dashboard

2

Set the Starting event to your landing page (e.g., page = /)

3

Set Steps after to 5-7 steps

4

Filter by New Users to focus on first-time visitors

You’ll see a Sankey diagram showing where users actually go after landing.

Step 2: Identify common paths

Look for patterns in the flow:
PatternWhat it meansAction
Wide first branchUsers exploring, unsure where to goSimplify navigation, add clearer CTAs
Many paths to same destinationMultiple entry points workingKeep these paths optimized
Dead endsUsers hitting pages with no next actionAdd CTAs, fix broken flows
LoopsUsers going back and forthUnclear instructions, missing information

Step 3: Compare entry points

Create separate flows for different entry points:
  • Users landing on homepage vs. direct to app
  • Users from different referrers (Twitter, Discord, Google)
  • Mobile vs. desktop users
This reveals which entry points lead to successful onboarding.

Part 2: How to Measure Onboarding with Funnels

Define your onboarding funnel

Create a Funnel that captures the key onboarding steps: Example: DeFi app onboarding funnel
StepEventDescription
1page = /Landed on site
2page = /appVisited app
3type = connectConnected wallet
4type = transactionCompleted first transaction

Step 1: Create the funnel

1

Go to Funnels in the dashboard

2

Click Create Funnel

3

Add your onboarding steps in order

4

Set the conversion window (7 days recommended for onboarding)

Step 2: Analyze drop-off points

The funnel shows where users abandon the onboarding:
Drop-off pointLikely causeSolution
Landing → AppUnclear value propositionImprove landing page messaging
App → ConnectWallet friction, trust issuesAdd social proof, simplify connect flow
Connect → TransactionComplexity, gas concernsAdd tutorials, gas estimation

Step 3: Break down by segments

Use funnel breakdowns to identify which users struggle most:
  • By Referrer: Which traffic sources have best onboarding rates?
  • By Device: Is mobile onboarding broken?
  • By Country: Are there regional issues (language, regulations)?
  • By Wallet: Do specific wallet users have problems?

Part 3: How to Track Onboarding Retention

Why retention matters for onboarding

A user who completes onboarding but never returns isn’t truly onboarded. Use Retention to measure if new users stick.

Step 1: Set up retention by cohort

1

Go to Retention in the dashboard

2

Set the Starting event to connect (wallet connection)

3

Set the Returning event to connect (any subsequent connection)

4

View by weekly cohorts

Step 2: Identify the “aha moment”

Compare retention for users who completed different actions in their first session:
First session actionWeek 1 retentionInsight
Only connected wallet15%Need to drive deeper engagement
Viewed 3+ pages25%Exploration helps
Completed transaction45%Transaction is the “aha moment”
Use this to optimize your onboarding to drive users toward high-retention actions.

Part 4: How to Segment New Users

Create onboarding segments

Use Segments to track users at different onboarding stages: Segment 1: Landed but didn’t connect
  • Visited page in last 7 days
  • Did NOT connect wallet
Segment 2: Connected but didn’t transact
  • Connected wallet in last 7 days
  • Did NOT complete transaction
Segment 3: Completed onboarding
  • Completed transaction in last 7 days
  • Is a New User (lifecycle)

Track segment sizes over time

Monitor these segments to measure onboarding health:
Onboarding rate = (Completed onboarding) / (Landed) × 100
Create a Dashboard to track this metric over time.

Part 5: How to Build an Onboarding Dashboard

Create a dashboard with these visualizations:
ChartTypePurpose
Onboarding funnelFunnelOverall conversion rates
Daily new usersLineVolume trends
Onboarding rateNumberKey metric
Drop-off by stepBarWhere users abandon
Retention by cohortRetentionLong-term success
Top entry pagesTableTraffic patterns

Example SQL: Onboarding rate

SELECT
  toDate(timestamp) AS date,
  countDistinct(CASE WHEN type = 'page' THEN anonymous_id END) AS landed,
  countDistinct(CASE WHEN type = 'connect' THEN address END) AS connected,
  countDistinct(CASE WHEN type = 'transaction' THEN address END) AS transacted,
  round(connected / landed * 100, 1) AS connect_rate,
  round(transacted / connected * 100, 1) AS transaction_rate
FROM events
WHERE timestamp >= now() - INTERVAL 30 DAY
GROUP BY date
ORDER BY date

Part 6: How to Optimize and Iterate

A/B test onboarding changes

When you make changes to improve onboarding:
1

Note the date of the change

2

Compare funnel metrics before/after

3

Check if retention improved for post-change cohorts

Common onboarding improvements

IssueSolutionHow to measure
Low landing → app conversionClearer CTA, better messagingFunnel step 1→2 rate
Wallet connect drop-offSimplify options, add trust signalsFunnel step 2→3 rate
High bounce on app pageImprove loading speed, add guidanceFlows showing exits
Users don’t returnEmail/notification follow-upWeek 1 retention

Summary

You’ve learned how to:
  1. Map user journeys with Flows to see actual behavior
  2. Measure onboarding with Funnels to find drop-off points
  3. Track retention to ensure users stick after onboarding
  4. Segment users by onboarding stage for targeted actions
  5. Build dashboards to monitor onboarding health
  6. Iterate based on data to continuously improve

Onboarding analysis checklist

Next steps