Skip to content

Category: Web and apps

Managed Matomo: web analytics on your own server, without handing data to third parties

Your website analytics on a server you control, with reports on time, the database kept in check and the privacy options configured carefully.

Where it runs
In your account, in your name
Backups
With tested restores
Updates
Planned and documented
Licence
Open source, GPLv3

In short

Matomo is an open source web analytics platform that you can install on your own server. Visit data stays in your database, not in a third party's. We set it up in your account with MariaDB or MySQL, scheduled report archiving, tracking with or without cookies as you decide, a set data retention period, backups restored in tests and up-to-date versions.

What do we look after?

Matomo works as soon as it is installed, and that is misleading. Over time reports take longer to generate, the database grows without limit and nobody checks whether the privacy configuration is still the one that was decided. This is what we keep under control:

  • Matomo

    Installation, sites, users and permissions, with the server configuration as code.

  • Archiving

    Reports calculated by the system cron, on schedule, with a warning if archiving fails.

  • Database

    Properly sized MariaDB or MySQL, with old data deleted according to the set retention.

  • Privacy

    Cookies or not, IP anonymisation, opt-out and retention, exactly as decided.

  • Access

    Two-factor authentication, one user per person and permissions per site.

  • Upgrades

    Matomo and its plugins kept current, tested beforehand when it is a major version.

How do we set it up?

Matomo is a PHP application with a MariaDB or MySQL database. What makes the difference in production is how the reports are calculated and how volume is handled:

  1. Tracking

    The tracking code on your websites sends each visit to the Matomo server, over HTTPS and from your own domain.

  2. Raw data

    Each visit is stored in the database. With a lot of traffic, a Redis queue receives them first and writes them in batches.

  3. Archiving

    A scheduled process turns the raw data into daily, weekly and monthly reports, instead of calculating them when someone opens the dashboard.

  4. Retention

    Old raw data is deleted automatically according to the set period, and the reports already calculated are kept.

If you would rather not add tracking code to your website, Matomo can also import the web server’s access logs, although with less detail.

Which problems do we come across most often?

  • Browser-triggered archiving: reports are calculated when someone opens the dashboard, which takes minutes or fails.
  • Database with no limit: years of raw data that nobody needs and that slow everything down.
  • Unreviewed privacy: cookies enabled or full IP addresses when the opposite was decided.
  • Old version: Matomo not upgraded, with vulnerabilities that were fixed long ago.
  • Dashboard with a shared user: the same password for the whole marketing team.
  • No backup at all: years of history depend on a single disk.

What do we do about privacy?

Matomo gives you the tools: data on your server, no third-party cookies, the option to work without cookies, IP anonymisation, respect for the Do Not Track signal, an opt-out form and automatic deletion of old data. Which combination to use depends on your website and your obligations, and it is a decision for you and your legal adviser. We apply it, document it and check on every upgrade that it stays the same. We will not tell you that Matomo makes you GDPR compliant, because that depends on much more than the tool.

How do we handle backups and upgrades?

The backup includes the database, where all the history is, and the configuration file. It goes encrypted to object storage off the server, and we do test restores on another server to check that the reports open. When the database grows, we treat it as in managed MySQL and MariaDB. Patch releases are applied as soon as they come out; major ones after reading the release notes and checking that the installed plugins are compatible, because some update large tables and it is best done out of hours.

Who does it make sense for?

For a company that wants its web analytics without sending its visitors’ data to a third party. For an agency or a team that measures several websites and wants a single Matomo with permissions per site. And for anyone who already has Matomo installed and whose reports have stopped loading. If you want someone answerable for Matomo and its server every month, that is SRE as a service.

How the pieces fit together
  1. Your websitesTracking code
  2. NginxHTTPS
  3. MatomoPHP-FPM
  4. MariaDBVisits and reports
  5. ArchivingSystem cron

Where do we set it up?

In your account, with the provider you already use or the one that fits best. If the data has to stay in the EU, Hetzner and OVHcloud are the European options.

Providers we set it up on

  • Hetzner
  • AWS
  • Google Cloud
  • DigitalOcean
  • OVH
  • Own server
ProviderHow we set it upThings to bear in mind
HetznerA cloud server with Matomo and MariaDB, and backups on Hetzner Object Storage, which is S3-compatible.Data in European Union data centres if you choose Germany or Finland.
AWSEC2 with Matomo and RDS for MariaDB or MySQL, in a European region if you prefer.
Google CloudCompute Engine with Matomo and Cloud SQL for MySQL.
DigitalOceanA Droplet with Matomo and DigitalOcean managed MySQL.
OVHA Public Cloud instance with Matomo and an OVHcloud managed database for MySQL.
Own serverMatomo on your server or virtual machine, reachable by the tracking code on your websites.

What is included

  • Matomo On-Premise in your account with Nginx, PHP-FPM and MariaDB or MySQL sized for your traffic.
  • Report archiving with the system cron and browser-triggered archiving disabled.
  • Tracking code on your websites, with first-party cookies or without cookies, as you decide with your adviser.
  • IP anonymisation, respect for the Do Not Track signal and an opt-out form for your visitors.
  • Automatic deletion of old raw data, with the retention period you set.
  • Tracking queue with Redis for high-traffic websites, if needed.
  • Backups of the database and configuration off the server, with a test restore.
  • Upgrades of Matomo and its plugins, and monitoring of archiving, the database and the disk.

Frequently asked questions

With Matomo, do we no longer need the cookie banner?

It depends, and we cannot guarantee it. Matomo can work without cookies, anonymise IP addresses and keep the data only on your server, which greatly reduces the processing. Whether that configuration lets you do without consent depends on how you use the data and on the view of the authority that applies to you; that decision is made by your legal adviser. We leave Matomo configured exactly as we agree.

Can we bring over our Google Analytics history?

Largely, yes. Matomo has a Google Analytics importer that brings historical reports into a Matomo site. It is not an exact copy, because the two tools do not measure the same way, but it keeps the trend. The normal approach is to run both in parallel for a few weeks and compare.

Matomo Cloud or Matomo on our own server?

Matomo Cloud is the vendor's own service and takes maintenance off your hands. We set it up in your account when you want to decide where the data is, how long it is kept and who has access to the server, or when you have a lot of traffic and prefer to pay for the machine rather than a volume-based plan.

Can it handle high-traffic websites?

Yes, with the right configuration. What weighs most is the database and report archiving. With archiving scheduled outside peak hours, a properly sized database and, if needed, a Redis tracking queue that absorbs the peaks, Matomo handles a lot of volume. We measure before sizing.

Tell us about your case

In a free 20-minute call we look at where you are and where to start. No commitment.

Book a 20-minute call

Official documentation consulted

The technical details on this page are based on:

Reviewed on

WhatsApp