On this page

Use session metrics in Data Tables

Session metrics—such as bounce rate, exit rate, entry rate, entries, exits, and session totals—are diagnostic tools for understanding the performance of campaigns, landing pages, and other key touchpoints. Use these metrics in Data Tables to compare how different pages, screens, or content perform.

In Analytics, session metrics are available in Data Tables charts on the Metrics tab. Other than session totals, session metrics aren't available as standalone metrics in Analytics. Amplitude calculates session metrics from the group-by you select, and includes only active events in the computation. Amplitude Analytics uses the group-by to determine how many values are present and the sequence used for calculation.

To analyze other marketing metrics with Amplitude charts, see Marketing metrics recipes.

Filter session metrics inline in Data Tables

Filter session metrics directly from the column header in a Data Table. This focuses your analysis on sessions that match specific conditions, without changing the underlying metric definition.

To filter a session metric inline:

  1. Open or create a Data Table.
  2. Add a session metric column by either:
    • Selecting a session metric (such as Session totals, bounce rate, entry rate, or exit rate) from the Metrics tab, or
    • Selecting an event column and changing Measured as to Session Totals.
  3. In the header for the session metric column, select the Options icon (three dots) and click Add filter.
  4. Define the conditions that sessions must meet to be included in the metric. For example, restrict the metric to sessions that include a Page Viewed event where Page URL contains /pricing.

Amplitude evaluates inline filters on session metrics at the session level. They work alongside any other filters or segments in your Data Table definition.

Session filter types

When you add a filter on a session metric column, the filter menu shows session-specific options. Amplitude always applies these filters at the session level:

  • Contains Event: Include only sessions that contain at least one event matching the conditions you specify. For example, filter to sessions that contain a Page Viewed event where Page URL contains /pricing.
  • Session Duration: Filter sessions based on duration (for example, sessions longer than 30 seconds or shorter than 5 minutes).
  • First Property Value: Filter sessions by the first non-null value of a property in the session (for example, sessions where the first Page URL in the session is /home).
  • Last Property Value: Filter sessions by the last non-null value of a property in the session (for example, sessions where the last Page URL in the session is /checkout).

These filters narrow which sessions the session metric column counts. They apply on top of any global filters already in effect, and further restrict the result set.

Global filters and session metrics

Global filters in Data Tables apply to all columns, including session metric columns. When you add a global filter to a Data Table, Amplitude evaluates it across your entire analysis, including session metric columns, the same way it applies to event-based columns.

You don't need to set the same filter on each session metric column individually to get consistent results. Add it one time as a global filter and it takes effect everywhere.

Session metrics require session filters. Applying a user or event filter globally means session columns filter by a session filter that reflects the global filter logic. For example, when you apply an event property filter such as "Page URL = /home", the session columns filter by "Sessions that contain any active event with Page URL = /home".

Inline session column filters

When you add an inline filter to a session metric column (for example, to restrict to sessions containing a Page Viewed event where the page URL contains /pricing), that filter stacks on top of the global filter, and narrows the result set further.

For example, if you apply a global filter for users in the United States, your session metric columns (bounce rate, exit rate, session totals, and so on) reflect US users only, the same scope as the rest of your Data Table.

Select a good group-by property

The most common properties for a group-by are page- or screen-level properties that change as a user interacts with your app or site. These work well because they vary between most of the relevant events, and are set frequently enough to signal a bounce when needed.

Session metrics can't combine more than one top-level group-by.

Example: Group-bys and session metrics

Amplitude uses the number of values of your group-by property to decide whether to classify a session as a specific metric, such as bounce, entry, or exit.

Here are three example sessions:

Session 1

  1. Event: Page View
    Page = A
  2. Event: Click
    Name = 1A
    Type = Ad
  3. Event: Page View
    Page = B

Session 2

  1. Event: Page View
    Page = B
    Name = 1A
    Type = Ad

  2. Event: Click
    Name = 1B
    Type = Ad

Session 3

  1. Event: Buy
    Amt = $15
    Prod = 1

A Page View event is either a default event captured through the Browser SDK, specified in Amplitude's Marketing Space settings, or defined in a Data Tables analysis as a bounce rate metric.

Bounce

A bounce is a session where the user triggers only one Page View event. This is also known as a single-page session.

Amplitude calculates the bounce rate as a percentage based on this formula:

plaintext
count of single-page sessions / the total number of sessions

Amplitude calculates bounce rates with a group-by by:

plaintext
count of single-page sessions grouped by the first non-null property value /
the total number of sessions grouped by the first non-null property value

To decide if the example sessions are a bounce:

  • Session 1 isn't a bounce because, regardless of the group-by property such as Page or Name, it contains more than one Page View event.
  • Session 2 contains only one Page View event. If you group by the Name event property, Amplitude Analytics classifies this session as a bounce. Amplitude groups it by the Name value of "1A" since it appears first in the session, and the bounce rate is 1 / 2 (50 percent).
  • Session 3 isn't a bounce because, regardless of the group-by property, it doesn't contain any Page View events.

Entry and exit

Amplitude defines Session Entries by the first non-null value for the group-by property within the session. Amplitude defines Session Exits by the last non-null value for the group-by property within the session.

Amplitude calculates entry and exit rates as a percentage using this formula:

plaintext
the number of entries or exits / the total number of sessions

Overall entry and exit rates are always 100 percent because every session has entry and exit values.

For the same sessions above:

  • If you group by the Name event property, Amplitude groups both the entry and exit rates under "1A" because it's the first property value of Name. The entry rate is 2 / 3 (66.66 percent) and the exit rate is 1 / 3 (33.33 percent).
  • If you group by the Page event property, Amplitude groups the entry and exit rates under "B." The entry rate is 1 / 3 (about 33.33 percent). The exit rate is 2 / 3 (66.66 percent).

When you use a session metric that includes an event filter, you can choose whether group-bys use properties from the entire session (Session level) or only from the filtered event (Event level). For details, see Choose event-level or session-level group-bys for session metrics.

Choose event-level or session-level group-bys for session metrics

When you use a session metric that includes an event filter, you can choose whether Amplitude evaluates group-bys at the session level or the event level.

  • Session level (default): Amplitude takes group-by values from all events in the session.
  • Event level: Amplitude takes group-by values only from the events included in the metric's event filter.

This choice is available when:

  • You define a session metric in the Metrics tab with an event filter, and
  • You add a group-by property for that session metric column in a Data Table.

In that case, the session metric column includes a control that lets you select Session level or Event level.

Example

Suppose you define a session metric as:

  • Metric: Session totals

  • Filter: Sessions that contain a Page Viewed event where Page URL contains /pricing

  • Group-by: utm_source

  • With Session level selected, utm_source can come from any event in the session that has that property set (for example, earlier campaign events or other page views).

  • With Event level selected, Amplitude takes utm_source only from the filtered Page Viewed events that match the metric definition (for example, page views where Page URL contains /pricing).

The choice between event-level and session-level controls is only available for session metrics that have an event filter. If a session metric doesn't have an event filter, group-bys always use session-level semantics.

Differences between session totals and PROPCOUNT(session IDs)

You may want to compare results of one Amplitude chart with another, but not all chart analyses are interchangeable.

For example, you can't compare the results of a session totals query in a Session Metrics chart with the PROPCOUNT(session IDs) formula in the Event Segmentation chart.

These two analyses can't be compared because of the following differences in their logic:

Session totals query in Session Metrics chartPROPCOUNT(session IDs) formula in an Event Segmentation chart
Measures an exact totalMeasures an estimate of distinct property values
Measurement counts unique pairings of user IDs and session IDsDoesn't count unique pairings of user IDs and session IDs, and produces different results when multiple users have the same session ID
Session IDs aren't tracked for custom session definitions, so Amplitude can't count them with the PROPCOUNT(session IDs) formula

Was this helpful?