Contact Us
Webflow Premium Partner Ehab Fayez
Back to Agent Skills
Data & Analytics

Umami Self-Hosted Analytics

Deploy Umami for self-hosted, privacy-focused web analytics with a clean dashboard and custom events.

Claude Code Cursor Copilot Windsurf

Overview

Umami is a simple, fast, privacy-focused web analytics tool that you self-host. It provides a beautiful, intuitive dashboard showing real-time visitor data, page views, referrers, countries, devices, and custom events. The tracking script is lightweight (2 KB) and does not use cookies, making it GDPR compliant without consent banners.

Umami supports multiple websites from a single installation, with team access controls and shareable dashboard links. Custom events can be tracked with properties for detailed interaction analysis. The API provides full access to analytics data for building custom reports and integrations. Umami supports PostgreSQL and MySQL as database backends.

Self-hosting Umami gives you complete data ownership with no vendor lock-in. It can be deployed to any platform that supports Node.js, including Vercel, Railway, DigitalOcean, and Docker. The platform includes built-in features like UTM tracking, funnel analysis, retention tracking, and realtime visitor counts. Umami Cloud offers a managed hosting option for those who prefer not to self-host.

Who Is This For?

  • Deploy self-hosted analytics for complete data ownership
  • Track multiple websites from a single dashboard
  • Monitor real-time visitor activity and page performance
  • Build custom analytics reports with the REST API

Installation

Setup for Claude Code
npx create-umami

Configuration

// Add tracking script
// <script async src="https://analytics.myapp.com/script.js" data-website-id="xxx"></script>

// Track events via API
await fetch("https://analytics.myapp.com/api/send", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    payload: {
      website: "website-id",
      name: "button-click",
      data: { plan: "pro" },
    },
    type: "event",
  }),
})