Part 1: Navigate to the Chart Builder
The funnel builder opens with a blank canvas. You’ll see the chart editor on the right and a preview pane on the left.
Part 2: Define Your Funnel Steps
Funnels require at least 2 steps. Each step is an event that users must complete in sequence. Let’s build a classic conversion funnel: Step 1: Page View
Step 2: Wallet Connect
Step 3: Transaction

Part 3: Set Your Conversion Window
The conversion window defines how much time a user has to complete the next step. For example, if Step 1 is “page” and Step 2 is “connect”, a 1-day window means we count the user toward Step 2 only if they connect a wallet within 24 hours of landing.Part 4: Choose Funnel Type
Formo supports two funnel types: Closed Funnel Each step must follow the previous step. User must view a page, then connect, then swap. Most common. Open Funnel Each step is independent. User can swap without connecting first (e.g., batch transactions, programmatic access). Choose this if your funnel steps can happen in any order.Part 5: Analyze the Results
Once your funnel is configured, the preview pane shows your funneling data in real-time:- Absolute numbers: Count of users at each step
- Conversion rate: Percentage of users who advance
- Drop-off: Users who left at each step
- Visual width: Bar width represents conversion percentage

Part 6: Add Breakdown Dimensions
Break down your funnel by user attributes to find patterns:Select a dimension:
- Referrer: Which traffic source converts best?
- Country: Geographic patterns?
- Device: Mobile vs desktop conversion?
- UTM Source: Which campaign drives best users?
- Chain: Which blockchain has highest conversion?
Part 7: Use Conversion Insights
Formo uses statistical analysis to find what drives conversions. Click the Insights tab (next to the funnel chart) to see:- Lift: Which attributes increase conversion probability
- Odds ratio: How much more (or less) likely users with this attribute convert
- Statistical significance: Is this insight real or noise
Part 8: Save Your Funnel to a Dashboard
Your funnel is now saved and will update daily with new data. Return to your dashboard anytime to track trends.
Real-World Example: DEX Swap Funnel
Here’s how to set up a high-quality funnel for a DEX:| Step | Event | Filter | Meaning |
|---|---|---|---|
| 1 | page | path = “/swap” | Users who visit the swap page |
| 2 | connect | chain in (ethereum, polygon, arbitrum) | Users who connect a supported wallet |
| 3 | transaction | contract_address = “0xE592427A0AEce92De3Edee1F18E0157C05861564” | Users who execute a swap |
Best Practices
- Segment your funnels: Don’t mix swap and pool deposit users in one funnel. Create separate funnels for each user path.
- Monitor daily: Check your funnel once a week. Look for drops (potential bugs) or spikes (successful campaigns).
- Pair with retention: A high-conversion funnel is great, but if users don’t return, you’re not growing. Use Retention tracking to measure long-term value.
- Use Ask AI: Click the chat bubble and ask “Why did my wallet connection rate drop 10% this week?” Formo will analyze your data.
- Contract events: If you track Contract Events, you can create funnels for specific contract interactions (e.g., “approved” to “swap” to “received”).
DeFi-Specific Funnel Recipes
Staking Funnel
Track staking adoption with this canonical four-step funnel:| Step | Event | Filter |
|---|---|---|
| 1 | page | path = “/stake” |
| 2 | connect | chain = “ethereum” |
| 3 | approval | contract_address = “0x…“ |
| 4 | stake | function_name = “stake” |
Liquidity Provision Funnel
Liquidity provision funnels are longer because users must approve two tokens, then add liquidity:| Step | Event | Filter |
|---|---|---|
| 1 | page | path = “/pool” |
| 2 | connect | - |
| 3 | approval_1 | function = “approve”, token = “tokenA” |
| 4 | approval_2 | function = “approve”, token = “tokenB” |
| 5 | addLiquidity | function = “addLiquidity” |
Multi-Step DeFi Flow: Deposit to Borrow
Track the full lending funnel (Deposit > Borrow > Repay):| Step | Event | Filter |
|---|---|---|
| 1 | deposit | function = “supply” |
| 2 | borrow | function = “borrow” |
| 3 | swap | (optional) use borrowed assets |
| 4 | repay | function = “repay” |
Key DeFi Drop-Off Patterns
Common friction points and solutions:| Drop-Off Point | Common Cause | Fix |
|---|---|---|
| Wallet Connect (Step 2) | No visible button; multi-chain confusion | Add prominent connect button; default to user’s last-used chain |
| Token Approval (Step 3) | Unclear why approval needed | Add UX explainer (“We need permission to transfer your tokens”) |
| Transaction Submit | High gas fees; browser extension timeout | Show gas estimate upfront; increase approval window |
Whale Swap Alert Setup
Monitor high-value swaps on your DEX:- Create a funnel with step: transaction + filter amount_usd > 100000
- Add breakdown by user_address to spot repeat whale traders
- Set an alert to get notified when whale wallets transact
- Use Insights to find attributes of whale traders and target similar users
Failed Transaction Alert
Track when transactions fail to identify UX issues that cause drop-off:- Go to Project Settings > Alerts
- Click Create Alert
- Configure: Event =
transaction, Condition =status = failed - Set notification to Slack or email
- Investigate spikes in failures — they often correlate with funnel drop-off at the transaction step
Next Steps
Your conversion funnel is live. Next steps:- Analyze Segments: Create a segment of high-converting users and re-target similar users.
- Set Alerts: Get notified when high-value users connect or transact.
- Read the Funnel Guide: Deep dive into advanced funnel features.
- Measure Retention: Track if high-converting cohorts also retain well.
FAQ
Can I use contract events in my funnel?
Can I use contract events in my funnel?
Yes. If you’ve set up Contract Events, you can select any of them in the funnel builder. For example, a Uniswap funnel might be: “page” > “swap (contract event)” > “Transfer (contract event)”.
What's the difference between closed and open funnels?
What's the difference between closed and open funnels?
Closed funnel: User must complete steps in order. Page view, then wallet connect, then swap.Open funnel: Steps are independent. User can swap without a page view event (e.g., direct contract calls, wallet batch operations). Use open funnels when your steps can happen in any sequence.
What conversion window should I use?
What conversion window should I use?
- Swap, stake, claim: 1 day (fast decisions)
- Pool deposits, farming: 7 days (deliberate)
- Loans, governance: 14-30 days (long consideration)