Goodbye Google

Piwik Analytics

Analytics, tracking and you

Normally I’m not a big fan of analytics and tracking users on a website. It always bugs me. Especially when Google Analytics pops up in NoScript. I’m not really a fan of one of the biggest Ad Agencies tracking my every move online. Unfortunately, they are the least friction to setup and see basic metrics with.

The moment you care about deeper metrics or realize you don’t want Google tracking every last visitors move, you’re in a difficult position.

I try to keep this site devoid of outside sources like Google and until very recently I felt like I was stuck with their analytics platform.


Enter piwik (link). GPL, self-hosted analytics platform. It gives you the fundamentals of what you need for analytics, it’s self hosted and free. It even has a halfway decent UI that’s less opaque then Google analytics site.

Blog Updates


As of now Piwik is deployed on the site and you’ll no longer see 3rd party / outside analytics.

Access Log

I also turned off the web server access log. I don’t care about the data, never use it and it ‘wastes space’. Unless I’m actively working on something and need the log. It’s off. Period.

Rest assured the little data provided to me via Piwik (if you allow it to run) is all I’m going to see. Disable Piwik via NoScript/uBlock/Ghostery and I have zero insights into what you’re doing.

Piwik Config

While I was working on deploying Piwik I discovered they provide a proxy script that allows you to have a single Piwik install deployed across multiple domains without having to cross host the javascript/php. This is really nice. I can deploy Piwik on my normal administrative domain while keeping that domain off my other properties.

This is especially cricital since I don’t want to panic my users by having some random domain pop up in NoScript/Gostery/uBlock/et all. That’s an immediate red flag for myself and I don’t want to subject my privacy conscious users to that anxiety.

I did deploy a single Piwik install for all of my web properties. However, the domain you’ll see on any property (including this blog) will be the domain you’re expecting. The proxy works and I won’t cause you that kind of scare.

Nginx Config

For the curious, this is the necessary nginx config layout if you’re hosting Piwik on the same host as your websites.

  # Deny access to proxy config php file
  location = /config.php {
    return 404;

  # Ensure piwik javascript is redirected properly
  location = /piwik.js {
    alias /var/www/;

  # Relay all piwik.php requests to fastcgi for proxy to main piwik install
  location = /piwik.php {
    fastcgi_buffers 8 256k;
    fastcgi_buffer_size 128k;
    fastcgi_intercept_errors on;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME /srv/tracker-proxy/;
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

(function(f, a, t, h, o, m){ a[h]=a[h]||function(){ (a[h].q=a[h].q||[]).push(arguments) }; o=f.createElement('script'), m=f.getElementsByTagName('script')[0]; o.async=1; o.src=t;'fathom-script'; m.parentNode.insertBefore(o,m) })(document, window, '//', 'fathom'); fathom('set', 'siteId', 'PUEYX'); fathom('trackPageview');