Barelytics Documentation

Metrics and Privacy FAQ

Common questions about how Barelytics calculates metrics and handles data.

Metrics FAQ

What counts as a visitor?

A visitor is represented by a session. Barelytics stores a session_id in browser session storage and uses that for counting.

  • Unique Visitors = distinct session_id values in the selected range.
  • Live Visitors = distinct session_id values seen in the last 5 minutes.

What counts as a pageview?

A pageview event is sent when:

  1. The page initially loads.
  2. The URL changes in a single-page app (history navigation).

How is time on page calculated?

Barelytics tracks active visible time for each pageview:

  1. Timer starts when a page is viewed.
  2. Timer pauses when the tab becomes hidden.
  3. Timer flushes on route change or page hide/unload.

The value is sent as a time_update event with time_on_page in seconds.

How is average time calculated?

Average Time is the average of valid time_on_page values from time_update events in the selected period.

How is bounce rate calculated?

Bounce rate is based on pageview sessions:

single_page_sessions / total_sessions

A single-page session is any session with exactly one pageview in the selected date range.

Why can metric numbers differ between cards?

Some cards use different event sets:

  • Page and visitor cards are based on pageview events.
  • Average time is based on time_update events.
  • Funnel steps can be based on pageview, click, or custom events.

Why do I see no data in some cards?

You can have partial data in a period. Example:

  • Pageviews exist, but no valid time_update events yet.
  • No referrer values (direct traffic), so Top Referrers may be empty.
  • A funnel step pattern does not match incoming events.

Privacy FAQ

Does Barelytics use cookies?

Core session tracking uses browser session storage for the session ID.

What request data is collected?

Tracking requests can include:

  • Domain
  • URL and referrer
  • Event name and event properties
  • Session/pageview IDs
  • User agent
  • IP-derived metadata (such as country, depending on infrastructure)

Do you collect personal data by default?

Barelytics is designed for event analytics, not user profiling by default.
However, custom events and properties are controlled by your implementation, so avoid sending PII unless you explicitly need it and are legally allowed to process it.

Can I track custom business events?

Yes. Use:

window.barelytics.track('event_name', { key: 'value' })

What should I avoid sending as properties?

Do not send:

  • Email addresses
  • Full names
  • Phone numbers
  • Payment details
  • Any sensitive identifiers

Use internal IDs or aggregated labels when possible.

Data freshness and troubleshooting FAQ

How quickly does data appear?

Usually within a few minutes after the script is installed and traffic occurs.

What if live visitors stays at 0?

Check:

  1. Script is present in <head>.
  2. data-domain matches your Barelytics website domain.
  3. Browser/network is not blocking the script or tracking endpoint.
  4. You are viewing the same domain in the dashboard.

Why does direct traffic have no referrer?

Direct traffic (typed URL, bookmarks, some app opens) often has no referrer header. This is expected behavior.

On this page