Back to Digital Guides
By Peter van BarneveldJanuary 7, 2026

How to use Ackee for privacy-friendly website analytics

After successfully migrating my Dimaginar website, I was curious about visitor statistics. On my WordPress site I had Google Analytics running, but given my search for alternatives to US tech giants, this felt like another interesting digital puzzle to solve.

In terms of requirements, I wanted a privacy-friendly solution without tracking. I don't want to be overwhelmed with data and don't want to bother visitors with a cookie notice. My wishlist included visitor numbers, time spent on my website, and ideally per page as well. Keeping it free was also important.

These requirements pushed me toward an open source solution.

Choosing Ackee

The most eye-catching solution was Ackee. Particularly because of its simplicity and the way it can be deployed. It works by forking to your own GitHub, where I chose an installation on Netlify's free tier. A MongoDB was needed as a backend, but I could also use a free tier from MongoDB Atlas for this.

From Installation to First Data

Installation and configuration was mainly reading carefully and then executing precisely. I used Claude as my AI assistant. It helped me with the initial research, installation and configuration, and troubleshooting.

After the successful installation on Netlify, it was time to log into Ackee for the final steps. I had to create a tracking script which I had my Claude AI coding agent implement in Visual Studio Code. Then it was just a simple git push of my website, which triggers an auto deploy to Cloudflare.

And voilà, with a first test visit the data came in.

What I Learned

Unfortunately, I then discovered that my desired data, time spent per page, is not available. I do have views per page and time spent visiting Dimaginar in general. For now, that's fine with me. Should the site grow, I can always consider switching to an alternative like Matomo.

After the initial setup, I wanted to secure access to Ackee. The ACKEE_ALLOW_ORIGIN variable defaults to *, which allows all domains. I wanted to change this to https://dimaginar.com, but due to a typo, tracking stopped working. Redeploying multiple times to find the error cost me a significant portion of Netlify's free build minutes. Something to keep in mind, check your environment variables thoroughly before deploying.

Now it's been running flawlessly for several days and I'm extremely satisfied with this setup. Despite using well-known US parties for hosting, I can easily switch and don't have a lock-in feeling. I can pick up MongoDB and run it elsewhere, and for the frontend my own GitHub repo is leading.

As far as I'm concerned, another beautiful example of digital autonomy in practice.


About the Author

Peter van Barneveld is a Group Innovation Manager exploring practical paths to digital autonomy. He tests what actually works in real daily use. His approach: figure it out, document the journey, share honest results.

Connect with Peter on LinkedIn or join the discussion on r/Dimaginar.


Frequently Asked Questions

What about updates and maintenance for Ackee?

Because you have a fork, you need to merge updates from the original Ackee repo yourself. This doesn't happen automatically. For most users this isn't a problem, updates are rare and not critical for daily use.

Do you need to update your privacy policy for Ackee?

Yes, even though Ackee is privacy-friendly. You need to mention in your privacy policy that you collect anonymous analytics, what data you collect (pageviews, duration, referring sites), and where the data is stored. No cookie banner needed, but transparency remains important.

Can you track multiple websites with one Ackee installation?

Yes, you can add multiple domains to one Ackee dashboard. Each site gets its own domain ID for the tracking script. This is useful if you have multiple projects. MongoDB costs remain the same, you simply use the same database for all your sites.