TheDocumentation Index
Fetch the complete documentation index at: https://docs.formo.so/llms.txt
Use this file to discover all available pages before exploring further.
formo analytics command exposes Formo’s pre-built analytics pipes — the same data that powers the Formo dashboard — as terminal commands. Each pipe is a subcommand: formo analytics <pipe>.
Requires
query:read scope on your API key.formo analytics <pipe>
Pipes
| Pipe | Description |
|---|---|
kpis | Traffic KPIs: visitors, pageviews, bounce rate, session duration |
event_timeseries | Event counts over time |
funnel | Conversion funnel across ordered steps |
flow | User path / flow analysis between steps |
frequency | Engagement frequency distribution |
lifecycle | User lifecycle stages (new, returning, power, resurrected, churned) |
retention | Retention cohort analysis |
revenue_overview | Revenue overview with optional breakdown |
revenue_by_metric | Revenue ranked by a metric column |
revenue_timeseries | Revenue over time (requires address) |
volume_by_metric | Trading volume ranked by a metric column |
top_chains | Top chains by activity |
top_events | Top events by count |
top_locations | Top locations |
top_pages | Top pages by traffic |
top_sources | Top acquisition sources |
top_wallets | Top wallets by activity |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--date-from | string | ❌ | Inclusive start date YYYY-MM-DD (default: 7 days before --date-to) |
--date-to | string | ❌ | Inclusive end date YYYY-MM-DD (default: today) |
--filters | string | ❌ | JSON array of filter conditions: [{"field": "...", "op": "...", "value": "..."}] |
--params | string | ❌ | JSON object of pipe-specific params merged into the query |
--params may not set date_from/date_to/filters — use the dedicated
--date-from/--date-to/--filters flags for those. Object/array values in
--params are JSON-encoded automatically (e.g. funnel’s steps).--filters
A JSON array of { field, op, value } conditions, e.g. [{"field":"location","op":"equals","value":"US"}]. For multi-value matching, use in / notIn with a pipe-delimited value (e.g. "chrome|firefox").
--params (pipe-specific)
Some pipes take additional, pipe-specific parameters. Pass them as a JSON object via --params:
| Pipe | Key params |
|---|---|
kpis, revenue_overview | group_by, limit, include_previous_period |
funnel | steps (required — JSON array of {type,event,name,filters?}), window_seconds, funnel_type, breakdown |
flow | start_step (required — JSON {type,event,resolved_event,...}), end_step, global_filters, window_seconds, max_steps |
retention | id_type, event_type, event_name, min_users |
revenue_timeseries | address (required) |
revenue_by_metric, volume_by_metric, top_sources | metric_column, limit, offset |
top_chains, top_events, top_locations, top_pages, top_wallets | limit, offset |
Examples
{ meta, data, rows, statistics }.