Frequently Asked Questions

Everything you need to know about self-hosting DIY Analytics, from setup to data ownership.

What is DIY Analytics?

DIY Analytics is a free, open-source, self-hosted web analytics platform — a privacy-first, cookie-free alternative to Google Analytics that you deploy to your own infrastructure and fully own.

How quickly can I deploy my own instance?

Under 5 minutes. Deploy to Vercel, connect a PostgreSQL database (14+), and you're collecting data.

What database does DIY Analytics use?

PostgreSQL, accessed via Drizzle ORM and the postgres-js driver. Any standard Postgres 14+ works, including Vercel Postgres, Neon, Supabase, or Railway — there's no vendor-specific SDK, just a DATABASE_URL connection string.

Is DIY Analytics GDPR and CCPA compliant?

Yes. It's cookie-free, collects no personally identifiable information, and is privacy-first by design. Because you self-host it, your visitors' data never leaves servers you control.

How is this different from Google Analytics?

Google Analytics sends your visitors' data to a third party and relies on cookies for tracking. DIY Analytics is self-hosted, cookie-free, and open source — your data stays on your own database and is never shared or sold.

Do I need technical expertise to set it up?

No. Setup is three steps: deploy the app, connect a PostgreSQL database, and paste the tracking snippet into your site. No DevOps background is required.

How big is the tracking script?

Under 2 KB, and it loads with async/defer so it never blocks page rendering or hurts Core Web Vitals.

Can I track custom events?

Yes. DIY Analytics supports custom events and reports Core Web Vitals (LCP, CLS, INP) out of the box, alongside standard pageview and session tracking.

Is DIY Analytics free?

Yes, it's free and open source under the MIT license. You only pay for your own hosting and database, which can be free-tier on platforms like Vercel and Neon.

Where can I get help if something isn't working?

Start with the troubleshooting guide, which covers the most common setup issues. If you're still stuck, open an issue on the GitHub repository.