Skip to main content
User Sessions analyzes engagement and behavior at the session level, rather than only at the user or event level. A session is a continuous period of user activity within your application or website. Use it to answer questions such as:
  • How long do users spend in the product?
  • How many sessions do users perform?
  • Which sessions are most engaged?
  • How many events occur inside a session?
  • Which session lengths lead to conversions?

How a session is defined

By default, a session starts when the user becomes active and ends after a defined inactivity timeout. A session is counted as valid when session_id is neither none nor -1.

The two analysis modes

The side panel is the primary configuration area. The first choice you make there is the count selector, which determines everything downstream.

Count of Sessions

Analyze session-level metrics, using Session ID as the aggregation entity. Default.

Count of Events Within a Session

Analyze how often events occur inside sessions.
Switching modes dynamically updates the session card configuration, the available metric options, the Measured As options, supported visualizations, chart behavior, aggregation logic, and the summarization table.
Existing filters and breakdowns are preserved wherever they still apply. If a selected metric becomes invalid after switching modes, it resets to the default metric, and incompatible visualizations reset automatically.

Session cards

A session card defines one query configuration, and each card acts as an independent query series in the visualization. Each card maintains independent filters and query logic. Example
In the Count of Events Within a Session mode, event selection is mandatory on each card, and each card also keeps its own event selection and breakdowns. The visualization does not render until an event is selected:
The event dropdown supports recent events, frequently used events, and categorized event listing.

Measured As

Six measurement types are available. Total Sessions is the default.

Total Sessions

Graphs the total number of valid sessions across all users, by counting total valid session IDs within the selected interval.

Time per User

Graphs the average time spent in sessions per active user.

Average Length

Graphs the average session duration.

Avg per User

Graphs the average number of sessions per active user.

Total Time

Graphs the total cumulative session duration across all sessions.

Distribution

Displays the distribution of session lengths as a histogram. See Distribution below.
Time per User, Average Length, and Total Time all expose a Counting In unit selector supporting Months, Weeks, Days, Hours, Minutes, and Seconds. Changing the unit dynamically converts all displayed values, and updates the tooltip and summarization table.

Distribution

Distribution uses configurable buckets. Example — session length A minimum of 1 minute, maximum of 30 minutes, and interval of 5 minutes generates:
Example — events per session A minimum of 1, maximum of 20, and interval of 5 generates:
For Distribution, the visualization is fixed to a Histogram / Column chart. The chart type selector is removed, and stacking cannot be enabled.

Distribution tooltip

The tooltip shows the bucket range, number of sessions, percentage of sessions, cumulative percentage, and the breakdown value if one is applied. Assuming 100 total sessions:

Filters

Two levels of filtering apply: filters on the session card, and higher-level segmentation in Filter By.

Card filters

Analyze sessions containing specific events.The system counts how many times the selected event occurred inside a session.Event property filtering supports multiple properties combined with AND conditions, for example a Purchase event where Product Category = Electronics and Price > 1000.
Analyze sessions based on how long they lasted.
Available in the Count of Events Within a Session mode. Filters the selected event using event-level properties.Only matching event occurrences are included in the analysis.
Changing any filter automatically refreshes the visualization, the summarization table, and breakdown results.

Filter By

Higher-level segmentation applies to both modes:
  • Cohort — restrict to users inside selected cohorts, such as Premium Users, Retained Users, or Paid Subscribers
  • User Properties — Country, Device, Browser, OS, App Version, Campaign, Language

Breakdown

Breakdown segments results into multiple grouped series. When a breakdown is applied, charts render separate series and the summarization table groups results accordingly. Common breakdowns include Country, Device Type, Browser, Platform, and App Version. In the events mode this produces analyses such as Purchase by Country, Search by Device, or Video Plays by Platform.

Visualization

Six chart types are supported:
Distribution is the exception — it is fixed to Histogram / Column.

Time granularity

Granularity controls interval grouping for time-series visualizations: Hour, Day, Week, Month, Quarter.
Time granularity is not shown for Bar and Stacked Bar charts.

Tooltips

For Total Sessions and Total Event Count, the tooltip shows the selected interval, the total count, the percentage increase or decrease compared to the previous interval, and the breakdown value if applied.

Chart interactions

Clicking a graph point or bar opens View Users, from which you can:
  • Export CSV — downloads the currently visible chart data, including applied filters, breakdown values, intervals, and metric values
  • Save Cohort — creates a cohort from the currently selected segment, such as users with sessions longer than 10 minutes, or users with more than 5 sessions per week

Compare

Compare the selected period against a historical one:
  • Previous Day
  • Previous 7 Days
  • Previous 30 Days
  • Previous 3 Months
  • Previous 12 Months
  • Custom Comparison
The visualization renders a comparison series, displays the delta percentage, and supports a comparison tooltip.

Date selector


Summarization table

The summarization table is a tabular representation of the visualization data. It contains a breakdown selector, lets you switch between breakdown values, and displays row averages.

Refresh and pinning

Refresh Data reruns the analytics query, invalidates cached responses, and refreshes the visualization, summarization table, and breakdown results. A loading state is shown during the refresh. You can pin the visualization to the Overview page, an existing dashboard, or a new dashboard. See Pin a chart to a dashboard.

Next steps