Metric definitions
What “visitor,” “session,” and “bounce” actually mean here.
Counter does not track people across days by default, so some metrics differ from advertising analytics. Here is how each number is calculated and when it may undercount or overcount visits.
The definitions
Visitor
A visitor is a distinct identifier in the selected period, not a verified person. In the default cookieless mode, Counter creates an HMAC from the visitor's IP address, browser user agent, and site using a key that changes every UTC day. Only the HMAC is stored.
Within one UTC day, the same browser usually keeps one identifier if its IP address and user agent do not change. A new identifier is created the next day, so one daily visitor can count as seven visitors over a week. With the optional cookie_on_consent mode, a consenting visitor receives a random first-party identifier that can last up to two years or until it is cleared.
Shared networks can combine several people under one daily identifier. An IP address or browser change can split one person into more than one. Blocking and privacy controls can prevent a visit from being counted at all.
Session
A session is a visitor's activity with no gap longer than the inactivity timeout, which is 30 minutes by default. A pageview, custom event, or closing signal extends the session. After the timeout, the visitor's next hit starts a new session.
Bounce rate
A bounce is a session with exactly one pageview. A session with only a custom event and no pageview is not a bounce. Bounce rate is the percentage of sessions in the period that bounced.
Average duration
Session duration is the time between the first and last recorded activity. A one-page session has zero duration unless the browser sends a closing signal after at least one second. Average duration includes only sessions with a measured duration greater than zero.
A forced close, lost connection, or departure within one second may prevent the closing signal. Counter records zero duration and excludes that session from the average instead of estimating it.
Returning visitor
A returning visitor has a stable identifier from an earlier day. The default cookieless mode changes identifiers daily, so this metric is unavailable for those sites instead of showing every visitor as new.
Sites using cookie_on_consent can measure return visits for people who consented. People who declined or were not asked are excluded from this metric.
Why your numbers may not match another analytics tool
These settings and technical limits can make Counter differ from another analytics tool.
- Third-party request blocking: the script and collection endpoint come from webcounter.ca. A blocker or browser policy can stop those cross-site requests. Counter cannot detect a request that was never sent.
- Do Not Track and Global Privacy Control: respected by default. The script does not send a request when either signal is present, and the server rejects the no-JavaScript fallback. Site owners can change this setting.
- Bot and crawler filtering: based on the browser's user-agent string. Known crawlers and obvious automation are excluded, but a scraper that looks like a normal browser may still be counted.
- Your own visits: you can exclude IP addresses in Settings or exclude your browser for up to a year. Until then, your own testing and browsing are counted.
- Daily identity rotation: the default cookieless mode cannot tell one person visiting on two days from two different people. Each day receives a new identifier.
See the Help Centre's consent and privacy section for how to enable cookie-based returning-visitor measurement, and the Privacy Notice for the full data-handling picture.