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

# Charts, Metrics, and Widgets in Cano Analytics Dashboards

> Learn every chart and widget type available in Cano Analytics, how to configure the query builder, and how to write custom metric formulas.

Cano Analytics supports a rich set of visualization types so you can match each question to the chart that answers it most clearly. Whether you're tracking a trend over time, comparing values across segments, measuring funnel conversion, or surfacing a single critical number, there's a chart type built for the job. This page covers all available chart types, how to add and configure them, and how to use the query builder and custom formula tools.

## Chart Types

| Type            | Best For                                        | Example Use Case                                     |
| --------------- | ----------------------------------------------- | ---------------------------------------------------- |
| **Line Chart**  | Trends over time                                | Daily active users over the past 30 days             |
| **Bar Chart**   | Comparing values across categories              | Event counts broken down by traffic source           |
| **Pie / Donut** | Showing proportions of a whole                  | Share of sessions by acquisition channel             |
| **Funnel**      | Visualizing conversion through sequential steps | Signup → Email Verified → Profile Complete → Upgrade |
| **Retention**   | Measuring how well cohorts return over time     | Day-7 user retention grouped by signup month         |
| **Table**       | Displaying raw or aggregated breakdowns         | Top 20 pages ranked by pageview count                |
| **Metric Card** | Highlighting a single KPI at a glance           | Total revenue generated this month                   |

## Add a Chart to a Dashboard

To add a new chart to an open dashboard:

1. Click the **+ Add Chart** button in the top-right corner of the chart grid.
2. In the chart picker panel, select a **chart type** from the list above.
3. Use the **Event Selector** to choose the event you want to measure (for example, `page_viewed` or `checkout_completed`).
4. Choose an **aggregation method**:
   * **Count** — total number of times the event fired
   * **Unique Users** — distinct users who triggered the event
   * **Sum** — total of a numeric event property (e.g., `revenue`)
   * **Average** — mean of a numeric event property (e.g., `session_duration`)
5. Optionally apply **filters** and **group-by** settings (see [Using the Query Builder](#using-the-query-builder) below).
6. Set a **date range** — use the global dashboard range or override it with a chart-specific range.
7. Click **Add to Dashboard**. The chart appears in the grid where you can drag and resize it.

## Using the Query Builder

Every chart in Cano is powered by the query builder, a point-and-click interface that translates your selections into an analytics query without requiring you to write any code.

### Event Selector

Click the **Event** dropdown to pick the tracked event you want to analyze. The list shows every event your application has sent to Cano. You can type to search. Select one event per chart (use custom formulas to combine multiple events — see below).

### Filters

Filters narrow the event data down to a specific subset. Click **+ Add Filter**, then:

1. Select an **event property** (e.g., `country`, `plan`, `device_type`).
2. Choose an **operator** (`=`, `≠`, `contains`, `is set`, `is not set`).
3. Enter or select a **value**.

You can stack multiple filters — all conditions use AND logic by default. To use OR logic across filter groups, click **Add Filter Group**.

### Group By (Breakdown)

Group By splits your metric across the distinct values of a property, turning a single number into a comparative breakdown. For example, grouping `page_viewed` events by `country` produces a bar chart showing pageview counts per country.

Click **+ Group By** and select the property you want to break down by. Charts support up to two Group By dimensions simultaneously.

### Date Range

Each chart inherits the dashboard's global date range by default. To override it for a specific chart, toggle **Use custom date range** in the query builder and select your desired range. Supported options include:

* Relative ranges: Last 7 days, Last 30 days, Last 90 days, This month, This quarter
* Custom absolute range: pick any start and end date

## Custom Metric Formulas

For metrics that can't be expressed as a single event aggregation, Cano's formula editor lets you combine multiple event queries with arithmetic expressions.

To use a formula:

1. When adding or editing a chart, click **+ Add Formula** below the event selectors.
2. Define two or more event queries (labeled **A**, **B**, **C**, etc.).
3. In the **Formula** field, write an expression using those labels.

**Example formulas:**

```text Formula examples theme={null}
# Conversion rate (percent of users who upgraded after signing up)
B / A * 100

# Average revenue per paying user
C / B

# Net new users (new signups minus churned users)
A - B
```

Formulas support `+`, `-`, `*`, `/`, and parentheses for grouping. The result is treated as a new metric and rendered using whichever chart type you selected.

<Note>
  Charts refresh on a fixed interval based on your plan: every **60 seconds** on the Pro plan and every **5 minutes** on the Starter plan. You can always trigger an immediate refresh by clicking the **Refresh** button in the dashboard header. Chart-level refresh overrides are not currently supported.
</Note>

## Next Steps

<CardGroup cols={2}>
  <Card title="Creating Dashboards" icon="table-columns" href="/docs/dashboards/creating-dashboards">
    Learn how to build and organize dashboards that house your charts.
  </Card>

  <Card title="Sharing & Permissions" icon="share-nodes" href="/docs/dashboards/sharing-and-permissions">
    Share dashboards with your team or external stakeholders.
  </Card>
</CardGroup>
