Self-Hosted Plausible: Web Analytics Without Cookies or Google

Your client wants to know how many people read the pricing page. You add Google Analytics. Now you need a cookie banner, a privacy policy paragraph nobody reads, and you're sending visitor IPs to Mountain View. The site loads slower. Legal asks if you're PIPEDA-compliant. You just wanted a number.

Plausible Analytics is the antidote. ~27k GitHub stars, AGPL Community Edition for self-hosting, and a privacy-first dashboard — pageviews, referrers, countries, devices, goals. No cookies. No personal data stored. Tracking script under 1 KB. The Google Analytics alternative that doesn't make you apologize to visitors.

What it actually does

Drop a tiny script on your site (or hit the events API directly). Plausible counts visits, tracks custom events and goals, shows real-time traffic, and emails weekly reports — all on one clean dashboard page. No digging through twelve GA4 menus to find bounce rate.

Privacy by design. No cookies, no persistent identifiers, no cross-site tracking. Visitor uniqueness uses a daily-rotating hash of IP + User-Agent — raw IPs aren't stored. GDPR, CCPA, and PECR friendly out of the box; many sites skip consent banners for Plausible specifically (verify with your counsel — we're hosting folks, not lawyers).

Modern sites. SPAs with pushState and hash routing work without gymnastics. Track outbound links, file downloads, form submissions, and 404s without extra code. Import historical Google Analytics data if you're migrating.

Self-hosted Community Edition. The main repo is the application; deploy CE via plausible/community-edition with Docker Compose. Elixir/Phoenix backend, PostgreSQL for users and site config, ClickHouse for event storage — same stack we touched in our ClickHouse post, here doing analytics specifically.

Plausible vs SigNoz vs Uptime Kuma

  • Uptime Kuma — is the site up? Synthetic checks and status pages
  • SigNoz — backend APM: traces, logs, infrastructure metrics
  • Plausible — marketing analytics: who visited, from where, which pages converted

Different questions. Your Swift Host site might run Plausible for traffic insights and Uptime Kuma to ping the homepage every five minutes. SigNoz is for when you have APIs and microservices to debug — overkill for a brochure site.

Why self-host?

Canadian data residency. Cloud Plausible processes EU data in Germany — great for EU clients. Self-hosted on a Montreal VPS means visitor stats never leave Canada. You control the DPA story for PIPEDA-conscious clients.

You own the raw events. CE gives direct ClickHouse access if you want to query pageviews yourself. Cloud Plausible exposes aggregated dashboards and CSV/API exports — self-hosting is the full data ownership path.

Unlimited sites, flat VPS cost. Cloud pricing scales per pageview tier. Self-hosted CE costs whatever your server runs — sensible for agencies tracking dozens of client sites from one instance.

No surveillance capitalism. Plausible's business model is subscriptions, not ad targeting. CE is free; you pay for metal and maintenance instead of per-seat SaaS.

CE trade-offs. Community Edition releases twice a year (LTS), not weekly like cloud. Premium cloud features — marketing funnels, ecommerce revenue goals, SSO, Sites API — aren't in CE. Bot filtering is basic vs cloud's advanced filtering. Community support only. Eyes open.

What running it takes

Clone the community edition repo and compose up:

git clone -b v3.2.1 --single-branch https://github.com/plausible/community-edition plausible-ce
cd plausible-ce
echo "BASE_URL=https://analytics.yourdomain.ca" >> .env
echo "SECRET_KEY_BASE=$(openssl rand -base64 48)" >> .env
docker compose up -d

Plan 2 GB RAM minimum — ClickHouse is the hungry container. CPU needs SSE 4.2 (modern x86) or ARM NEON. Point DNS at your server, set up TLS (CE can do Let's Encrypt on ports 80/443, or put nginx in front).

Add the tracker to your sites:

<script defer data-domain="swifthost.ca" src="https://analytics.yourdomain.ca/js/script.js"></script>

Back up both databases — PostgreSQL (users, sites, goals) and ClickHouse (events). People forget Postgres because the directory looks small. It's not optional.

Who it's for (and who should skip it)

Good fit: Canadian agencies hosting client WordPress and static sites, privacy-conscious businesses ditching GA4, freelancers who want traffic stats without cookie-banner UX damage, anyone who needs simple analytics on a homelab blog.

Maybe skip it: you need session replay, user-level funnels, or ad attribution depth — GA4 or Matomo might fit better (different privacy trade-offs). If you won't maintain Postgres + ClickHouse backups, Plausible Cloud in the EU is less ops. CE isn't set-and-forget forever.

Hosting it in Canada

We run Plausible CE stacks on Canadian Docker hosting — RAM for ClickHouse, TLS on your analytics subdomain, backups on both databases, and network placement so your stats stay domestic.

Tell us how many sites you're tracking — we'll size the box before your first client traffic spike fills ClickHouse.

Tags:
  • Plausible
  • Analytics
  • Privacy
  • GDPR
  • Self-Hosted

Need Help With Your Hosting?

Tell us about your application — we respond within 1 hour with honest recommendations.