Matomo's reports are archived: they are fast, but you only get the combinations someone has set up in advance. Questions like "which browsers do visitors from our newsletter use?" or "which events happen on which page?" need a secondary dimension or a quick cross table, often just once.

Feinwerk Data Exploration answers them directly from the raw data of your website:

  • Free-form table: choose a dimension, an optional secondary dimension and up to five metrics. The table appears at once, one row per combination, sortable by every column.
  • Many dimensions: channel type, referrer, keyword, referrer URL, campaign name, source and medium, continent, country, region, city, language, device type, brand and model, operating system and its version, browser and its version, screen resolution, date, weekday, hour, entry and exit pages, page URLs and titles, event category, action and name, downloads, outlinks, site search keywords, visitor type, visit number, "visit converted" and your Custom Dimensions (visit and action scope).
  • Visit, goal and action metrics: visits, unique visitors, actions, bounce rate, average visit duration, actions per visit, maximum actions in one visit, conversions (all goals or one goal), conversion rate, revenue, pageviews, unique pageviews, events, sum and average of event values, downloads, outlinks and site searches.
  • Save and share: save an exploration with its segment, for yourself or (with write access) for everyone who may use explorations on the website, and open it again from the list at the top of the page.
  • Filters: every Matomo segment, plus simple row filters: a dimension contains, equals or does not contain a text; a metric is greater or less than a number.
  • Open from your reports: "Open in exploration" under the standard reports (channels, referrers, keywords, continents, countries, devices, browsers and their versions, page URLs, events, campaigns and more) opens the exploration with that report's dimension, period and segment, and "Explore this row" on a report row opens it on that row's visits, ready to break them down by a second dimension.
  • A menu on every row: filter to the row's value, break it down by a second dimension, or show the visits behind it in Matomo's Visits Log.
  • Chart, table or both: bars for every dimension, lines over time for date, hour and weekday (one line per value of the secondary dimension); the chart shows one of the chosen metrics.
  • Export and share: export as CSV or TSV, or copy the link: the exploration is part of the URL.
  • Safe for your Matomo: at most 31 days per exploration and 1,000 rows, a size check before every query (a period that is too large gets an offer of its most recent days that fit), a query time limit, at most two explorations at the same time, results cached, and queries on the read replica if your Matomo has one. Super users can adjust these limits (31 days and 1,000 rows are the maximum), and Matomo's System Check shows how explorations run on your server.
  • Light and dark mode, English and German.

Documentation and more Plugins for Matomo: Feinwerk Plugins.

  • Chart and table in dark mode

  • Choose the second dimension with search and groups

  • Combine a dimension a second dimension and metrics in a chart and a table

  • Explore a report row or the whole report with the flask icon

  • Filter break down or see the visits of any result row

  • Page URLs by event category with a row filter

  • Save explorations for yourself or share them with your team

  • Settings for limits read replica and access

  • The System Check shows how explorations run

How is this different from archived reports?

Archived reports last, keep a long history and serve dashboard widgets and scheduled emails. Feinwerk Data Exploration is for questions you ask once or now: no setup, no waiting for archiving, at most 31 days, nothing is saved as a report.

What does a saved exploration keep, and who sees it?

Its dimensions, metrics, goal, filters, sorting, number of rows, view and chart metric, and its segment. Not the period: it opens with the period you have selected, so one exploration serves last week as well as today. A private exploration is seen only by you; a shared one by everyone who may use explorations on the website (never by anonymous users). Sharing needs at least write access to the website; with view access you save explorations for yourself. Only the person who saved it, or a super user, can change or delete it. Each person can save up to 100 explorations per website.

Why at most 31 days?

Explorations read raw data. A month keeps the queries fast and protects your database. For long periods, archived reports are the right tool.

Why can anonymous users not use explorations?

Explorations query raw data and can be expensive, so they are only for signed-in users, even when anonymous users may see the site's reports.

Why do the visits next to page URLs not add up to the total?

Next to an action dimension, visits count the visits that had this action. A visit with three pages counts on three rows.

Why can an exploration differ from an archived report?

If Matomo deletes old raw data (Administration → Privacy → Anonymize data → delete old raw data), explorations only see the days still present; the page shows the earliest complete day. Archived reports may also group rare values under "Others"; explorations list single values up to the row limit instead.

Does an exploration slow down Matomo?

Every exploration checks the number of visits first and offers a shorter period when one is too large, stops queries that take too long, and runs at most two at the same time. If your Matomo has a read replica, explorations use it.

How does it behave on large websites and long periods?

An exploration reads the raw data of the period, so its time grows with the rows it reads: visits for visit dimensions (channel, country, device), actions for page, event, download or outlink dimensions, which are often many times the visits. Before exploring, the page counts the visits of the period: above a quarter of the threshold (default 2 million) it warns, above the threshold it offers the most recent days of the period that fit. A query that takes longer than the time limit (default 30 seconds) is stopped, and after a slow exploration the page says how to make it faster. Results, visit counts and filter values are kept for an hour (five minutes while today is included), so going back to an earlier exploration is instant, and a few quick changes start only one query.

What happens when a period is too large?

The page offers the most recent days of the period that fit the threshold, and one click loads them. When even a single day is too large, super users can raise the visit threshold in the settings (a segment does not help here: the threshold counts all visits of the period).

Where do administrators see how explorations run?

In Matomo's System Check (Administration → Diagnostic → System Check): whether a read replica is used, whether the database stops long queries, whether old raw data is deleted, and the limits in force.

What can I do when an exploration stops at the time limit?

  • Choose a shorter period, for example one week instead of a month.
  • Add a segment, so fewer visits are read.
  • Use a visit dimension instead of pages or events, or leave out the action metrics.
  • Super users can let explorations run on a read replica ([database_reader] in config/config.ini.php) and raise the time limit when the database has room for it.
  • Database operators of large instances: enough memory for temporary tables (MariaDB: tmp_table_size and max_heap_table_size, MySQL 8: temptable_max_ram) and a buffer pool that holds the indexes of the log tables help large explorations.
  • For questions you ask regularly over long periods, archived reports are the better tool.

Please share