Made by Rune Andersen @ Copenhagen, Denmark
Matomo/Piwik logo

Debug Matomo/Piwik in Chrome DevTools

To debug Matomo/Piwik in Chrome DevTools, install the free Event Watcher extension and open its panel: every Matomo/Piwik request is captured the moment it fires, decoded by a dedicated parser into named events, readable parameters, and consent signals, and cross-referenced against the visitor's consent state. Event Watcher has listed Matomo under Analytics since v1.0.0, and flags any Matomo event that fires without analytics consent.

Open-source, self-hosted web analytics with full data ownership.

Last updated:

Category
Analytics
Detected via
Network requests: Event Watcher matches the request URLs this platform sends
Consent category
Analytics / statistics consent: Event Watcher flags Matomo activity that fires without it
Dedicated parser
Yes: requests are decoded into named events, parameters, and consent signals, not just raw URLs
Supported since
Event Watcher v1.0.0 (2026-02-20)
Show the URL patterns Event Watcher matches
  • /matomo.php
  • ^(?!.*piwik\.pro).*\/piwik\.php
  • /matomo.js
  • ^(?!.*piwik\.pro).*\/piwik\.js

What Matomo traffic looks like

Matomo is typically self-hosted, so there is no fixed tracking hostname. Detection keys on the path instead.

Endpoint pattern
Hits go to /matomo.php on any domain (legacy installs still use /piwik.php); the library loads as /matomo.js or /piwik.js
Transport
GET with a long query string, or POST when the payload outgrows URL limits
Key parameters
idsite numeric site ID · rec=1 marks a real tracking request · action_name/url page title and URL · e_c/e_a/e_n/e_v event category, action, name, value · _id visitor ID (16 hex chars), _idn=1 new visitor, uid user ID
E-commerce
ec_items, revenue, idgoal=0 carry e-commerce order payloads; idgoal=N for goal conversions
Payload
ca=1 flags custom actions; ping updates visit duration without logging a new action; heartbeat pings, media analytics (ma_*), and form analytics (fa_*) share the endpoint. Raw request counts overstate "events" unless classified by parameter

Debugging Matomo with Event Watcher

  • Identifies Matomo by those path patterns on any domain: no hostname list needed for self-hosted installs; piwik.pro URLs are explicitly excluded and detected as Piwik PRO instead.
  • The parser derives a meaningful event name per hit: page view, event, goal, e-commerce order, or heartbeat.
  • Groups the parameter soup into readable sections: visitor identifiers, page context, browser features, e-commerce items, plus media, form-analytics, and request internals when present.
  • The difference between an event hit and a heartbeat ping is visible at stream level, not after reading forty query parameters.

Matomo and consent

Analytics consent

The extension checks Matomo against the analytics consent category. Many installs run cookieless (requireConsent() / disableCookies() in the tracker) for consent-free operation in some jurisdictions. On the wire, hits show no persistent _id reused across visits.

Worst case is the safe case: a hit before the CMP grants analytics is marked pre-consent, exactly the evidence to confirm whether the consent-free configuration is actually active, or whether the default cookie-setting tracker fired early.

Common debugging scenarios

  • Visits look double-counted. Compare _id across hits. A visitor ID changing on every page means cookies are blocked or disabled while the config assumes them.
  • Goal fires but no e-commerce data. The parsed e-commerce section shows ec_items; an empty items array alongside idgoal=0 means the order push was incomplete.
  • Event category/action swapped. Read e_c/e_a/e_n directly in the parsed hit instead of reconstructing them from reports.
  • Verifying cookieless mode before launch. Trigger a page view pre-consent and check whether the hit carries a reused visitor ID.
  • Matomo and Piwik PRO on the same site during a migration. The extension separates them. Compare against Piwik PRO hits side by side in Grouped view.

See Matomo traffic on your own site

Free, no account, runs entirely inside Chrome DevTools.

Add to ChromeFree on the Chrome Web Store

Related guides

More analytics platforms