Metrics
Precise definitions for every number Flowtag reports.
Two analytics tools rarely agree on what a "visitor" is. This page states exactly what Flowtag counts, so you can reconcile its numbers with anything else you run.
Visitor metrics
| Metric | Definition |
|---|---|
| Visits | Total sessions opened in the range. One person visiting three times counts as three. |
| Unique | Distinct visitors, counted as distinct pairs of (visitor ID, hashed IP). |
| Returning | Visitors in the range whose first ever session on this tracker predates the range. |
| Referred | Distinct visitors who arrived from an external site that is not a search engine. |
| Organic | Sessions that arrived directly or from a search engine, with no attribution tags attached. |
| Events | All events recorded in sessions that opened during the range, of every type. |
| Bounces | Closed sessions that recorded exactly one event. |
| Avg Duration | Mean session duration, averaged over buckets that contain data. |
| Active (last 30 min) | Sessions that pinged within the last 30 minutes — a live view, independent of the selected date range. |
Returning is measured against a visitor's entire history, not against the previous period. A visitor who first arrived a year ago and came back today is returning; a visitor whose first ever session is inside the selected range is not, no matter how many times they came back within it.
Why Unique can differ from what you expect
Uniqueness uses the visitor ID and the hashed IP together. For visitors who have granted cookie consent, the visitor ID is a stable UUID and the count behaves as you'd expect. For cookieless visitors there is no stored ID, so the hashed IP does the work — which means a shared office network can collapse into fewer uniques, and a mobile visitor switching networks can produce more.
Traffic source metrics
Referred and Organic are deliberately not complements of each other — they answer different questions, and a session can fall into neither.
A session counts as referred when its referrer is an external URL that is
not one of the recognised search engines (Google, Bing, DuckDuckGo, Yahoo,
Yandex, Ecosia), and is not <direct> or <self>.
A session counts as organic when both of these hold:
- Its referrer is
<direct>or one of the recognised search engines, and - it carries no attribution tags at all — no
utm_source,utm_medium,utm_campaign,utm_term,utm_content, and noref.
The second condition is what makes Organic meaningful: a visitor arriving from a Google ad carries UTM tags and is excluded, while a visitor arriving from a Google search result is counted.
Referred counts distinct visitors; Organic counts sessions. Comparing the two directly as shares of one total will not add up. Use each against its own trend line rather than against each other.
Page metrics
Shown per path in Page Discovery:
| Metric | Definition |
|---|---|
| Pageviews | Pageview events recorded for this exact path. |
| Unique Visitors | Distinct visitors who viewed this path. |
| Sessions | Sessions that included this path. |
| Entries | Sessions whose first pageview was this path. |
| Avg Scroll | Mean of the highest scroll depth reached on this path per session. |
| Bounce Rate | Share of sessions entering on this path that recorded only one event. |
| Exit Rate | Share of sessions that ended on this path. |
| Events | All events recorded while on this path. |
A metric shows N/A rather than 0 when there is no data to compute it from —
no scroll events on a page that fits on one screen, for example.
Event metrics
Shown in the Event Browser:
| Metric | Definition |
|---|---|
| Total Events | All events in the range, across all types. |
| Event Types | Number of distinct event types present. |
| Avg Events / Session | Total events divided by total sessions, including sessions with no events. |
| Sessions with Events | Sessions that recorded at least one event, shown against total sessions. |
Sessions and duration
A session opens at the handshake and stays open while pings arrive. A background job closes sessions that have not pinged for 30 minutes, running every 5 minutes — so a session can appear open for up to 35 minutes after the visitor leaves.
Session duration is the span from open to close. Because the tag stops pinging when a visitor goes idle, duration approximates engaged time rather than wall-clock time with the tab open.
This is also why Bounces only counts closed sessions: a session still in progress has not finished deciding whether it is a bounce.
Time handling
- All day-based ranges are UTC. A "day" runs 00:00–24:00 UTC regardless of your timezone or your visitors'. Compare against other tools in UTC, or expect an offset.
- Ranges are half-open —
[start, end). A session at exactly midnight belongs to the day starting at that midnight, and is never double-counted at a boundary. - The current period is capped at now, not at the end of the day, so today's numbers are not compared against a partly empty future.
- Bucket size is chosen from the range length. A 24-hour range buckets by hour; a multi-year range buckets by year. The scale in use is shown on the chart axis.
Comparisons
The percentage badges next to metrics compare two windows:
- On the Dashboard with today selected, today is compared against yesterday.
- On Deep Dive and the Event Browser, the selected range is split in half and its second half is compared against its first.
A comparison badge is only shown where that comparison is meaningful — pick a custom date range on the Dashboard and the badges disappear rather than compare against an arbitrary baseline.
Freshness
Reports are served from cache. Live figures are cached for about a minute and historical ones for about 15 minutes, and the Dashboard additionally holds query results for 5 minutes before refetching. The Active (last 30 min) count refreshes on a shorter cycle.
Use the refresh button on any report to force fresh data. If a number looks stale immediately after a test visit, it usually is — wait for the next envelope flush (a few seconds) and refresh.