OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

Open Web Analytics

Long-running PHP and MySQL analytics server with heatmaps, session recordings and ecommerce tracking

Open source alternative to

Visit Open Web AnalyticsGitHubDocumentation

Main features

  • Visitors, page views, sessions, new and returning visitors
  • Several websites tracked from one server
  • Ecommerce transaction tracking
  • Custom actions, goals and funnels
  • Campaign attribution
  • Click heatmaps
  • Session recording and playback (Domstream)
  • Click-streams for each visitor
  • Geolocation with a MaxMind GeoIP module
  • Custom reports, multiple users and a REST API

What Open Web Analytics does

Open Web Analytics, usually shortened to OWA, is a PHP and MySQL analytics server with a JavaScript tracker. It covers the standard reports, including visitors, sessions, sources, campaigns, goals, funnels and ecommerce transactions, and it can track several websites from one installation.

What sets it apart from other PHP tools is that heatmaps and session recordings are part of the open source code. Click heatmaps show where people click, and “Domstream” recordings replay a visitor’s movements on a page, features that Matomo sells as paid plugins.

Privacy and cookies

The tracker sets first-party cookies by default: a visitor ID that lasts 364 days, a campaign cookie that lasts 60 days and a session cookie. Since version 1.14.0 you can shorten these lifetimes or turn them all into session cookies, which means returning visitors count as new. The README itself points out that consent exemptions for analytics depend on low privacy impact and that a year-long identifier is hard to justify. Each site profile can anonymize IP addresses by removing the last part, and the tracker records nothing when the browser sends a Do Not Track signal.

Self-hosting Open Web Analytics

OWA runs on ordinary PHP hosting: PHP 8.2 or later with the usual extensions, MySQL 5.7 or later or a compatible database such as MariaDB, Apache 2 and one cron job. Nginx works, but you have to convert OWA’s rewrite rules by hand. There is no official Docker image in the repository. For bigger sites, the wiki describes setups where several front-end servers record events and a central server processes them. No hardware minimum is documented.

Hosted version

There is no official hosted service; the website offers downloads and a demo.

Limitations

OWA is not cookieless by default, has no Docker image or hosted option, and mainly targets Apache. Its wiki already documents an OWA 2.0 with a new data model, which is not released yet, so expect a data migration when it arrives.

Who it suits

OWA suits PHP hosting and WordPress sites, which have an official plugin, that want heatmaps and session recordings on their own server without paying for add-ons, and that can live with cookies and a consent banner.

Technical details

Self-hosting needs

  • PHP 8.2
  • MySQL or MariaDB
  • Apache

Built with

  • PHP
  • JavaScript

GitHub topics

  • owa
  • php
  • privacy
  • web-analytics
  • website-traffic

Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.