> ## 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.

# Metrics

> Complete reference of all Formo metrics including visitors, wallets connected, transactions, revenue, retention rates, and acquisition channel breakdowns.

### Live Visitors

How many visitors are currently active on your site or app.
It counts unique active sessions with a page view in the last 10 minutes.

### Visitors

How many unique visitors are interacting with your site or app across the selected period, spanning multiple page views and events.
A visitor is identified by a persistent visitor ID (their anonymous ID) and is not stitched to a wallet, so this counts distinct visitors rather than connected wallets.

In the overview, the **Visitors** chart shows the daily unique-visitor count (a visitor active on several days adds to each of those days), while the headline number is de-duplicated across the entire selected period, so a visitor active on multiple days is counted only once.

Comparable to Google Analytics' "Active users".

### Wallets

Unique wallet addresses active with at least one session during the selected period.

We also collect other wallet details, such as the wallet address, wallet type, and wallet profiles.

### Transactions

How many transactions have been made across your site or app.

### Page Views

How many times a page has been viewed across your site or app.

### Sessions

A session (also known as a visit) is a set of actions that a user takes on your site.
Formo counts unique session IDs. With the web SDK, each visitor's session is counted once per day, so one visitor can have multiple sessions across days.

### Session Duration

Session duration measures the observed active time a visitor spends during a single visit (session).

##### How It's Calculated

1. Per-event gaps: The system measures the time between each consecutive event in a session.

2. Active time only: It sums those gaps but ignores any gap longer than 30 minutes (1800 seconds) — long inactivity is treated as the visitor leaving, not as time on site.

3. Per-session duration: Adding the counted gaps gives the session's active duration. A session with a single event (e.g. one pageview) has a duration of 0.

4. Averaging: To get the average session duration shown in your reports, the system adds up all individual session durations and divides by the number of sessions.

##### What This Means For You

* The reported average session duration gives you a reliable measure of how long people typically engage with your site.
* Longer average sessions generally indicate more engaging content.
* This metric helps you understand if changes to your site are improving user engagement over time.
* Note: The system can only measure activity it can see - when someone views a page or clicks something. If a visitor reads a long article without interacting further, the system can't detect this "passive" time. This is a standard limitation in all web analytics platforms.

For most purposes, this calculation method provides an accurate and useful measure of how long visitors are engaging with your content.

### Bounce Rate

The bounce rate is the percentage of sessions that bounce, measured over sessions (not unique visitors).
Formo counts a "bounce" when a session has a single pageview, no engagement events, and less than 10 seconds of observed activity. Engagement events are wallet connects, transactions, tracked custom events, and smart contract events (decoded logs).

### Referrers / Sources

How many users are referred to your site or app by a particular source such as a search engine, social media platform, etc.

Referrers are the statistics for the referring site. The data is extracted from the Referrers (with a r) HTTP header and may not be set by the browser. In these cases it will be listed as unknown.

### UTM parameters

How many users come to your site or app from a particular source. We track these UTM codes:

* `utm_source` (e.g.: google.com)
* `utm_medium` (e.g.: search)
* `utm_campaign` (e.g.: summer\_sale)
* `utm_content`
* `utm_term`

To minimize the amount of traffic that falls within the "Direct / None" category, you can add special query parameters (UTMs) to your links.

### Channel

The acquisition channel that brought a session to your app. Every session is assigned to exactly one of 12 channels at query time, using a priority-ordered ladder over referrer domain, `utm_medium`, and 8 ad-platform click IDs (`gclid`, `gad_source`, `fbclid`, `msclkid`, `ttclid`, `twclid`, `li_fat_id`, `rdt_cid`).

| #  | Channel        | Definition                                                                                                                                       |
| -- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| 1  | Paid Search    | Paid signal + referrer is a search engine (Google, Bing, DuckDuckGo, Yahoo, Yandex, Baidu, Brave, Kagi, Naver, ...)                              |
| 2  | Paid Video     | Paid signal + referrer is a video platform (YouTube, Vimeo, Twitch, Dailymotion, Loom, Wistia)                                                   |
| 3  | Paid Social    | Paid signal + referrer is a social platform (Meta, X, LinkedIn, Reddit, TikTok, Pinterest, Snapchat, Threads, Discord, Telegram, Farcaster, ...) |
| 4  | Email          | `utm_medium` ∈ \{`email`, `e-mail`, `e_mail`, `newsletter`}                                                                                      |
| 5  | Affiliates     | `utm_medium=affiliate` or non-empty `ref` query parameter                                                                                        |
| 6  | Display        | `utm_medium` ∈ \{`display`, `banner`, `expandable`, `interstitial`}                                                                              |
| 7  | AI             | Referrer is an AI assistant domain (ChatGPT, Claude, Gemini, Copilot, Perplexity, DeepSeek, Phind, Poe, Mistral Chat, Meta AI, You.com, Pi)      |
| 8  | Organic Search | `utm_medium=organic` or referrer is a search engine with no paid signal                                                                          |
| 9  | Organic Social | `utm_medium` ∈ \{`social`, `social-network`, `social-media`, `sm`} or referrer is a social platform with no paid signal                          |
| 10 | Organic Video  | Referrer is a video platform with no paid signal                                                                                                 |
| 11 | Referrers      | Any other non-empty referrer not matched by the rules above                                                                                      |
| 12 | Direct         | No referrer, no UTM, no click ID (typed URL, bookmark, or stripped referrer)                                                                     |

A session has a **paid signal** when any of the following is true: `utm_medium` is one of `cpc`, `cpm`, `cpv`, `cpa`, `ppc`, `paidsearch`, `paidsocial`, `sem`, `retargeting`; `utm_medium` starts with `paid`; or any of the 8 click IDs above is non-empty. Same-domain referrers (e.g. `blog.example.com` referred from `app.example.com`) are stripped before classification so internal navigation rolls up to **Direct** instead of **Referrers**.

### Referrals

How many users are referred to your site or app by a particular user. We use the `ref` query parameters to track referrals.

### Countries

Countries are the statistics for the country of origin of the visitors.

### Devices

How many users are using a particular device such as desktop, mobile, tablet, etc.

### Browsers

Browser is the statistics of the browser used by the visitor. It is extracted from the User-Agent and Client Hints HTTP headers.

### OS

Shows the operating systems used by your visitors.

### First Seen

The date and time when a user or wallet was first observed interacting with your app.

### Last Seen

The most recent date and time when a user or wallet was observed interacting with your app.

### User lifecycle

The lifecycle stage of each wallet or visitor (New, Returning, Power User, Resurrected, At Risk, or Churned), computed from their activity recency and frequency relative to a reference date.

See [User Lifecycle](/features/wallet-intelligence/wallet-profiles#user-lifecycle) for the exact rules and thresholds for each stage.

### New Users

Users who visit your site or app for the first time within the selected time period.

### Returning Users

Users who have visited your site or app in previous time periods and return within the current period.

### Resurrected Users

Users who were previously active, became inactive for a period of time, and then return after being inactive.

### At Risk Users

Established users who are still active but have been quiet for a stretch, and who had real activity before going quiet (so it is not a one-off visit).

### Churned Users

Users with no activity within the project's churn window.

### Events

Events are user-defined custom events. They have a name and optional metadata key/value pairs. When you expand the activity feed, you can view and filter the metadata.

Metadata can be anything. For example, you can define an event Button clicked and track which button was clicked as the metadata field `button=Header`.

### Top apps

The most popular apps used by wallets in your audience.

### Top chains

The most popular chains used by wallets in your audience.

### Top tokens

The most popular tokens held by wallets in your audience.

### Wallet Profiles

Wallet profiles are a collection of onchain and offchain data about a wallet.

A profile includes a list of properties such as their address, type, net worth, and more.

### Wallet Address

Formo uses the wallet address as a persistent identifier for a visitor where available.

### Wallet Type

How many users are using a particular wallet type such as MetaMask, Rainbow Wallet, etc.

### Wallet Net Worth

The total net worth of a wallet on the top chains across DeFi positions and token balances.

### Wallet Age

The amount of time that has passed since a wallet has been first active onchain.

### Transaction Frequency

How often a user or wallet performs transactions within a given time period (e.g., daily, weekly, monthly).

### First Onchain

The date and time of the first onchain activity detected for a wallet.

### Last Onchain

The most recent date and time of onchain activity detected for a wallet.

### Wallet Labels

Labels are assigned to a wallet address based on its past onchain activity and public information offchain.

### Chain Id

How many users are using a particular chain such as Ethereum, Polygon, etc.

### Apps

How many users are using a particular app such as Uniswap, OpenSea, etc.

### Tokens

How many users hold a particular token such as USDC, USDT, etc.

### Feature Usage Rate

The percentage of users or wallets who have used a specific feature of your app, helping you measure adoption and engagement for key functionalities.

### Conversion Rate

Calculate the conversion rate of key user flows with the [Funnels](/features/product-analytics/funnels) feature.

### Funnels

You can follow the visitor journey from a landing page to a conversion with funnel analysis.

### Retention Rate

Retention rates: the percentage of customers who continue to use your service or product over a predetermined period (7, 30, 90 days.)

### Churn Rate

The percentage of customers who stop using your service or product over a predetermined period.

### Customer Acquisition Cost (CAC)

How much you've spent to acquire a customer.

### Average Revenue Per User (ARPU)

How much revenue you've made from your site or app.
This is a part of [revenue attribution tracking](/features/product-analytics/custom-events#step-3-track-with-volume-revenue-or-points).

### Customer Lifetime Value (CLTV)

CLV estimates the total revenue a user generates over their entire engagement with your app.
