Analytics

Privacy-first analytics with multiple provider support

Optional analytics integration. Disabled by default.

Three providers available: Umami (recommended), Plausible, and Google Analytics. All can be used simultaneously.

Providers

Open source, privacy-first analytics. GDPR compliant by default.

No cookie banner needed

Plan Price Events/mo Websites Data Retention
Hobby Free 100K 3 6 months
Pro $20 1M Unlimited 5 years
Self-hosted Free Unlimited Unlimited Unlimited

Why Umami?

  • Free tier with 100K events/month
  • Self-host with PostgreSQL (no ClickHouse required)
  • Open source
UMAMI_WEBSITE_ID=your-website-id
UMAMI_HOST=cloud.umami.is  # or your self-hosted domain

Setup: umami.is

Plausible Analytics

Privacy-first analytics. Lightweight. GDPR compliant by default.

No cookie banner needed

PLAUSIBLE_DOMAIN=yourdomain.com
PLAUSIBLE_HOST=plausible.io  # or your self-hosted domain

Setup: plausible.io ($9/mo or self-host with ClickHouse)

Google Analytics 4

Standard analytics. Free. Industry standard with comprehensive features.

Requires GDPR-compliant cookie consent (not included)

goilerplate does not include a cookie consent solution. Proper GDPR compliance requires:

  • Opt-in before loading: GA script must not load until user consents
  • Preference center: Users must be able to change their choice later
  • Easy opt-out: Withdrawing consent must be as easy as giving it

This complexity is why we recommend Umami or Plausible for most projects.

GOOGLE_ANALYTICS_ID=G-XXXXXXXXXX

Setup: analytics.google.com

Default (No Analytics)

No cookie banner needed. Only essential cookies:

  • JWT auth cookie (required for login)
  • Theme preference (localStorage, not a cookie)

With Analytics

No cookie banner:

  • Umami (privacy-first, no tracking cookies)
  • Plausible (privacy-first, no tracking cookies)

Cookie banner required:

  • Google Analytics 4

See Legal Pages for cookie consent info.

Multiple Providers

Use multiple providers simultaneously if needed. Enable by setting ENV vars.

Example (recommended setup):

UMAMI_WEBSITE_ID=your-website-id

Example (all providers):

UMAMI_WEBSITE_ID=your-website-id
PLAUSIBLE_DOMAIN=yourdomain.com
GOOGLE_ANALYTICS_ID=G-XXXXXXXXXX

Self-Hosting

Both Umami and Plausible support self-hosting:

Umami uses PostgreSQL - you can use your existing database.

Plausible requires ClickHouse - more resource-intensive setup.

Set the host ENV variable to point to your self-hosted instance:

UMAMI_HOST=analytics.yourdomain.com
PLAUSIBLE_HOST=plausible.yourdomain.com

Development

Leave analytics ENV variables empty in local .env to disable during development.

Set them only in production environment.