Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Deploy Umami analytics avoiding data loss, tracking failures, and integration issues.
Deploy Umami analytics avoiding data loss, tracking failures, and integration issues.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
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
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
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
Event names appear verbatim in dashboard — use consistent naming scheme Properties only searchable via API — not visible in default dashboard umami.track('event', { key: 'value' }) for properties
Low resources needed — 256MB RAM handles most sites PostgreSQL needs more resources than Umami itself — plan accordingly Reverse proxy required for HTTPS — Umami runs HTTP on port 3000 Backup strategy = database backup — no filesystem state to worry about
One Umami instance handles many sites — add in Dashboard > Settings > Websites Each site needs unique tracking script — get from Websites settings Share button available per site — generates public dashboard URL
Zero pageviews — check browser Network tab, verify script loads without error Script 404 — verify CORS headers if cross-domain, or self-host on same domain Events not appearing — check browser console for umami errors Dashboard slow — check database performance, PostgreSQL query times
Using same website ID for dev and prod — pollutes analytics with test data Not testing script after deploy — CDN caching or minification can break it Expecting real-time updates — dashboard has slight delay, not instant
Data access, storage, extraction, analysis, reporting, and insight generation.
Largest current source with strong distribution and engagement signals.