Open Web Analytics: Know Who Clicked, Without Sending It to Google
Let’s face it — most web analytics tools these days want your data as much as you want the insights. Every dashboard feels like a tradeoff: visibility for surveillance. But what if you could get the numbers you need — visits, clicks, paths, conversions — without piping everything into someone else’s cloud?
That’s what Open Web Analytics (OWA) is about. It’s open-source, self-hosted, and does most of what Google Analytics used to do — without tracking your users behind their backs or violating your compliance checklist. You install it once, drop a small tracker on your site, and start seeing what people are doing — page by page, event by event.
It’s not fancy. But it works.
What You Actually Get
Feature | Why It Matters |
Visitor Tracking | Logs visits, pageviews, session durations, referrers, and bounce rates |
Heatmaps | Click heatmaps for any page — see where users are interacting |
Goal/Conversion Tracking | Define paths or actions that matter — get alerts or reports |
JavaScript Tracker | Lightweight script you can embed anywhere — even on intranet apps |
Self-hosted | Keeps data on your server — useful for regulated or internal environments |
WordPress Integration | Native plugin support for WP — no third-party analytics code needed |
API Access | REST endpoints for pulling stats into your own tools or dashboards |
Multi-site Support | Track multiple domains or apps from one instance |
Where It Fits Best
OWA makes sense if you:
– Run internal apps (HR, finance, dev tools) and want to know how they’re used
– Can’t send user data offsite due to legal or client constraints
– Want basic click and usage metrics without marketing fluff
– Need per-page and per-user analytics without rearchitecting your frontend
– Used Google Analytics for years, but now need to go private or on-prem
Requirements and Setup
Requirement | Notes |
OS | Linux or Windows (LAMP/WAMP stacks work fine) |
Web Server | Apache or Nginx (with PHP support) |
PHP Version | 7.4+ recommended |
Database | MySQL or MariaDB |
Permissions | Access to create DB schema and write to web root |
Memory | 512MB+ for small sites; more for heavy traffic |
Basic Installation (Apache + MySQL Example)
Install Apache, PHP, and MySQL
On Ubuntu:
sudo apt install apache2 php php-mysql mysql-server unzip
2. Download and extract OWA
wget https://github.com/OpenWebAnalytics/Open-Web-Analytics/archive/refs/heads/master.zip
unzip master.zip
sudo mv Open-Web-Analytics-master /var/www/html/owa
3. Create the database
CREATE DATABASE owa;
CREATE USER ‘owauser’@’localhost’ IDENTIFIED BY ‘yourpass’;
GRANT ALL PRIVILEGES ON owa.* TO ‘owauser’@’localhost’;
FLUSH PRIVILEGES;
4. Configure OWA
Open your browser and visit http:///owa/. Follow the setup wizard:
– Enter DB credentials
– Set admin user and password
– Define first site to track
5. Add tracker to your site
Insert the generated tag before on your web pages.
Strengths and Weaknesses
What it gets right:
– No cloud dependency — data stays on your terms
– Simple install — especially for anyone used to LAMP/WAMP setups
– Lets you track internal tools or apps that shouldn’t be exposed externally
– Heatmaps and goals work out of the box
What to be aware of:
– UI is dated — don’t expect Material Design
– Not optimized for high-traffic public sites without tuning
– No real-time dashboard — stats update on page load or via cron
– Tracker requires cookies — not ideal for cookieless environments
The Bottom Line
Open Web Analytics is what you reach for when you want just enough web visibility — without opening your users up to third-party tracking. It doesn’t try to sell you marketing integrations or funnel optimization tools. It gives you visits, clicks, referrers, goals — and it does it quietly, under your control. For internal IT, compliance-sensitive apps, or privacy-conscious deployments, it gets the job done.