> ## Documentation Index
> Fetch the complete documentation index at: https://docs.formo.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Funnels

> Build multi-step conversion funnels that track user journeys from page view to wallet connect to onchain transaction, with drop-off rates at each step.

<Frame caption="Create a funnel by adding steps to your crypto app and measuring the conversion rate at each step.">
  <img src="https://mintcdn.com/formo/Qbe3dL6juMIXAS6y/images/funnels.png?fit=max&auto=format&n=Qbe3dL6juMIXAS6y&q=85&s=3ea9f58f6eee2cca5b862cde8334d32c" alt="Funnels" width="2880" height="1866" data-path="images/funnels.png" />
</Frame>

Visualize how users progress through a series of steps with Funnel Analysis.

* Analyze the user flow across pages, domains, and subdomains throughout your site and app.
* Go beyond pageviews and track [contract events](/features/product-analytics/contract-events) and [custom events](/features/product-analytics/custom-events) to build a funnel.
* Measure the conversion rate to understand the percentage of visitors who started the user flow and ended with a conversion event.
* Measure the percentage drop-off between the individual funnel steps to spot where you lose the most users.
* Use filters to segment your audience. Filter conversion funnels by marketing campaign, traffic source, device, and more.

## Conversion Windows

Specify a conversion window for your funnels to control the time period during which funnel steps must be completed.

The default conversion window is 2 weeks, meaning all steps must be completed within that time. Longer windows will include more event completions.

## Step Order

Control whether funnel steps must be completed in sequence or in any order. This setting changes how Formo counts conversions and can significantly affect your reported numbers.

### Sequential (Closed Funnel)

Step B must happen after Step A, but any number of events can happen between A and B.

This is the default and most common mode. Users must progress through your defined steps in order, but they can perform other actions in between. For example, in a funnel of **Page View → Wallet Connect → Swap**, a user who visits the page, browses other pages, connects their wallet, checks token prices, and then swaps would still count as converted.

<Note>
  **Seeing less than expected counts in the sequential funnel?** Users likely:

  * Skipped steps in your defined funnel
  * Completed steps in a different order
  * Had multiple wallets/sessions where they completed different parts of the funnel

  Consider making the funnel less strict by removing some intermediate steps, or use an open funnel.
</Note>

### Any Order (Open Funnel)

Counts users who performed each event, regardless of sequence or timing.

In this mode, users must complete all defined steps within the conversion window, but the order does not matter. The first step in your funnel could be the last action the user takes. This is useful when your funnel steps represent a set of actions rather than a linear journey.

**When to use each mode:**

| Mode           | Best for                                 | Example                                   |
| -------------- | ---------------------------------------- | ----------------------------------------- |
| **Sequential** | Linear user journeys where order matters | Page view → Wallet connect → Swap         |
| **Any order**  | Feature adoption or non-linear flows     | Deposit, Borrow, and Swap in any sequence |

<Tip>
  Start with **Sequential** (the default). Switch to **Any order** only if your funnel represents actions that genuinely happen in variable order - such as multi-step DeFi flows where users may borrow before swapping, or complete approvals in any sequence.
</Tip>

## Funnel Breakdowns

Break down funnel steps by key dimensions to understand how different user segments convert:

* **Referrer**: See which traffic sources drive the best conversions
* **Country**: Understand geographic differences in conversion rates
* **Device**: Compare mobile vs desktop conversion performance
* **OS**: Analyze conversion rates across operating systems

## Conversion Insights

Discover which events or user properties are most strongly associated with conversion. We prioritize two key metrics to help you identify meaningful drivers:

* **Lift**: Measures the impact of an event. A lift > 1 means users who perform the event are more likely to convert.
* **Odds Ratio**: Measures the strength of the association. Useful for verifying that an observed lift is not just due to random chance, especially for rare events.

<Accordion title="Deep Dive: How is this calculated?">
  **2×2 Contingency Table**

  All insights are derived from a standard binary exposure vs. conversion table:

  |                   | Converted | Did Not Convert | Total |
  | ----------------- | --------- | --------------- | ----- |
  | **Did Event**     | a         | b               | a+b   |
  | **Did NOT Event** | c         | d               | c+d   |
  | **Total**         | a+c       | b+d             | N     |

  **Key Metrics**

  1. **Lift**
     $$
     Lift = \frac{a / (a+b)}{(a+c) / N}
     $$
     * *Interpretation*: Lift > 1 indicates a positive effect.
  2. **Odds Ratio**
     $$
     \text{Odds Ratio} = \frac{a \times d}{b \times c}
     $$
     * *Interpretation*: An Odds Ratio > 1 confirms a positive correlation.

  **Noise Reduction**

  To prevent false positives, we automatically filter out events with:

  * Low volume (fewer than 10 users).
  * Negligible impact (less than 0.2% - 1.5% absolute difference depending on baseline conversion).
</Accordion>

***

## How to create your first funnel

Build a conversion funnel to track how users progress from first visit to onchain action. This guide walks you through creating, analyzing, and optimizing funnels.

### What is a funnel?

Think of a funnel like a kitchen funnel: wide at the top, narrow at the bottom. Users enter at the top (e.g., visiting your site) and progress through steps until some complete the final action (e.g., making a transaction). At each step, some users drop off.

Funnels help you:

* **Measure conversion rates** between steps
* **Identify bottlenecks** where users drop off
* **Compare performance** across segments (referrers, devices, countries)

### Step 1: Create a Funnel chart

Funnels are a chart type you add to a dashboard (board), not a separate nav page.

1. Go to the [Formo Dashboard](https://app.formo.so)
2. Select your project
3. Open **Dashboards** in the left navigation, then open or create a board
4. Click **Add Chart** and choose the **Funnel** chart type

### Step 2: Add funnel steps

Define the user journey you want to track. Click **Add Step** for each action:

| Step | Event Type     | Example                  |
| ---- | -------------- | ------------------------ |
| 1    | Page view      | Visit `/swap`            |
| 2    | Wallet connect | User connects wallet     |
| 3    | Transaction    | User submits transaction |

<Tip>By default, steps must happen in order (Sequential mode). Formo tracks users who complete step 1, then step 2, then step 3 in sequence. You can change this to **Any order** in the [Step Order](#step-order) settings.</Tip>

### Step 3: Configure each step

For each step, specify:

**Page view steps:**

* Event type: `page`
* Filter: `path = /swap` (or any URL path)

**Wallet connection steps:**

* Event type: `connect`
* Optional: filter by chain

**Transaction steps:**

* Event type: `transaction`
* Optional: filter by contract address or status

**Contract event steps:**

* Event type: Your contract event (e.g., `Swap`, `Transfer`)
* Requires [contract events](/features/product-analytics/contract-events) to be configured

### Step 4: Set the conversion window

Choose how long users have to complete all steps:

| Window            | Best for                         |
| ----------------- | -------------------------------- |
| 1 day             | Immediate actions (mints, swaps) |
| 7 days            | Considered purchases             |
| 14 days (default) | Complex user journeys            |
| 30 days           | Long sales cycles                |

Users must complete all steps within this window to count as converted.

### Step 5: Analyze your funnel

After creating your funnel, you'll see:

1. **Conversion rate** - Percentage who completed all steps
2. **Drop-off by step** - Where users abandon the journey
3. **Absolute numbers** - User count at each step

<Frame caption="Funnel visualization showing conversion rates and drop-off at each step.">
  <img src="https://mintcdn.com/formo/Qbe3dL6juMIXAS6y/images/funnels.png?fit=max&auto=format&n=Qbe3dL6juMIXAS6y&q=85&s=3ea9f58f6eee2cca5b862cde8334d32c" alt="Funnel Analysis" width="2880" height="1866" data-path="images/funnels.png" />
</Frame>

### Step 6: Add breakdowns

Click **Add Breakdown** to compare conversion across segments:

| Breakdown      | What you learn                     |
| -------------- | ---------------------------------- |
| **Referrer**   | Which traffic sources convert best |
| **Country**    | Geographic conversion differences  |
| **Device**     | Mobile vs desktop performance      |
| **UTM Source** | Campaign performance               |

### Example: DEX swap funnel

Track users from landing to completed swap:

| Step | Event          | Typical conversion |
| ---- | -------------- | ------------------ |
| 1    | Visit `/swap`  | 100% (baseline)    |
| 2    | Connect wallet | 40-60%             |
| 3    | Approve token  | 70-80%             |
| 4    | Complete swap  | 85-95%             |

If you see a big drop between steps 1 and 2, focus on improving wallet connection UX.

### Using Conversion Insights

After running your funnel, check the **Insights** tab to see which user behaviors correlate with conversion:

* **High lift events**: Users who did X are 2x more likely to convert
* **Negative indicators**: Users who did Y are 50% less likely to convert

Use these insights to:

* Encourage high-lift behaviors in your UX
* Reduce friction that causes negative behaviors

### Next Steps

<CardGroup cols={2}>
  <Card title="Contract Events" icon="file-contract" href="/features/product-analytics/contract-events">
    Add onchain events to your funnels
  </Card>

  <Card title="Custom Events" icon="bolt" href="/features/product-analytics/custom-events">
    Track custom conversion points
  </Card>

  <Card title="Flows" icon="route" href="/features/product-analytics/flows">
    Visualize all user paths
  </Card>

  <Card title="Retention" icon="calendar" href="/features/product-analytics/retention">
    Measure user return rates
  </Card>
</CardGroup>
