PageFilterReport · free

Every site section gets its own reports.

Define sections by URL pattern once — get filtered Pages, Entry/Exit and Events reports for each, automatically.

Latest v2.0.2 · Matomo ≥ 5.0.0

What it does for you
01

Reports per section

Docs, shop, blog — each section gets its own Pages, Entry Pages, Exit Pages and Events reports, hierarchical and expandable.

02

One-time setup

Create a section with a URL prefix or regex — that's it. The filtered reports appear automatically.

03

Feels like core Matomo

Same hierarchical tables, subtables and exports you already know — just scoped to the section you care about.

Click to enlarge

Frequently asked questions

Users with WRITE permission on the site manage sections; everyone with view access sees the filtered reports.

Both. Simple prefixes cover most cases; full regular expressions are there when you need precision.

No — it generates filtered views of the core reports. Nothing is tracked twice.

Install via the Feinwerk connector
  1. 01 Download the Feinwerk connector and unzip it into your Matomo's plugins/ directory, then activate it.
  2. 02 Open its settings and set the marketplace URL and your instance token.
  3. 03 Open the Feinwerk Plugins screen, find PageFilterReport, and click Install.
Download connector plugin
For the technically curious

PageFilterReport - Matomo Plugin

A Matomo plugin that allows users to create filtered reports for specific website sections based on URL patterns.

Features

  • Section Management: Users with WRITE permission can create "sections" with URL patterns (prefix or regex)
  • Filtered Reports: Automatically generates filtered versions of core reports for each section:
    • Pages (hierarchical)
    • Entry Pages (hierarchical)
    • Exit Pages (hierarchical)
    • Events (with Category → Action hierarchy)
  • URL Pattern Matching: Supports prefix matching or full regex patterns
  • Hierarchical Display: Reports show hierarchical URL structure with expandable subtables
  • Full Metrics: All standard Matomo metrics including goal metrics
  • Flatten Option: Reports can be flattened for easier analysis

Installation

  1. Copy the PageFilterReport folder to your Matomo plugins/ directory
  2. Activate the plugin in Matomo's Administration → Plugins
  3. The plugin will create its database table automatically

Usage

Creating a Section

  1. Go to Administration → Sections (under "Section Reports" category)
  2. Click "Create New Section"
  3. Enter a name and URL patterns (one per line)
  4. Optionally enable regex mode
  5. Save

URL Pattern Examples

Prefix mode (default):

  • /products/ - matches all URLs starting with /products/
  • /blog/2024/ - matches all blog posts from 2024

Regex mode:

  • /^\/products\/[0-9]+\// - matches /products/123/
  • /\/(en|de)\/help\// - matches /en/help/ or /de/help/

Viewing Reports

Once sections are created, they appear in the main navigation under "Sections". Each section shows:

  • Pages report with hierarchical URL structure
  • Entry Pages report
  • Exit Pages report
  • Events report (filtered by eventUrl segment)

Architecture

Database

Table matomo_page_filter_sections:

  • idsection - Primary key
  • idsite - Site ID
  • login - Owner's login
  • name - Section display name
  • url_patterns - JSON array of patterns
  • use_regex - Boolean for regex mode
  • created_date - Creation timestamp
  • deleted - Soft delete flag

Reports

Reports extend Base class which provides:

  • Hierarchical DataTable filtering
  • URL pattern matching (prefix or regex)
  • Section data loading from request

API Methods

  • getSections($idSite) - List sections
  • addSection($idSite, $name, $urlPatterns, $useRegex)
  • updateSection($idSite, $idSection, ...)
  • deleteSection($idSite, $idSection)
  • getPages($idSite, $period, $date, $idSection)
  • getEntryPages($idSite, $period, $date, $idSection)
  • getExitPages($idSite, $period, $date, $idSection)
  • getEvents($idSite, $period, $date, $idSection)
  • Subtable methods for hierarchical navigation

Requirements

  • Matomo 5.x
  • PHP 8.0+