Custom dashboards across your sites
Build custom dashboards from metric, chart, breakdown, goal, funnel, live visitor, uptime and Web Vitals cards, mixing any sites you can access in a workspace.
A custom dashboard is a named page of cards. Each card is a small report for one site, and one dashboard can mix cards from any sites you can access in the workspace, for example one dashboard per team or client.
Open Dashboards in the Workspace section of the sidebar. The list is sorted by name and shows how many cards each dashboard has. Dashboards belong to the workspace, so every member who can read analytics sees the same list.
Creating and editing#
Click New dashboard (or press N on the list). On a dashboard, click
Edit (or press E) to change it, or Delete to remove it after a
confirmation.
- Give the dashboard a name (required, up to 100 characters).
- Click Add card and choose the card's type and site. The title is optional (up to 80 characters). Without one, the card is headed with its type.
- Set the options for that type. The form shows only the options the chosen type uses.
- Use the arrow buttons to move a card up or down, and the remove button to drop it. Cards appear on the dashboard in the order of the list.
- Click Save dashboard.
A dashboard holds up to 40 cards. At 40, Add card is turned off.
Tip: N and E are part of the
keyboard shortcuts, which you can
turn off in your account settings.
Card types#
| Type | What it shows | Options |
|---|---|---|
| Metric | One metric for the period, the change against the previous period and the previous value | Period, metric |
| Chart | One metric over time. On wide screens it takes two columns | Period, metric |
| Breakdown | The top 5 values of one dimension, with visitors (pageviews for pages, completions for events) | Period, breakdown |
| Goals | Up to 5 of the site's goals, most completions first, with their conversions | Period |
| Live visitors | Visitors in the last 5 minutes | None |
| Funnel | A funnel's overall conversion rate, and the count and conversion rate at each step | Period, funnel id (optional) |
| Uptime | Up to 5 of the site's uptime checks, with their status and uptime over the last 7 days | None |
| Web Vitals | The 75th percentile and rating of LCP, INP, CLS, FCP and TTFB. See Performance | Period |
The breakdown option offers Page, Channel, Referrer, UTM source, UTM campaign, Country, Device, Browser, Operating system, Entry page and Event. It starts on Page.
The funnel id is the funnel's id, which starts with fun_. Leave it
empty and the card shows the site's oldest funnel.
Periods and metrics#
Each card has its own period, counted in its site's timezone. Choose any date range preset, from Today to All time. The default is Last 30 days. Custom date ranges, filters and segments are not part of a card.
Metric and Chart cards show one metric: Visitors (the default), Visits, Pageviews, Views / visit, Bounce rate, Visit duration or Revenue (in the site's currency).
The numbers come from the same reports as the site's own pages, so a card and the site's Overview agree for the same period. See Metrics for how each one is counted.
Permissions#
| Action | Permission | Built-in roles |
|---|---|---|
| View the list, a dashboard and its cards | analytics.read |
Owner, Admin, Editor, Analyst, Viewer |
| Create, edit and delete dashboards | content.write |
Owner, Admin, Editor, Analyst |
See Roles and permissions for the full matrix.
Site access applies card by card:
- The site list in the form holds only the sites you can access. Saving a new card for any other site is refused.
- A card for a site you can't access shows "You don't have access to this card's site." in place of its data. The rest of the dashboard works as usual.
- When you edit a dashboard, cards that a member with wider access added are kept, even for sites you can't see.
How cards load#
The dashboard opens at once and each card then loads by itself as it comes into view, so a slow card never holds up the others. Until its data arrives, a card shows its title and "Loading…".
- The site name in a card's header opens that site's overview for the card's period.
- A card with nothing to report says "Nothing to show for this card yet.", for example a Funnel card on a site without funnels or an Uptime card on a site without checks.
- Cards load once per page view. Reload the page for fresh numbers.
Cards sit in one column on phones, two on tablets and three on wide screens.
API#
Dashboards are a REST resource under
/workspaces/<workspace id>/dashboards and MCP tools named dashboards_*
(dashboards_list, dashboards_get, dashboards_create,
dashboards_update, dashboards_delete). Dashboard ids start with
dash_. The API reference lists every input.
A card is an object with a type, a site_id, an optional title and
params:
{
"name": "Client: Acme",
"cards": [
{ "type": "metric", "site_id": "pa_7Q2K9XH3AB",
"params": { "period": "7d", "metric": "pageviews" } },
{ "type": "breakdown", "site_id": "pa_7Q2K9XH3AB", "title": "Countries",
"params": { "dimension": "country", "limit": 10 } }
]
}
type |
params |
|---|---|
metric |
period, metric |
chart |
period, metric, interval |
breakdown |
period, dimension, limit |
goal |
period, limit |
funnel |
period, funnel_id |
live |
None |
uptime |
limit |
vitals |
period |
limitis the number of rows, from 1 to 10 (default 5).dimensiontakes any dimension, includingprop:<key>.intervaltakes the chart intervals (defaultauto).- Params a type does not use are dropped. A card with an unknown type, period, metric or dimension is refused, and the error names the card's position.
- Sending
cardsin an update replaces the whole list.
Note: The form has no fields for limit and interval, so saving
a dashboard from the form resets them to their defaults.
GET /workspaces/<workspace id>/dashboards/<dashboard id>/cards/<index>
(MCP: dashboards_card) returns the data for one card, counting from 0.
Its status is ok, no_access or not_available.