Matomo
Matomo is an analytics platform whose usefulness depends on a clear measurement contract and an operated deployment. Decide what question an event answers, what data it needs, and which privacy and access conditions apply before adding tracking calls. Owning the analytics server does not automatically make every collected field necessary or lawful.
Separate installation, browser tracking, reporting, and governance. A tracking request can be sent without appearing correctly in the intended report, while a visible dashboard can conceal duplicate events or inappropriate identifiers. Verify each boundary rather than declaring success from one network request.
TL;DR
- Define a small event contract and exclude unnecessary personal detail.
- Distinguish tracking consent from permission to store cookies.
- Test initial state, consent changes, withdrawal, and navigation behavior.
- Operate ingestion, report processing, retention, access, and recovery.
- Have qualified privacy owners review actual collection and applicable rules.
Quick Example
This JavaScript example constructs a fictional command queue. No Matomo tracker, endpoint, cookie, visitor, or analytics account was used.
Test queue order and the rejection of unexpected categories and actions the same way. That still doesn't establish that a real tracker blocks requests, that a consent manager communicates correctly, or that withdrawal removes previously collected data. Those are integration and policy questions requiring separate tests.
Core Concepts
Matomo's developer guidance distinguishes tracking consent, which gates tracking requests, from cookie consent, under which tracking requests may still be sent without the corresponding cookie permission. Choose the mechanism that matches the approved policy; the names are not interchangeable. Matomo consent integration.
Matomo's privacy guidance covers masking, identifiers, raw-data retention, and related controls. Pseudonymization and data minimization do not automatically resolve every privacy obligation, and an opt-out arrangement is not a substitute for required prior consent. Matomo privacy settings.
Separate event design, request delivery, server acceptance, and report interpretation. The same category/action pair may be meaningful only when its scope, trigger, and deduplication rule are documented.
Define the measurement contract
This editorial matrix describes work to perform. It is not a legal checklist or evidence that this batch operated a Matomo server.
Avoid using free-form search text, full URLs, email addresses, or user-entered content as convenient labels. A harmless-looking analytics field can become a secondary store of sensitive information. Prefer reviewed categories that answer the measurement question with less data.
Validate consent and application lifecycle together
Place the appropriate consent requirement before tracking commands in the real integration. Then inspect actual network and storage behavior in a controlled test. A queue-order assertion, like the example, cannot prove that the loaded tracker, tag manager, or consent manager enforces the intended state.
Test a visitor with no stored choice, an accepted choice, a rejected choice, and a later withdrawal. Include a new tab or return visit where persistence matters. Document what withdrawal stops and how historical data requests are handled through the applicable process; do not assume these are one automatic operation.
For a single-page application, define the page-view trigger and the timing of title and URL updates. A router hook and component effect can both fire for one navigation, producing duplicate counts. Use representative transitions, back navigation, and interrupted routes in the test plan.
Keep development test data identifiable and separate from production interpretation through an approved setup. Do not send private customer records to a public test endpoint. This article's .test destination is deliberately non-operational.
Operate the system behind the dashboard
For self-hosting, review the selected release's supported runtime, database, deployment, and security requirements. This guide does not assert a fixed version requirement or prescribe an unverified installation command. Pin and verify the actual environment through the platform's current documentation.
Monitor ingestion and report-processing health separately. A reachable tracking endpoint does not prove that the reporting pipeline has processed the relevant period. Track the actual processing path, freshness, storage, and failure states used by the deployment.
Define retention for raw events and aggregated reports through the approved privacy and records process. Preserve the distinction between deleting detailed observations and retaining reports. Test the chosen settings in an authorized environment; a vendor's example retention period is not automatically your legal requirement.
Limit access by actual responsibility and review privileged reporting and configuration access. Reports can reveal commercially sensitive behavior even when obvious personal fields are excluded. Keep backup access and recovery procedures within the same governance boundary.
Best Practices
Write a small event dictionary with name, trigger, allowed fields, duplicate rule, owner, and expected report. Review changes to that contract alongside the application release rather than adding tags without a measurement question.
Use known synthetic events to test the full path in an authorized environment. Inspect delivery, consent state, accepted fields, report appearance, and freshness. Keep local structural checks labeled separately from live integration evidence.
Have qualified privacy owners evaluate actual purpose, data categories, visitors, jurisdictions, and consent or other applicable arrangements. A product's privacy features support implementation; they do not independently certify compliance.
Common Mistakes
Bad: Treat cookie consent as proof that tracking requests are blocked.
Correct: Verify which Matomo consent mode applies and inspect actual network behavior in each approved state.
Bad: Send raw user input as an event label to simplify analysis.
Correct: Use a reviewed minimal taxonomy and collect only fields needed for the stated question.
Bad: Declare the deployment healthy because the dashboard loads.
Correct: Verify ingestion, report processing, retention, access, and recovery separately.
FAQ
Does self-hosting remove the need for privacy review?
No. Purpose, data, access, retention, and applicable requirements remain relevant. Server ownership alone does not settle them.
Did the example enforce consent?
No. It constructed and checked commands only. No actual tracker or consent-manager behavior was exercised.
What would change the tracking design?
A new data field, measurement purpose, visitor population, or application-navigation model can change the approved contract. Review the change before treating it as a minor tag edit.
Related Topics
- Analytics Platforms — Compare measurement and operating boundaries.
- Field Performance Diagnosis for SEO — Keep performance observations and analytics populations clear.
- Data Catalogs, Lineage, and Ownership — Document derived datasets and accountable owners.