Umami

Installation
SKILL.md

Critical Configuration

  • HASH_SALT must never change — changing it invalidates all existing data, essentially a reset
  • SQLite is not supported — despite being Node.js, Umami requires PostgreSQL or MySQL
  • Database contains everything — all tracking data, config, users; backup only this

Tracking Script Traps

  • data-website-id must match Umami config exactly — wrong ID = zero data, no error shown
  • Script blocked by ad blockers — self-host on same domain as site to avoid blocking
  • Single Page Apps don't auto-track navigation — must call umami.track() on route changes
  • Script in <head> not <body> — late loading misses initial pageview

SPA Integration

  • React: call umami.track('pageview') in router effect or navigation handler
  • Next.js: use @umami/next package — handles app router and pages router
  • Vue/Nuxt: router afterEach hook with umami.track()
  • Check window.umami exists before calling — script may load after component mounts
Installs
1
Repository
clawic/skills
GitHub Stars
16
First Seen
Jun 17, 2026
Umami — clawic/skills