Open Web Analytics answers a question many companies now have to answer: where does visitor data live? It runs on your own server, stores everything in your own MySQL database, and nobody else gets a copy. The trade-off is that you install and maintain it yourself.
It is open source under the GNU GPL, and the current version is 1.14.0 (September 2026). The project is actively developed — the last few releases changed the database schema substantially.
Open Web Analytics at a glance
| Latest version | 1.14.0, released 21 September 2026 |
|---|---|
| Licence | Free, open source (GNU GPL) |
| Runs on | Your own server: UNIX or Windows (the developers test mainly on UNIX) |
| Web server | Apache 2.x supported; nginx works, but you convert the rewrite rules yourself |
| PHP | 8.2 or newer, with pdo_mysql or mysqli, plus json, mbstring and pcre |
| Database | MySQL 5.7 or newer (MariaDB and Aurora work) |
| Also needed | One cron entry and the ability to run PHP from the command line |
What it gives you
- Visits, pageviews and custom actions, tracked by a first-party JavaScript snippet — no third-party domain involved.
- Unlimited sites from a single installation.
- Heatmaps showing where people actually click on a page.
- Session recordings (“Domstream”), which replay what a visitor did.
- E-commerce tracking of transactions.
- Visitor geolocation, with a repair command for previously mis-encoded city and region names.
- A REST API for pulling data out and for administration.
- Multiple users with their own access to reports.
- Configurable cookie lifetimes — relevant when you write your privacy policy.
- Date-partitioned tables and a built-in job scheduler, so large datasets stay manageable.
Installation in outline
- Click the Download button at the top of this page and unpack the archive on your server.
- Create a MySQL database and a user with rights to create and alter tables.
- Make the installation directory writable by the web-server user, then open it in a browser and follow the installer.
- Add the cron entry. Without it the built-in scheduler never runs and nothing happens in the background.
- Put the tracking snippet on your site, or use the plugin for your CMS.
- Later upgrades update the schema from the command line rather than through the browser.
If you take the code from the repository instead of the packaged archive, you also have to install the PHP and JavaScript dependencies and build the front-end assets yourself — they are not stored in the repository.
What to expect, honestly
- There is no hosted version. You are the administrator: updates, backups, database growth and PHP upgrades are your job.
- No official nginx configuration is supplied.
- Existing installations are not migrated automatically to partitioned tables or to the newer identifier format — those are manual commands.
- Report URLs changed in 1.13.0 without redirects, so old bookmarks and links return “not found”.
- Using it on a bare IP address or on
localhostdegrades the data quality, because the check that decides what counts as an external referrer compares the host and port.
Common problems and fixes
| Problem | What to check |
|---|---|
| Installation fails at the start | PHP or MySQL below the required version, or the installation directory not writable by the web server. |
| No data appears at all | The tracker is not loading, or the logging endpoint is not being called — check the browser console and your web-server log. |
| Nothing is processed in the background | The cron entry is missing. The scheduler also refuses to run jobs while a schema update is pending. |
| Links to reports return 404 | Report URLs changed in 1.13.0 and there are no redirects from the old ones. |
| Garbled city and region names | Version 1.14.0 adds a repair command for exactly this. |
Open Web Analytics vs. alternatives
| Tool | How it compares |
|---|---|
| Matomo | Also self-hosted PHP and MySQL, much larger feature set and a paid cloud option; heavier to run |
| Google Analytics | Hosted and free, but the data sits on Google’s servers — the exact thing OWA exists to avoid |
| Plausible, Umami | Lightweight and cookieless; no heatmaps or session replay |
| Graylog | Different job entirely: server and application logs, not website visitors |
FAQ
Is Open Web Analytics free?
Yes, free and open source under the GNU GPL, with no paid tier.
Can I use it instead of Google Analytics?
Yes, that is its purpose. You get visits, sources, pages and actions, plus heatmaps and session replay, with the data staying on your server.
Does it work on shared hosting?
Often yes, if the host provides PHP 8.2 or newer, MySQL 5.7 or newer, and lets you add a cron job. Without cron it will not work properly.
Does it need cookies?
It uses its own first-party cookies, and their lifetimes are configurable. Mention them in your privacy policy.
Will it slow my site down?
The tracking snippet is small and asynchronous. The load lands on your server when reports are generated, which is why the scheduler and partitioning exist.
How do I upgrade?
Replace the files and run the schema update from the command line. Back up the database first — recent versions changed the schema significantly.







