---
title: "Session Tracking — Follow Real Visits, Not Isolated Hits | Kitbase"
description: "Automatic session tracking with bounce rate, duration, pages per session and full device and location context. Drill into any visit event by event."
canonical: https://kitbase.dev/session-tracking
---

Sessions

# Follow the whole visit, not just the click

A pageview on its own tells you almost nothing. A session tells you where someone arrived from, what they did next, how long they stayed, and where they gave up. Kitbase records all of it automatically from the moment you install the script.

[Start free](https://app.kitbase.dev/signup) [Read the docs](https://docs.kitbase.dev/guide/sessions)

No credit card required · Set up in under five minutes

![A person working at a laptop by a window](/images/product/sessions-hero.jpg)

30 min

Inactivity before a session ends

The lifecycle

## Start, active, end

Session tracking has no configuration surface. The timeout is fixed at 30 minutes and there is no toggle to switch on — it simply runs.

1.  ### Start
    
    A session begins when someone loads your site for the first time, returns after the timeout has elapsed, or when reset() forces a new one. The SDK sends a session\_start event carrying referrer, UTM parameters and device information.
    
    session\_start → \_\_analytics
    
2.  ### Active
    
    Any interaction — a pageview, a click, a custom event — resets the inactivity timer. The session stays open as long as the visitor keeps going within the window.
    
3.  ### End
    
    After 30 minutes of silence the session ends. There's no explicit end event: the server determines the boundary from the time gap between events, so nothing is lost if the tab is simply closed.
    
    30 min inactivity · fixed
    

![A person browsing a website on a laptop](/images/product/sessions-detail.jpg)

Session data

## What every session carries

Each session is a complete record, not just a counter — so any of these can become a filter or a column.

| Field | Description |
| --- | --- |
| Session ID | A unique UUID identifying the session |
| Start / end time | Timestamps of the first and last event in the session |
| Duration | Time between the first and last event |
| Event count | Total events recorded during the session |
| User ID | The identified user, if identify() was called during the session |
| Browser · OS · device | Name and version, plus desktop, mobile or tablet |
| Country · region · city | Resolved from IP geolocation |
| Pages visited | Every page path viewed during the session |

### Linked to identity

Call identify() at any point during a session and the whole visit is attributed to that user — an anonymous session becomes a named one retroactively.

[See user analytics](/user-analytics)

In the dashboard

## From a list of visits to a single story

Filter down to the slice you care about, then open one session and follow it all the way through.

### The basis for every engagement metric

Bounce rate, session duration and pages per session all derive from session boundaries. Get the boundary wrong and every engagement number downstream is wrong with it.

![A laptop showing charts beside a tablet](/images/product/sessions-dashboard.jpg)

### Filter the list

Narrow by date range, country, browser, device type or a specific user ID.

### Choose your columns

Pick what the session list shows so it fits how your team actually works.

### Open one and read it end to end

Every event the visitor triggered, in order, with the pages they moved through — then cross-reference the events view for raw payloads.

## Start recording sessions today

One script tag and sessions, bounce rate and duration start populating — nothing else to switch on.

[Start 7-day free trial](https://app.kitbase.dev/signup) [Read the docs](https://docs.kitbase.dev/guide/sessions)

No credit card required
