Replace generic event icons in the visitor log and live widget with specific Material Design icons per category and action.
Replace the generic grey event icons in Matomo's Visitor Log and Live (Real-time) widget with meaningful Material Design icons. Each event category/action pair can be assigned its own icon – from over 2,100 included icons – so you can instantly recognise event types at a glance. Hold Cmd (macOS) or Alt while clicking an event icon to copy its tooltip text instead of opening the linked page.
The plugin bundles all Material Design icons as compact JSON path data (~570 KB). Icons are served as static SVG files directly by the web server – no PHP request per icon, no external API calls or dependencies.
Event Icons lets you replace the generic event icons in Matomo's Visitor Log and Live (Real-time) widget with specific icons per event category and action.
The plugin hooks into Matomo's JavaScript and CSS pipeline:
<img> src is replaced.server_time, time_spent_ref_action) from the database and appends them to the tooltip.The settings page at System → Event Icons provides:
Icons are stored in icons/material-paths.json as a JSON object mapping icon names to SVG path data. Static SVG files for all icons live in icons/material/ and are generated with php scripts/generate-icons.php; the web server serves them directly, so each icon is a single browser-cached static file request instead of a full PHP request.
To add custom icons, see README.md → Adding custom icons.
The plugin performs two database queries:
SELECT cat.name, act.name, COUNT(*) FROM log_link_visit_action JOIN log_action ON ... GROUP BY cat.name, act.name – scoped to last 90 days and a specific site.SELECT server_time, time_spent_ref_action FROM log_link_visit_action WHERE idvisit = ? ORDER BY server_time ASC.Clear the Matomo cache: System → General Settings → Clear cache. If you're still seeing the old icons, make sure the browser cache is also cleared (hard refresh: Ctrl+F5 or Cmd+Shift+R).
Yes. See the README.md → Adding custom icons section for instructions. Any SVG can be added as long as it is placed in the icons/material/ directory, the JSON index is rebuilt, and the static files are synced (php scripts/generate-icons.php).
No. The plugin targets Matomo 5.x (>=5.0.0-b1, <6.0.0-b1).
No. All icons are bundled locally. No external API calls, no tracking, no phoning home.
The first action of each visit is the landing page – it has no time-on-page because there is no previous page. Subsequent actions show the time spent on the previous page. If all actions show no time, your tracking data may not include time_spent_ref_action (check if your tracker sends ping requests or if the page tracking is properly configured).
Deactivate it in System → Plugins, then delete the plugins/EventIcons directory. The database contains no custom tables – uninstalling leaves no traces.
Last Updated
Sep 3rd 2026
Requirements
Matomo >=5.0.0-b1,<6.0.0-b1
PHP >=7.0.0
Matomo 5.x
Downloads
1185
Changelog
Support