Open Web Analytics2

Open Web Analytics

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.

OSAny web server with PHP and MySQL
Size~ 8.85 MB
Version1.14.0

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 version1.14.0, released 21 September 2026
LicenceFree, open source (GNU GPL)
Runs onYour own server: UNIX or Windows (the developers test mainly on UNIX)
Web serverApache 2.x supported; nginx works, but you convert the rewrite rules yourself
PHP8.2 or newer, with pdo_mysql or mysqli, plus json, mbstring and pcre
DatabaseMySQL 5.7 or newer (MariaDB and Aurora work)
Also neededOne 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

  1. Click the Download button at the top of this page and unpack the archive on your server.
  2. Create a MySQL database and a user with rights to create and alter tables.
  3. Make the installation directory writable by the web-server user, then open it in a browser and follow the installer.
  4. Add the cron entry. Without it the built-in scheduler never runs and nothing happens in the background.
  5. Put the tracking snippet on your site, or use the plugin for your CMS.
  6. 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 localhost degrades the data quality, because the check that decides what counts as an external referrer compares the host and port.

Common problems and fixes

ProblemWhat to check
Installation fails at the startPHP or MySQL below the required version, or the installation directory not writable by the web server.
No data appears at allThe 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 backgroundThe cron entry is missing. The scheduler also refuses to run jobs while a schema update is pending.
Links to reports return 404Report URLs changed in 1.13.0 and there are no redirects from the old ones.
Garbled city and region namesVersion 1.14.0 adds a repair command for exactly this.

Open Web Analytics vs. alternatives

ToolHow it compares
MatomoAlso self-hosted PHP and MySQL, much larger feature set and a paid cloud option; heavier to run
Google AnalyticsHosted and free, but the data sits on Google’s servers — the exact thing OWA exists to avoid
Plausible, UmamiLightweight and cookieless; no heatmaps or session replay
GraylogDifferent 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.

Editor’s rating
3.5/ 5
Features 3 · Ease of use 3 · Free version 5 · Development 2
Scored by the ITDeptTools team on four criteria, 1–5 each.
Your rating of Open Web Analytics
Visitors: 5.0 / 5 · 1 rating

Other articles

Submit your application