Google Analytics got complicated on purpose. Privacy laws got stricter on purpose too. Somewhere in the middle sits the project that has been saying "own your stats" since it was called Piwik.
Matomo is still the big name in self-hosted web analytics: ~22k GitHub stars, GPL-3.0, PHP and MySQL on your server, JavaScript tracking tag on your pages, and a dashboard that can do real product work — goals, funnels, e-commerce, custom dimensions, segments, geo maps, real-time visits, and a plugin marketplace if the core is not enough. Matomo Cloud exists if you do not want ops; the same codebase runs on a VPS you control.
What it actually does
Install Matomo like any PHP app: upload or git deploy, run the web installer, paste the tracking snippet (or use the image tracker, HTTP API, or log import for some setups). Hits land in your MySQL/MariaDB database. Reports render in a UI you can rearrange with widgets; power users hit the Analytics API for exports and custom dashboards.
Features that keep teams on Matomo instead of a ten-line stats script:
- Goals and e-commerce — revenue, carts, conversions without wiring a separate product analytics bill.
- Custom segments — slice visitors by behavior, campaign, geography, device, or fields you define.
- Multi-site — one install, many tracked properties (handy for agencies).
- Plugins — enable what you need, strip what you do not; build or buy custom plugins when requirements get weird.
- Privacy tooling — anonymize IPs, respect DNT, configure retention, and document processing in ways GDPR-focused orgs expect (still get legal review; software is not a lawyer).
Requirements today are mainstream hosting: PHP 8.1+, MySQL 8+ or MariaDB 10.6+, PDO/MySQLi. That matches a typical Swift Host Apache stack better than a five-container Node analytics lab.
Why self-host Matomo?
You hold the database. Raw visit rows, user ids you choose to store, and ecommerce receipts stay on disk you backup. Leaving GA means nothing if you replace it with another US-hosted SaaS export policy.
Compliance narrative. Canadian public-sector and health-adjacent sites often need analytics in-country with auditable retention. Matomo on a Canadian VPS with tight cookie consent configuration is a well-trodden path.
No sampling surprises. Self-hosted Matomo reports on the data you collected, at the scale your hardware allows. Very high traffic needs tuning (archiving cron, read replicas, hardware), but you are not guessing what got sampled away.
Escape hatches. Export via API, migrate plugins, or stay on supported LTS releases. GPL code remains forkable insurance if vendor priorities shift — Matomo the company also sells support plans, but the data is still yours on-prem.
What running it takes
The installer claims five minutes; budget longer for TLS, cron, and mail. Matomo needs a reliable archiving schedule (browser-triggered archiving does not scale). Set up systemd/cron for core:archive, give MySQL enough disk for log growth, and put the tracking endpoint on HTTPS.
Resource hints:
- Small business / blog — 2 GB RAM VPS often suffices with default plugins disabled.
- Busy shops — watch InnoDB size, enable batch archiving, consider dedicated DB, Redis for queue if you enable heavy plugins.
- Security — treat the Matomo URL like admin territory: 2FA where available, restrict by IP, patch quickly (Matomo runs a public security bounty program for a reason).
Compared to GoatCounter or Litlyx on this blog: Matomo is heavier and more capable. Compared to GoAccess: Matomo is tag-based product analytics, not raw log tailing. Many teams run Matomo plus server logs for defense-in-depth.
Who it's for (and who should skip it)
Good fit: organizations leaving GA4, agencies managing client properties, ecommerce on WooCommerce/PrestaShop with official integrations, nonprofits and governments documenting privacy controls, anyone who outgrew minimalist analytics but refuses closed SaaS.
Maybe skip it: personal sites that only want a hit counter (use something tiny). Teams with zero PHP/MySQL comfort who will not patch or archive — hosted Matomo Cloud or a managed lighter tool may beat a neglected on-prem install. If you need warehouse-native petabyte analytics, pair Matomo with export pipelines rather than pretending one PHP app replaces Snowflake.
Hosting it in Canada
Matomo is a natural fit on our Canadian VPS plans: Apache, PHP 8.3, MariaDB/MySQL, cron, and off-site DB backups. We help clients park it on analytics.clientdomain.ca, wire TLS, and size disk before holiday traffic.
Tell us how many sites you track, expected monthly hits, and whether e-commerce goals matter if you want an archiving and retention checklist before cutover from GA.
Ready to own the analytics database? Talk with Swift Host — we are in St. Albert and actually answer the phone.