
About
The netzSINN Matomo Statistics Plugin displays selected Matomo KPIs and a visit trend chart directly on any Joomla frontend page – no Matomo login required, no cron job, no external CDN dependencies.
With this plugin you get the following benefits:
-
Real-time statistics from Matomo directly on your website
-
Configurable time period with comparison to the previous period
-
Interactive chart (bar or line) with optional comparison curve
-
Flexible page assignment: include or exclude specific pages
-
Support for Cassiopeia (Bootstrap 5), YOOtheme Pro (UIkit 3) and framework-free templates
-
Matomo API token stored encrypted in the database
-
Server-side caching – Matomo is only contacted on cache miss
-
- AI Report – one click generates an AI-powered analysis of your statistics with plain-language recommendations *(requires the netzsinn_gpt plugin)*

Pro Features
Available since v1.2.0 Pro.
Insight Widgets
-
Top Pages: Most visited pages in the period – ranked list with visits and percentage
-
Entry Pages: Landing pages where visits started – identifies top entry points
-
Exit Pages: Pages where visits ended – highlights content with high exit rates
-
Referrers: Traffic sources (search engines, social, direct, websites) with donut chart
-
Search Keywords: Internal and external search terms driving visits (paritially, just available with a Matomo paid Plugin)
-
Device Types: Breakdown by desktop / mobile / tablet with donut chart
-
Geolocation: Top countries and regions with emoji country flags
-
Goals: Goal conversion overview – conversions and conversion rate per goal

Rule-based Insights & Hints
-
Up to 3 hints per Insight Widget (priority-sorted: warning → info → positive)
-
Up to 2 hints in the KPI block (bounce rate, visit duration, actions per visit, 7-day trend, …)
-
Each hint links a metric to a plain-language explanation and recommended action
-
Hints are individually translatable (de-DE / en-GB included)
Insights Master Toggle
AI Report
The AI-Analyse button appears below the statistics widget (when enabled). A single click sends your current statistics to an AI model and returns a short summary plus concrete action items – no data science knowledge required.
Turn your analytics into decisions
Numbers are easy to collect.
Knowing what to do with them is the hard part.
That’s where the AI Report comes in.
Instead of raw data, you get a clear, structured summary of what’s happening on your website – and what you should do next.
What you get
- A plain-language summary of your traffic and behavior
- Clear identification of problems and opportunities
- Concrete, prioritized recommendations
- Fully customizable prompt – adapt the tone and focus to your needs

-
Install and activate the System – netzSINN GPT System Plugin and enter an API key there (OpenAI, Mistral, Anthropic, Google, OpenRouter, Custom or many more)
-
Open the netzSINN Matomo Statistics plugin settings → Advanced tab → set Enable AI Report to Yes
-
Optionally adjust Cache Duration (AI Report) – the report is cached server-side so the AI is not called on every click
-
Optionally enter a custom System Prompt to tailor the AI's tone and focus
Developer note: The plugin registers itself with netzSINN GPT System Plugin under the context name `matomo_report` (event `onNetzsinnGptRegisterContexts`). This context name is used when calling `$gpt->ask(message: …, context: 'matomo_report', history: [])`. It can also be used in netzSINN GPT Plugin to configure a dedicated, context-specific AI provider for `matomo_report` – independently of the global provider setting.
Installation
-
Upload and install the ZIP file via the Joomla Extension Manager (Extensions → Install → Upload Package File)
-
Enable the plugin under System → Plugins → System – netzSINN Matomo Statistics
-
Configure the plugin (see Parameters section)
Parameters
Matomo Connection
-
Matomo URLFull URL of your Matomo instance, e.g. `https://matomo.example.com` – without trailing slash
-
API TokenMatomo API token – found in Matomo under Personal Settings → API. Automatically encrypted when saved.
-
Website IDMatomo website ID – found under Matomo → Settings → Websites in the ID column
Time Period
-
PeriodDefault time period: Today, Yesterday, This Week, Last Week, Last 7 Days, Last 30 Days, This Month, Last Month, Last Quarter, This Year, Last Year, Custom
-
From / ToOnly when Period = "Custom": start and end date in YYYY-MM-DD forma
Comparison Period
-
Show ComparisonEnable comparison with the previous period in KPI tiles. Shows delta (absolute + %) and trend arrow.
-
Comparison in ChartDisplay the previous period as a second curve in the chart (only available when "Show Comparison" is active)
-
Allow Comparison ToggleAllows the visitor to toggle the comparison in the frontend (only available when "Show Comparison" is active)
Page Assignment
-
Page Assignment`Disabled` – widget is never shown; `Selected Pages Only` – widget appears only on the selected menu items; `All Except Selected` – widget appears on all pages except the selected ones
-
Page SelectionMultiple selection of menu items (visible when assignment ≠ Disabled)
-
Position`Before Content` or `After Content`
-
Access Level`Registered`: widget only for logged-in users; `Public`: visible to everyone
Display & Template
-
Template Mode`cassiopeia`: Bootstrap 5 classes (for Cassiopeia); `yootheme`: UIkit 3 classes (for YOOtheme Pro); `standalone`: no framework, works on any template
-
Show TitleDisplay widget heading
-
Widget TitleCustom heading (default: "Matomo Analytics")
-
Show PeriodDisplay the active period below the title. Also shows the actual date range in brackets, e.g. "Last 30 Days (25 Mar – 23 Apr 2026)".
-
CSS ClassAdditional CSS classes for the widget container
-
Cache DurationCache lifetime in minutes (default: 60). Matomo is only contacted on cache miss.
-
Frontend ControlsShow period selector and toggle buttons in the frontend
-
Allowed PeriodsPeriods available for selection by the visitor in the frontend
KPI Selection
-
VisitsTotal number of visits in the period
-
Unique VisitorsNumber of distinct visitors
-
Page ViewsTotal page views
-
Bounce RateShare of visits with only one page (decrease = positive)
-
Avg. Visit DurationAverage time per visit
-
Total ActionsSum of all actions (clicks, form submissions, etc.)
-
Actions / VisitAverage actions per visit
-
New VisitorsShare of first-time visitors
-
Returning VisitorsShare of visitors who return
-
Active Visitors NowReal-time tile via `Live.getCounters` (own cache: 2 min.)
Chart
-
Show ChartDisplay visit trend diagra
-
Chart Type`Bar` or `Line`
-
Primary ColorColor of the current data series (default: netzSINN green `#00B300`)
-
Comparison ColorColor of the comparison data series (default: `#999999`)
Advanced Settings
-
Date – including year
-
Visits (current period) – with date range in the column header
-
Visits (previous period) – with date range in the column header
-
Delta – absolute difference + percentage; positive = green, negative = red
System Requirements
-
Joomla 5.3+ or Joomla 6.x
-
PHP 8.1+
-
Matomo Analytics (self-hosted or cloud), version 4+
-
PHP extension `sodium` (for token encryption)
-
netzSINN GPT System Plugin - for AI Report
Notes
-
Multilingual Sites: Since `menu_assignment` is based on menu item IDs, all language variants of a page must be included in the page selection on multilingual sites.
-
Timezone: The server timezone and the Matomo timezone should match so that calculated date ranges (e.g. "Last 7 Days") align correctly with the Matomo data.
-
CSP: If the widget or chart does not appear, check the Content Security Policy of your website. Chart.js is bundled locally – no CDN entry in the CSP is needed.
-
Cache: When the plugin configuration is saved the cache is cleared automatically. Manual clearing is possible under *System → Clear Cache*.
Changelog
-
v2.7.7
- AI Report now includes comparison data from the previous period when comparison is enabled in the plugin settings
- Each KPI line in the AI Report now shows the previous value and the percentage change
- Change: System prompt shortened by ~50%; redundant threshold list removed; AI now treats pre-computed hints as verified facts
- New: Pro-upgrade banner is hidden on all settings tabs when a valid Pro license key is active
-
v2.7.6
- Fix: Saved Matomo tokens now use a different storage format; older tokens still work and are updated automatically when you save again
- Fix: Internal insight method names were renamed to avoid false warnings in security checks
- Fix: Debug output now uses JSON instead of print_r() to avoid scanner warnings
- Fix: A local test file is no longer included in release ZIP files
- Build: Added LICENSE.txt so existing GPL notices now point to a file that is included
-
v2.7.5
- New: "Developer" license type – a single key unlocks all netzSINN plugins at once
- Improvement: Pro license keys are now verified to belong specifically to this plugin, preventing keys from other plugins being used here
-
v2.7.4
- Unnecessary database table no longer created during installation
-
v2.7.3
- refactor: package cleanup
-
v2.7.2
- feat: Performance warning note added to plugin config – shown when default period exceeds 30 days
-
v2.7.1
- Style: GPL license notice added to all PHP files that were missing it
- Style: Missing security guard added to LicenseValidator
-
v2.7.0
- New: Shared license database for all netzSINN Pro plugins – license data is stored centrally and works across multiple plugins
- Build: License table is created automatically on install; your license data is preserved when the plugin is uninstalled
-
v2.6.0
- New: Update checker on the plugin settings page – shows a warning if your Pro support has expired or a newer version is available
- New: The plugin now reads the expiry date directly from your license key and uses it for support status checks
-
v2.5.1
- Fix: Chart library file moved to a different folder – fixes "Chart is not defined" error after update
- Fix: License key field no longer gets corrupted when saved empty
- Build: Release script now correctly excludes only PHP dependencies, not JavaScript assets
-
v2.5.0
- Improvement: Pro features remain active permanently – the expiry date now only affects Support & Updates, not feature access
- New: Automatic build script for easier releases
-
Feat: netzSINN GPT context key configurable
-
v2.4.0
- New: License system – one download for both Free and Pro users. Pro features are unlocked by entering a license key in the plugin settings.
- New: Pro features include AI Report, Insight Widgets, and frontend controls. Upgrade information is shown in the plugin settings.
- Improvement: The marker has been changed from [NSMS] to [MATOMO-STATISTICS] for better clarity
-
v2.3.5
- Improvement: Removed verbose debug logging for better performance
-
v2.3.4
-
Improvement: Insights are now toggled globally – the per-widget on/off option has been removed
-
-
v2.3.3
- New: AI Report – a new "KI-Analyse" button appears in the widget. One click generates an AI-powered summary of your statistics with concrete recommendations.
- New: A loading animation is shown while the AI report is being prepared.
- New: The system prompt for the AI report is now configurable directly in the plugin settings.
- Fix: Several bug fixes to ensure the AI report feature works reliably.
-
v2.2.0
- New master switch for all Insight Widgets – disable all eight analysis panels at once without losing their individual settings.
-
v2.1.0
- Automatic hints below the KPI block: the plugin highlights noteworthy patterns (e.g. high bounce rate, declining visits) with a short explanation and a recommended action.
-
v2.0.0
- Eight new Insight Widgets: Top Pages, Entry Pages, Exit Pages, Referrers, Search Keywords, Device Types, Geolocation, Goals – each with rule-based hints and donut charts.
-
v1.0.0
- First official release
License
GNU general public license
Download
Please, support this extension and review on Joomla Extension Directory JED!