ShyNet Analytics

ShyNet is my new Web Analytics tool of choice; privacy focused and very light-weight.

ShyNet Analytics

There are a multitude of different website analytics tools available out on the web. Google Analytics, StatCounter, Matomo, Countly, Fathom, etc. Each of these have their own selling points, some are spectacularly powerful, and a few can even be self-hosted. I have used a number of these tools through the years, and I find they can sometimes be slow and often quite difficult to manage.

Today I am writing about ShyNet. The ShyNet web interface is clean, it runs in a docker container, and it's exceptionally easy to use. If you look at the source code of this very page, you'll find a ShyNet link in the footer.

One thing stands out about ShyNet though, and that's the cookie-free privacy it offers.

"You host it yourself, so the data is yours. It works without cookies, so you don't need any intrusive cookie notices. It collects just enough data to be useful, but not enough to be creepy. It's open source and intended to be self-hosted. And you may even find the interface easy to use."   ShyNet

Why ShyNet?

Internet privacy is pretty much gone; I'm sure we can all agree on that. Google and Facebook can track us as across the web even if we don't use their services, building profiles they can use to sell adverts at our expense.

What if you have an e-commerce site and you want to see how users interact with the site? You want to see how many page clicks are typical between adding a product to the basket and going to the checkout. Should your site and customer information be available to third parties, in the name of some free analytics software? I argue no, they shouldn't.

This is where ShyNet excels.
Adding ShyNet to your site is easy - it's one line of code you can add to a web page. It doesn't drop cookies everywhere it goes, it doesn't need JavaScript enabled, and you can respect users 'Do Not Track' settings (despite DNT not being a great solution). DNT can be switched on with the flip of a switch - and it is enabled by default.
Good news then - if you have DNT enabled on your browser, your visit here won't be logged by ShyNet and I won't even know you have been here!

Modern, privacy-friendly, and detailed web analytics that works without cookies or JS. - milesmcc/shynet

Installing ShyNet

Installing ShyNet is pretty easy. My instance runs in an 'always free Oracle Cloud' server, which keep availability high. ShyNet does need a PostgreSQL server running - there are instructions included in the link at the start of this section!

There are instructions for running ShyNet behind a CloudFlare or NGINX reverse proxy on the ShyNet install notes, though I tend to use Caddy, as configuration and automatic SSL certs are easy! The configuration I use for ShyNet is; {
  proxy /         http://ipaddr:port {
ShyNet Caddy Config

Remember to set 'SCRIPT_USE_HTTPS=True' in your .env file!

Using ShyNet

Day to day use of ShyNet is really easy!

Once a site is added, ShyNet will display it on a graph, indicating the number of sessions and hits the site has received. As there isn't sufficient data yet, the delta for bounce rate & avg. duration aren't yet shown. These will appear in about a month, when sufficient data for a comparison is available.

Detailed information can also be obtained for the site - including page load time, average duration, and number of hits per session. Below this graph, you will also see a list of data including;

  1. URLs visited (Hits)
  2. Referrer
  3. Country of Visitor
  4. Operating System
  5. Browser
  6. Device Type
  7. Session Info (this gives details per session of hits / duration / load times).

What do you use this information for?

I use this information to see how I can improve my site for visitors.

I might build a website to be used on an iPad / Tablet device, but if I see that most users arrive using a mobile phone, then I can edit the site to ensure a smooth experience for smaller screens.
If a large proportion of visitors to a boutique e-commerce site are referred from Instagram or Reddit, I can confirm marketing strategies are working.  
If visitors are visiting from a different country than expected, then marketing might be adapted to improve chances of clicking through to the site, or I might see if I can offer local discounts for shipping to those countries.

The problem with analytics and tracking

I feel that all of this information is useful, but it comes at a price - your privacy.

Do users truly know how much data is harvested from them every time they browse the web?

This is why I really like ShyNet, because if an internet user doesn't want to be tracked on my site - that's fine, ShyNet will just pretend you were never here - and it's enabled by default.

Give it a go!

You can find more detailed information for ShyNet alongside installation instructions on GitHub.

I find that any issues opened on GitHub are answered quickly and the author is really helpful!