User

Tour of the Dashboard

A walkthrough of every section of the analytics dashboard.

Last updated 1775692800

The analytics dashboard packs a lot into one screen. Here's a tour of each section so you know what you're looking at.

Top bar

At the top of every dashboard you'll find:

  • Domain selector: dropdown to switch between your domains. Analytics are per-domain — pick one at a time.
  • Range buttons: 24H, 7D, 30D, 90D. Click any button to load that range. The chart and tables update immediately.
  • Refresh button: re-fetches the data from the agent. Useful if you just made a change to your site and want to see traffic update.

Stat cards

Four cards summarising the chosen range:

  • Total Visits: every page request counted (excluding bots in this number? No — total includes everything that was logged).
  • Unique Visitors: estimated count of distinct IP addresses. The exact union of hourly sets isn't stored on disk to save space, so this is an approximation: it uses max(any hour) + (sum-max)/3 as a heuristic. Within ±5% for typical traffic.
  • Bandwidth: total bytes served, formatted in KB/MB/GB.
  • Bot Traffic: percentage of visits that came from bots (search engine crawlers, SEO tools, monitoring scripts).

Visits Over Time chart

A line chart showing visits (orange, filled area) and unique visitors (blue, dashed line) over the selected range. Hover over any point to see the exact numbers for that hour or day.

The X-axis labels adapt to the range:

  • 24H view: shows hours (00:00, 01:00, ...)
  • 7D / 30D / 90D views: shows dates (4/8, 4/9, ...)

Top Pages

The most-requested URLs in the selected range. Each row shows the URL, a horizontal bar chart for visual comparison, and the visit count. Bot visits are excluded so this only shows real human traffic.

URLs are stripped of their query string (?param=value) before counting, so /blog?ref=twitter and /blog?ref=facebook are merged into a single /blog row. Long URLs are truncated to 200 characters.

Top Referrers

Where your traffic is coming from. Each row is a hostname (e.g. google.com, twitter.com, news.ycombinator.com). Visits with no referrer (direct URL entry, bookmarks, app links) are counted under direct.

Referrers are normalised: https://www.google.com/search?q=... becomes google.com. The protocol, path, and www. prefix are stripped.

Top Countries

Geographic distribution of your visitors, with country flags. Requires the MaxMind GeoLite2 database to be installed by the panel administrator. Without it, you'll see a hint asking the admin to configure it in System Settings → Integrations.

The flag emoji is rendered using Unicode regional indicator characters — no image files needed, works on every modern browser. Countries shown by ISO 3166-1 alpha-2 code (US, DE, RO, ...) with the full name as the label.

Top Browsers

Chrome, Firefox, Safari, Edge, Opera. Each browser is detected from the visitor's User-Agent string with simple substring matching. The order matters because Chrome's UA contains Safari and Edge's UA contains Chrome, so the agent checks the most specific markers first (Edg/, OPR/, Firefox/, then Chrome/, then Safari/).

Each browser has a brand SVG icon next to it for instant recognition.

Operating Systems

Windows, macOS, Linux, iOS, Android. Same approach as browsers — substring matching against the UA string with brand icons.

iOS is detected before macOS because iPhone/iPad UAs also contain "Mac OS X" (specifically, "CPU iPhone OS 17_0 like Mac OS X").

HTTP Status Codes

Request count grouped by status family:

  • 2xx: success (green)
  • 3xx: redirects (blue)
  • 4xx: client errors — usually 404 Not Found (amber)
  • 5xx: server errors — your site crashed for those visitors (red)

If you see lots of 4xx or any 5xx, check the Live Logs page to see what's failing.

Privacy footer

A reminder at the bottom of every dashboard explaining that no tracking script is loaded, no cookies are set, and no data leaves your server. You can show this to your customers / users / lawyer when discussing analytics.