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

# Metrics

> The values a widget plots — Spend, Impressions, CTR, sessions, and more.

A **metric** is a value pulled from a data source and rendered by a widget. Every widget that shows values picks one or more metrics — Spend, Impressions, Clicks, CTR, sessions, revenue, campaign name — and each metric renders according to its own type and formatting rules.

## Where metrics come from

Metrics come from **data sources**. Each connected data source provides its own set of metrics. When a data source is picked in a widget, the metric picker surfaces every metric that source provides.

* **Ad data sources** (Meta, Google Ads, TikTok, etc.) provide the standard ad-performance metrics: Spend, Impressions, Clicks, CTR, CPM, CPC, Conversions, and platform-specific variants.
* **Analytics data sources** (GA4, Piano, Amplitude, etc.) provide session and engagement metrics: Sessions, Users, Pageviews, Bounce rate, and any custom metrics defined at the analytics platform level.
* **E-commerce data sources** (Shopify, WooCommerce, etc.) provide order-side metrics: Orders, Revenue, Average order value, Cart abandonment rate.
* **Database data sources** (BigQuery, PostgreSQL, Redshift, etc.) provide whatever numeric or text columns exist in the connected table.
* **File data sources** (CSV, Google Sheets, Excel, etc.) provide whatever columns exist in the uploaded or linked file.

For a data source's full metric inventory, see the connector's **Metrics and dimensions** reference page.

## Metric types

Every metric has a **type** that controls how the value renders in a widget. The types available:

| Type                            | Example                                    | Behavior                                                    |
| ------------------------------- | ------------------------------------------ | ----------------------------------------------------------- |
| **Text**                        | Campaign name                              | Displays the raw text value.                                |
| **Number (Decimal)**            | Average CTR (before percentage conversion) | Displays a number with decimal places.                      |
| **Number (Integer)**            | Order count                                | Displays a whole number.                                    |
| **Currency**                    | Spend, Revenue                             | Formats the number with a currency symbol.                  |
| **Percentage**                  | CTR                                        | Converts the underlying value into a percentage display.    |
| **Percentage (already scaled)** | A metric that's already `12.34` for 12.34% | Displays the value as a percentage without further scaling. |
| **Duration**                    | Average session duration                   | Converts seconds into a readable duration format.           |
| **Link**                        | Ad preview link                            | Displays as a clickable link.                               |

Missing values (null, undefined, non-numeric where a number is expected) render as a dash (`-`).

### How types are set

For **API-connected data sources** (ad channels, analytics, e-commerce), metric types are determined by the source API and can't be changed in Adriel — they arrive with the type the source declares.

For **database data sources** (BigQuery, PostgreSQL, Redshift, etc.) and **file data sources** (CSV, Google Sheets, Excel, etc.), metric types are user-configurable in the data source's **data display settings**.

## Currency and multi-currency

Currency metrics render with the workspace or teamspace currency. When a dashboard reads from multiple sources in different currencies, Adriel converts values to a display currency using configured exchange rates. See [Multi-currency reporting](/dashboards/building/multi-currency-reporting).

## Aggregation

Metrics aggregate according to the metric's own definition:

* **Sum** metrics (Spend, Impressions, Clicks) add across rows.
* **Average** metrics (Average CPC, Average CPM) recompute on the aggregated numerator and denominator so the result is a true average — not an average of averages.
* **Unique** metrics (Reach, Frequency) apply platform-specific deduplication rules and aren't directly summable across time or breakdowns without loss of accuracy.

If a metric's value looks unexpectedly high or low compared to the ad platform's dashboard, aggregation mismatch is usually why — see [Data differs between widgets](/troubleshooting/data-differs-between-widgets).

## Adding, removing, and reordering metrics

Inside a widget's settings panel:

* **Add** — pick a metric from the picker.
* **Remove** — click the **X** on a metric chip.
* **Reorder** — drag metric chips to reorder. Order determines column order in tables, series order in multi-metric charts, and tile order in the [Overview widget](/widgets/widget-library/other-widgets/overview-widget).

## Related

<CardGroup cols={2}>
  <Card title="Custom metrics" href="/widgets/breakdowns-and-metrics/custom-metrics">
    Build custom calculations from base metrics.
  </Card>

  <Card title="Breakdowns" href="/widgets/breakdowns-and-metrics/breakdowns">
    Split a metric into groups.
  </Card>

  <Card title="Multi-currency reporting" href="/dashboards/building/multi-currency-reporting">
    Display currency values across markets.
  </Card>
</CardGroup>
