Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
Back to tool/Back to issues
#4513·umami

Feature request: compare metrics and events across websites

Author: CorCvusRamboChenCreated Sep 5, 2026Updated Sep 5, 2026

Use case

I run one Umami instance for nine related sites (a network of university community sites, one per campus, plus a landing page). Every site is set up as its own website in Umami, which is right: they have different domains, and per-site pages/referrers/devices only make sense per site.

But the question I actually open Umami for most mornings is across sites: "which campus grew this week?", "did the signup push on campus A move the needle compared with B and C?", "how do the eight sites' event counts (signups, posts, votes) line up day by day?".

Today the only ways to answer that are:

  • open nine website pages in nine tabs and eyeball them, or
  • the Dashboard / Boards, which give me one widget per website, so nine small independent charts with nine independent y-axes, no stacking, no totals row, and no way to switch all of them to the same custom event at once.

The Websites list has the 7-day sparkline per site, which is the closest existing thing, but it is fixed to visitors and to seven days.

Status: working prototype, looking for your input

I have this running on my own instance as a demo / work in progress and would love to hear whether a feature in this direction is something you would want in Umami at all, and if so, what shape it should take. Naming ("Overview"?), placement (its own page vs. a Dashboard widget vs. a Boards component), scope, and UI details are all open; I am happy to rework it. A draft PR with the current prototype follows so you can see it rather than imagine it.

Proposed solution (current prototype)

An Overview page (sidebar entry next to Websites) that shows several websites on one chart:

  • multi-select of the websites the user can view (own or team), all selected by default;
  • one metric selector: Views, Visitors, or any custom event name seen across the selected sites (the event list is derived from the data, nothing to configure);
  • the standard date filter, including "All time" spanning the earliest data across the selected sites;
  • a chart-type toggle: stacked bars (totals and who contributed), lines (who is trending), stacked area;
  • one colour per website, using the existing BarChart;
  • a table with one row per website: views, visitors, and a column per event name (totals for the range), with a column picker in the page header so an instance with many event names can keep the table to what matters (remembered per browser).

Backend: one endpoint, GET /api/websites/overview?ids=&startAt=&endAt=&unit=&timezone=, that runs the existing getPageviewStats / getSessionStats / getEventStats per website and returns them together, gated by canViewBatchWebsites (same pattern as /api/websites/charts).

Scope

  • No new database tables or migrations; no new dependencies.
  • Only the existing component library (@umami/react-zen) and Chart.js.
  • Three new files (page, client component, API route) plus one nav entry in SideNav / MobileNav. The label reuses the existing label.overview key.
  • Both Prisma and ClickHouse work unchanged because the endpoint only composes existing query functions.

I have a working implementation running in production on v3.3.1 and can open a PR against dev if this direction is welcome. Happy to adjust the UX (for example, making this a Board component instead of a page) if that fits the roadmap better.

Source: umami-software/umami

View original on GitHubView discussion on GitHub