Like most of you I’m sure, I’ve been using Google Analytics for years, and even though I’ve found it to be useful and somewhat informative, I never really felt like I was getting a clear picture of things I really wanted to have at my fingertips, such as; how visitors found the site, where they came from, what kind of hardware and software visitors used, and how they navigated the site once they got there.

Recently, I read Is It Time To Ditch Google Analytics on Slashdot.

Aside from any positions on Google Analytics, my net takeaway from the discussion was a tool
advocated by Slashdotters called Matomo, “… an all-in-one premium web analytics platform designed to give you the most conclusive insights with our complete range of features.”

Matomo (formerly “Piwik”) is open source, even has their source on GitHub, and runs in an ordinary LAMP server environment. I’m always ready to test drive open-source tools, so I decided to find out what Matomo was really all about.

Although I’m not yet convinced that it’s time to say “good bye” to Google Analytics, I do think you might want to at least say “que pasa?” to Matomo.

Setup and Adding Sites

I found (much to my surprise/pleasure) that I could install Matomo on my hosting service using the automated Softaculous installer. Normally I prefer a manual install, but since this was just an eval I allowed Softaculous to perform the install, which was uneventful.



Matomo Admin Settings Screen

Click to Enlarge

Once signed in as admin. I found the Matomo Dashboard simple and easy to navigate, and post-install tasks were easy to figure out, such as creating a couple users and assigning some rights for them.

Adding a site for your Matomo server to monitor is a breeze, all that is required is to go into the Websites Management screen and “Add a New Measurable”.

The Matomo application allows several mechanisms to enable tracking data collection, I chose the most common option; copy a little snip of JavaScript (“Matomo Code”) that the is pre-generated for you so that it’s included in the source of every page that you want tracked.

One thing that I think I can safely claim: It took a LOT less time to get Matomo running than it did to get Google Analytics running on the same set of hosts.

<!-- Matomo -->
<script type="text/javascript">
  var _paq = window._paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="https://yourdomainhere.foo/matomo/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '2']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Matomo Code -->
“The Matomo Code”

Using Matomo

Once a site has some collected data, it’s displayed almost right away in the Matomo dashboard.



Matomo Site Dashboard

Click to Enlarge

A drop-down listbox allows you to select from managed website data, and for each site the dashboard is a grid of widgets, showing things like real-time visits, a geolocation graphical widget, Channel Types, etc. One thing that takes a little getting used to is that if you don’t deliberately set the date range using the selector at the top of the page, you won’t see the current day’s hits. Setting the date range becomes a habitual thing when using the Matomo dashboard screens.

Geolocation wasn’t turned on by default, but the process of adding GeoIP data to Matomo was very well documented, and I had a copy of GeoIP data downloaded and running in a matter of minutes.

But it’s when you find the Visits Log entry that things get interesting. My colleague messaged me on Slack and said “I can’t stop looking at the Matomo visits log!” I felt better right away, because it’s fascinating, and addictive, and I’d been looking at it almost hourly.

We found a LOT of unexpected information in Matomo that was immediately useful just in terms of website design, for example: It’s too early to start ignoring Internet Explorer, there are a lot of old Android phones out there, and people DO use iPads in portrait mode (I told you! You know who I’m talking to.)

Another unexpected insight of the Visit Log was a clear record of the edits that I myself had made to the websites being tracked, a lot of url information there.

The Matomo interface also includes an “All Websites” page in the dashboard which lists out a very simple grid, listing Visits and Pageviews, and from it you can click into any of those sites. As in the individual site dashboards mentioned above, using the All Websites page includes making sure the date range is set correctly.

Matomo Reporting



Matomo Create Email Report Screen

Click to Enlarge

In the Matomo dashboard Settings you can find a location to define “Personal Email Reports”, with settings for Schedule, Report format (Html, PDF, CSV), and a list of email address recipients.

Each report also allows you to include a dizzying array of metrics, from Visits Summary, to Channel Type, Region, City, Device Type, Browser, Operating System, and a whole lot more…

EXCEPT the one thing that you wanted most, which is the Visits Log… and that brings us to…

How Matomo Monetizes

You can get the Visits Log included in your Personal Email Reports, but for that you need to buy the Matomo premium Custom Reports plugin.

I expect that they sell a decent number of this plugin, but hey they gotta keep the lights on too.

Conclusions

How about this:? The “eval” copy that I first installed is so popular and contains so much useful data that it’s now “production” and in the regular backups.

So far, the Matomo application has been rock-solid and stable, performance is pretty decent and no appreciable load has been placed on the rather moderate hosting server.

Data collection has been 100% reliable as far as I can tell, and there is no perceptible lag on sites that use Matomo tracking.

At this stage the documentation available to support Matomo was easy to find and well written.

Considering how easy/free it is to get Matomo collecting data, I think that there is no reason not to at least check it out.

Matomo vs Google Analytics Comparo Matrix

Matomo Advantages

  • The Visitor Log.
  • Plugin Extensibility.
  • Data is stored locally, on your server/hosting.
  • Can monitor your non-internet-facing/intranet webservers
  • Runs on ordinary LAMP server
  • Easy server setup, easy client setup
  • Reliable, Predictable data collection

Google Analytics Advantages

  • No hosting required.

Matomo Disadvantages

  • You must provide LAMP server/hosting (or Matomo will host for a fee)
  • The Reporting that you want isn’t free

Google Analytics Disadvantages

  • Data is stored on Google’s machines and you have no real access or privacy
  • Often blacklisted by browser tools like NoScript
  • Can’t see your Intranet webservers

Plugin Extensibility

One thing that really didn’t make it into this report is the fact that Matomo supports extensibility through plugins.

I will be investigating Matomo plugins in my next article.