• Home
  • Platform modules
  • Digital Experience
  • Session segmentation
  • User session analysis

User session analysis

With Dynatrace version 1.246, we deprecated the classic User sessions page and replaced it with a more powerful page for session segmentation.

A user session, also called a "visit," "journey," or "clickpath," is any interaction between an individual user's device and your application. Basically, it's a sequence of user actions performed by the same user in your application during a limited period of time. Each user session includes at least one user action.

While analysis of the sessions of user groups and related cohorts based on aggregate monitoring results and calculated performance averages can be useful in some situations, such analysis is often incomplete. Individual users behave in unexpected ways, perform different tasks with different goals in mind, and reside in different geographic regions using different combinations of devices and browsers.

Effective user-session segmentation is the key to understanding how individual users who share common characteristics experience your application. Dynatrace supports user-session segmentation through a powerful filtering mechanism. Dynatrace user session analysis enables you to slice, dice, and combine your application’s user sessions into meaningful segments based on shared characteristics of individual user sessions (for example, OS, browser type, location, or user tag). For example, you might segment your analysis based on browser type (desktop browser, mobile browser, or synthetic browser). In this way, you can drill deeply into aggregate results to discover meaningful insights into performance problems that may only be experienced by a small subset of your users.

User session segmentation

To analyze user sessions

  1. In the Dynatrace menu, go to Session segmentation.

  2. Select the text field at the top of the page (see 1 in the example below), and select one of the available filtering attributes. Once you select an attribute, the available values for that filter are displayed in a drop list. Select the attribute value you’re interested in. Some attributes provide text fields into which you can type specific values.

  3. Repeat this process for as many attributes as you are interested in. Once you’ve defined your filter, click somewhere outside the text box.

    What filtering attributes are available?
    Attribute categoryAttributeDescription
    ApplicationApplication nameSelect the name of the application you want to analyze.
    Application typeSpecify whether you want to analyze the sessions of a web or a mobile application.
    BrowserBrowser familyFilter sessions based on the browser that was used (Chrome, Safari, etc).
    Browser typeFilter sessions based on whether they were performed with a desktop, tablet, or mobile browser, or virtually via synthetic tests or robots.
    Browser versionUse this attribute if you want to filter sessions based not only on a specific browser but also on a specific browser version.
    LocationCityFilter sessions based on the city where the sessions originate.
    ContinentFilter sessions based on the continent where the sessions originate.
    CountryFilter sessions based on the country where user sessions originate.
    RegionFilter sessions based on the geographical region where sessions originate.
    MobileCrashesSelect Yes or No to filter sessions that have or haven’t experienced a crash.
    DeviceFilter sessions based on the type of mobile device used for accessing the application.
    ManufacturerFilter user sessions based on a specific mobile device manufacturer.
    Operating systemOS familyFilter sessions based on operating system family (Windows, Linus, iOS, etc).
    OS versionSelect a specific OS version.
    SessionBounceSelect Yes or No to filter sessions that either were or weren’t bounced sessions (sessions that are immediately abandoned). A bounce is a special type of user session comprised of only a single user action. High bounce rates are undesirable.
    Conversion goalSelect a specific conversion goal to examine those user sessions where this goal was achieved.
    ConvertedSelect Yes or No to analyze those user sessions where the associated conversion goal was or was not achieved.
    IPv4Filter sessions based on IP addresses that rely on the IPv4 protocol.
    IPv6Filter sessions based on IP addresses that rely on the IPv6 protocol.
    ISPFilter sessions based on a specific Internet Service Provider.
    JavaScript error countSpecify a range of JavaScript error occurrences. Use this to focus on user sessions that have more than a certain number of JavaScript errors (if you leave the upper bound empty), less or equal to a value (if you leave the lower bound empty), or fall within a specific value range.
    JavaScript errorsSelect either Yes or No to explicitly filter sessions that did or didn’t encounter JavaScript errors. (Note: JavaScript error details are only stored for 10 days.)
    Screen resolutionFilter user sessions based on a specific screen resolution.
    Session durationSpecify a time interval in minutes. Use this to filter sessions that have a duration longer than or equal to a value (if you leave the upper bound empty), shorter than or equal to a value (if you leave the lower bound empty), or fall within a specific value range.
    User tagSelect a user tag to analyze the sessions of a specific user.
    User typeChoose whether you want to analyze user sessions of robots, synthetic users, or real users.
    UsersFilter user sessions based on whether users are new or returning users.
    User actionUser action countSpecify a range of integers that represent the number of user actions performed within one session. This can help you to identify, for example, sessions that have a high number of actions.
    User action durationSpecify a time interval in minutes. Use this to filter sessions that have at least one user action with duration longer than or equal to a value (if you leave the upper bound empty), shorter than or equal to a value (if you leave the lower bound empty), or fall within a specific value range.
    User action nameSpecify a user action so that you can analyze all sessions that include at least one instance of that action.
  4. Select a user session attribute around which you want to have the results charted, for example, location, JavaScript error count, or browser type (see 2 in the example below).

    What charting options are available?
    Charting dimensionDescription
    ApplicationRenders a bar chart with the different applications depicted along the X-axis and the number of user sessions along the Y-axis. Hold your cursor over a specific bar to view the exact number of user sessions within that category.
    BrowserRenders a pie chart divided into the following categories: Desktop, Tablet mobile, Synthetic, and Robots. Select a category to view details of the browser family.
    BounceRenders a bar chart with the values No and Yes on the X-axis and the number of user sessions along the Y-axis. Hold your cursor over a specific bar to view the exact number of user sessions within that category.
    ConvertedRenders a bar chart with the values No and Yes on the X-axis and the number of user sessions along the Y-axis. Hold your cursor over a specific bar to view the exact number of user sessions in that category.
    Conversion goalsRenders a bar chart with the different conversion goals depicted along the X-axis and the number of user sessions along the Y-axis. Hold your cursor over a specific bar to view the exact number of user sessions in that category.
    Browser typeRenders a bar chart with the values Desktop, Tablet mobile, Synthetic, and Robots depicted along the X-axis and the number of user sessions along the Y-axis. Hold your cursor over a specific bar to view the exact number of user sessions in that category.
    JavaScript error countRenders a bar chart with integers representing the number of JavaScript errors depicted along the X-axis and the number of user sessions along the Y-axis. Hold your cursor over a specific bar to view the exact number of user sessions in that category.
    LocationRenders a world map with the filtered locations colored with different shades of purple that indicate the number of user sessions. The darker shades signify areas with the largest number of sessions. Hold your cursor over a specific bar to view the name of that region as well as the number of sessions that occurred there.
    ISPRenders a bar chart with the different ISPs depicted along the X-axis and the number of user sessions along the Y-axis. Hold your cursor over a specific bar to view the number of sessions in that category.
    OSRenders a pie chart that’s divided based on operating system. Select a part of the pie chart that corresponds to a specific operating system to view fine-grained detail about the different versions of the specific operating system.
    TimeRenders a bar chart with time depicted along the X-axis and the number of user sessions along the Y-axis. You can choose among different time resolutions depending on the selected timeframe. For a timeframe of the last 2 hours, you can choose among 5 min, 15 min, 30 min, and 1 h resolution. If you select a timeframe of the last 30 days, the available time resolution options are 1 hour, 2 hours, 6 hours, 1 day, and 1 week. Hold your cursor over a specific bar to view the number of sessions within that category.
    HourRenders a 24-hour clock chart depicting the top 3 hourly intervals that included the most sessions. Darker shades of purple indicate intervals with higher numbers of sessions.
    Screen resolutionRenders a bar chart with the different screen resolutions depicted along the X-axis and the number of user sessions along the Y-axis. Hold your cursor over a specific bar to view the number of sessions within that category.
    User action countRenders a bar chart with integers representing number of user actions depicted along the X-axis and the number of user sessions along the Y-axis. Hold your cursor over a specific bar to view the number of sessions within that category.
    UsersRenders a bar chart with the values Returning users and New users on the X-axis and the number of user sessions along the Y-axis. Hold your cursor over a specific bar to view the number of sessions within that category.

Usinitial

The results of your analysis are displayed in a clickable chart (see 3 in the image above). You can select any bar in the chart to focus your analysis on that subset of monitoring results (i.e, a specific increment of time, a specific browser type, or other value).

While the chart displays data for all user sessions that match the defined filter, the top user list (see 4 in the image above) shows data for only the top 100 users, which are those users who have initiated the most user sessions. The columns in the top user section are sortable. This enables you to, for example, sort the results based on Avg. session duration to see which users spent the most and least amount of time using your application. To analyze the sessions of a single user, select a username and navigate to that user's overview page.

What sortable attributes are available for top users?
AttributeDescription
TypeIndicates whether a user is a real user, a synthetic browser, or a robot.
UserSince users aren’t identified by default, each user is named in the top user list as Anonymous followed by a random ID. However, when user tags are defined for specific users, those users are identified based on their user tags.
LocationShows the list of places where the user sessions occurred.
Avg. actions/sessionStates the average number of actions that a user performed during their sessions.
Avg. session durationShows the average duration of a user’s sessions.
Session countStates the total number of sessions performed by a user.
Errors and crashesDisplays the number of errors or crashes that a user has experienced across all their sessions.

Note that whenever a filter changes or a specific part on the chart is selected, the top user list is accordingly updated to reflect the top users belonging to the respective segment created through the definition of the specific filter as well as the selection of the corresponding chart section (in case a specific chart section has been selected). At any time, the defined filter, the chart and the top user list are in absolute alignment.

Use the timeframe selector to adjust the analysis timeframe of your user-session analysis.

Timeframe selector: menu bar

Select a new timeframe.

Timeframe selector controls

The global timeframe selector serves as a time filter that, in most cases, enables you to select a specific analysis timeframe that persists across all product pages and views as you navigate through your analysis.

Timeframe selector: presets

  • The Presets tab lists all standard timeframes available. Select one to change your timeframe to that preset.

  • The Custom tab displays a calendar. Click a start day, click an end day, and then click Apply to select that range of days as your timeframe.

    • Selected calendar intervals are set to end on start of the next day (with the time set to 00:00). For example, if you select September 3 to September 4 on the calendar, the timeframe starts on September 3 at time 00:00 and ends on September 5 at time 00:00, so you never miss the last minute of the time range. You can edit these displayed times.
  • The Recent tab displays recently used timeframes. Select one to revert to that timeframe.

  • The < and > controls shift the timerange forward or backward in time. The increment is the length of the original timerange. For example, if the current timerange is Last 2 hours (the two-hour range ending now), click < to shift the timerange two hours back, to -4h to -2h (the two-hour range ending two hours ago).

  • Hover over the timeframe to see the start time, duration, and end time.

    Timeframe selector: hover

Timeframe selector expressions

If you select the current timeframe in the menu bar, an editable timeframe expression is displayed.

  • Reading from left to right, a timeframe expression has a start time, a to operator, and an end time.
  • If there is no explicit end time, the to and now are implied. For example, -2h is the same -2h to now.
  • Supported units: s, m, h, d, w, M, q, y (you can also use whole words such as minutes and quarter)
Example timeframe expressionsMeaning

today

From the beginning of today to the beginning of tomorrow.

yesterday

From the beginning of yesterday to the beginning of today. Like -1d/d to today.

yesterday to now

From the beginning of yesterday to the current time today.

previous week

The previous seven whole days. If today is Monday, you get the previous Monday through the previous Sunday (yesterday).

this year

The current calendar year, from January 1 of this year at 00:00 through January 1 of next year at 00:00.

last 6 weeks

The last 42 days (6 weeks * 7 days) ending now. Equivalent to -6w to now.

-2h

From 2 hours (120 minutes) ago to the current time (now is implied). Equivalent to Last 2 hours and -2h to now.

-4d to -1h30m

From 4 days (96 hours) ago to 1.5 hours ago.

-1w

The last 7 days (168 hours), from this time 7 days ago to the current time (now). Equivalent to -7d and -168h.

-1w/w

From the beginning of the previous calendar week to the current time (now).

  • If you used -1w/w on a Friday afternoon at 3:00, you would get a range of 11 days 15 hours, starting with the beginning of the previous week's Monday, because /w rounds down to the beginning of the week.
  • If you used -1w without /w on a Friday afternoon at 3:00, the start time would be exactly 7 days (168 hours) earlier: the previous Friday at 3:00 in the afternoon.

In general, / used in combination with a unit (such as /d, /w, /M, and /y) means to round down the date or time to the beginning of the specified time unit. For example, -3d means exactly 72 hours ago, whereas -3d/d means three days ago rounded down to the nearest day (starting at time 00:00, the beginning of the day). Use now/d to mean the start of today.

-1w/w + 8h

Starting from the beginning of last week plus 8 hours (8:00 AM Monday).

  • Note that you can use the + and - operators with units, timestamps, and now.

-1d/d+9h00m to -1d/d+17h00m

Business hours yesterday, from 09:00 - 17:00 (9 AM to 5 PM).

2020-08-16 21:28 to 2020-08-19 10:02

An absolute range consisting of absolute start and end dates and times in YYYY-MM-DD hh:mm format.

  • If you provide a date but omit the time (for example, just 2020-08-16), the time is assumed to be the beginning of day (00:00)
  • If you provide a time but omit the date (for example, just 21:28), the date is assumed to be today

1598545932346 to 1598837052346

Unix epoch millisecond timestamps.

Examples

Here are some indicative examples, showing how you can glean insights from your users' behavior through the Dynatrace user session analysis feature.

Filter user sessions based on user action duration

You can filter user sessions that have at least one user action with duration faster, within, or slower than a given value or value range. The example below filters user sessions that have at least one action that lasted up to 10 seconds.

Use example 5

Search for all user sessions that include at least one instance of specific user actions

You can search for all user sessions that include at least one instance of any one of multiple user actions in their click paths.

Use example 6

Create complex filters

The example below shows a search for user sessions that are accessed via a web application on a desktop browser and have session duration longer than 5 minutes. Further, the number of user actions for these user sessions must be 5 and there must be at least 1 user action longer than 5 seconds. Also, a user action called click on “Login” on page /orange.jsf must occur in the user session for the session to be a match.

Use example 7

You can then chart the results based on different criteria.

Use example 8

Focus on specific user profiles

In the example below, the returned results include only those users who have the Windows operating system and a Firefox v33 browser.

Use example 9