User sessions API - User session structure
This page provides descriptions of all possible fields that a user session might include.
Be aware that with Dynatrace version 1.204, we’ve introduced new error counts in USQL and Session export for every user action, which are fully consistent across Dynatrace. In turn, we'll deprecate the following error counts with Dynatrace version 1.217:
useraction.errorCount
— Only includes JavaScript errors.useraction.httpRequestsWithErrors
— Only considers server-side errors.useraction.failedXHRRequests
— Only considers failed XHR calls made in your end user's browser.useraction.failedImages
— Will be included with the newrequestErrorCount
. Read more about how to best replace existing error counts with the new ones.
The UserSession
object
A user session, encompassing multiple user actions and additional information about a user's visit.
Element | Type | Description |
---|---|---|
tenantId | string | The ID of the Dynatrace environment that captured the user session. This field can not be queried via the User Session Query Language. Can be |
userSessionId | string | The unique ID of the user session. Can be |
startTime | integer | The timestamp of the first user action in the user session, in UTC milliseconds. Can be |
endTime | integer | The timestamp of the last user action in the user session, in UTC milliseconds. Can be |
duration | integer | The duration of the user session, in milliseconds. This is calculated as the amount of time between the start of the first user action and the end of the last user action. Can be |
internalUserId | string | The unique ID of the user that triggered the user session. Can be |
userType | string | The type of the user. Indicates either a real human user ( Can be |
reasonForNoSessionReplay | string | The reason for absence of Session Replay. Can be |
reasonForNoSessionReplayMobile | string | The reason for absence of Session Replay on mobile. Can be |
applicationType | string | The type of the application used in the user session. Can be |
bounce | boolean | The user session has ( A bounce means there is only one (or less) user action in the user session. Can be |
newUser | boolean | The user is a first-time ( Can be |
userActionCount | integer | The number of user actions in the user session. Can be |
totalErrorCount | integer | The number of errors detected in the user session. Can be |
totalLicenseCreditCount | integer | The amount of DEM units consumed by the session. Can be |
matchingConversionGoalsCount | integer | The number of conversion goals achieved by the user session. Can be |
matchingConversionGoals | string[] | A list of conversion goals achieved by the user session. Additionally, you can define conversion goals for a single user action. Can be |
ip | string | The IP address (IPv4 or IPv6) from which the user session originates. Can be |
continent | string | The continent from which the user session originates (based on the IP address). Can be |
country | string | The country from which the user session originates (based on the IP address). Can be |
region | string | The region from which the user session originates (based on the IP address). Can be |
city | string | The city from which the user session originates (based on the IP address). Can be |
browserType | string | The type of browser used for the user session. Can be |
browserFamily | string | The family of the browser used for the user session. Can be |
browserMajorVersion | string | The version of the browser used for the user session. Can be |
osFamily | string | The type of operating system used for the user session. Can be |
osVersion | string | The version of the operating system used for the user session. Can be |
manufacturer | string | The detected manufacturer of the device used for the user session. Can be |
device | string | The detected device used for the user session. Can be |
userId | string | The user ID provided for the user session by session tagging. Can be |
screenHeight | integer | The detected screen height of the device used for the user session. Can be |
screenWidth | integer | The detected screen width of the device used for the user session. Can be |
screenOrientation | string | The detected screen orientation of the device used on the device for the user session. Can be |
displayResolution | string | The detected screen resolution of the device used for the user session. Can be |
hasCrash | boolean | The user session includes ( Can be |
crashGroupId | string | If a mobile session crashed, this is the ID of the group to which the crashed session belongs. If the session did not crash or the session is not a mobile session, it has the Can be |
hasSessionReplay | boolean | Session Replay is ( Can be |
isp | string | The internet service provider from which the user session originates (based on the IP address). Can be |
clientType | string | Additional information about the client. This field can not be queried via the user session query language. Use the browserType field instead. Can be |
browserMonitorId | string | The ID of the Synthetic browser monitor that created the session. Can be |
browserMonitorName | string | The name of the Synthetic browser monitor that created the session. Can be |
stringProperties | String | A list of custom properties of the user session with string values. Can be |
longProperties | Long | A list of custom properties of the user session with integer (short or long) values. Can be |
doubleProperties | Double | A list of custom properties of the user session with floating-point numerical values. Can be |
dateProperties | Date | A list of custom properties of the user session with date values. Can be |
userActions | User | A list of user actions recorded in the user session. Can be |
events | User | A list of additional events recorded in the user session. Can be |
errors | User | A list of errors recorded in the user session. Can be |
syntheticEvents | User | A list of synthetic events recorded in the user session. Can be |
appVersion | string | The version of the application where the user session has been recorded. This information is provided by another integration, such as OpenKit. Can be |
endReason | string | The reason for the end of the user session. Can be |
numberOfRageClicks | integer | The number of rage clicks detected in the user session. Can be |
numberOfRageTaps | integer | The number of rage taps detected in the user session. Can be |
userExperienceScore | string | The user experience score of the user session. Can be |
carrier | string | The carrier information of the mobile user session. Can be |
networkTechnology | string | The network technology information of the mobile user session. Can be |
connectionType | string | The serialized connection type of the mobile user session. Can be |
replayStart | integer | The timestamp of the Session Replay start, in UTC milliseconds. Can be |
replayEnd | integer | The timestamp of the Session Replay end, in UTC milliseconds. Can be |
clientTimeOffset | integer | The time offset of the client, in milliseconds Can be |
rootedOrJailbroken | boolean | The mobile device is rooted/jailbroken ( Has the value of Can be |
hasError | boolean | The user session includes ( Can be |
The StringProperty
object
A custom property of the user action with a string value.
Element | Type | Description |
---|---|---|
key | string | The custom key of the property. Can be |
value | string | The string value of the property. Can be |
The LongProperty
object
A custom property of the user action with a Long value.
Element | Type | Description |
---|---|---|
key | string | The custom key of the property. Can be |
value | integer | The Long value of the property. Can be |
The DoubleProperty
object
A custom property of the user action with a Double value.
Element | Type | Description |
---|---|---|
key | string | The custom key of the property. Can be |
value | number | The floating-point numeric value of the property. Can be |
The DateProperty
object
A custom property of the user-action with a date value.
Element | Type | Description |
---|---|---|
key | string | The custom key of the property. Can be |
value | string | The date value of the property. Can be |
The UserSessionUserAction
object
A user action.
A user action is a single action performed by the user as part of a user session, for example a mouse click.
Element | Type | Description |
---|---|---|
name | string | The name of the user action. Typically, this is the name of the page that is loaded as part of a user action or a textual description of the action, such as a mouse click. Can be |
domain | string | The DNS domain where the user action has been recorded. Can be |
targetUrl | string | The target URL of the user action. Can be |
type | string | The type of the user action. Can be |
startTime | integer | The start timestamp of the user action, in UTC milliseconds. Can be |
endTime | integer | The end timestamp of the user action, in UTC milliseconds. Can be |
duration | integer | The duration of the user action, in milliseconds. This is calculated as the of time between the start and the end timestamps of the user action. Can be |
application | string | The name of the application where the user action has been recorded. Can be |
internalApplicationId | string | The Dynatrace entity ID of the application where the user action has been recorded. This information is useful when calling various REST APIs, for example as a key for time series queries. Can be |
internalKeyUserActionId | string | The Dynatrace entity ID of the key user action. Can be |
speedIndex | integer | The speed index of the user action, in milliseconds. This is calculated as average time it takes for all visible parts of a page to display. Can be |
apdexCategory | string | The user experience index of the user action. Can be |
matchingConversionGoals | string[] | A list of conversion goals achieved by the user action. Additionally, you can define conversion goals for a user session as a whole. Can be |
networkTime | integer | The amount of time spent on the data transfer for the user action, in milliseconds. Can be |
serverTime | integer | The amount of time spent on the server-side processing for the user action, in milliseconds. Can be |
frontendTime | integer | The amount of time spent on the frontend rendering for the user action, in milliseconds. Can be |
documentInteractiveTime | integer | The amount of time spent until the document for the user action became interactive, in milliseconds. Can be |
thirdPartyResources | integer | The number of third party resources loaded for the user action. Can be |
thirdPartyBusyTime | integer | The time spent waiting for third party resources for the user action, in milliseconds. Can be |
cdnResources | integer | The number of resources fetched from a CDN for the user action. Can be |
cdnBusyTime | integer | The time spent waiting for CDN resources for the user action, in milliseconds. Can be |
firstPartyResources | integer | The number of resources fetched from the originating server for the user action. Can be |
firstPartyBusyTime | integer | The time spent waiting for resources from the originating server for the user action, in milliseconds. Can be |
hasCrash | boolean | The user action has ( Can be |
domCompleteTime | integer | The amount of time until the DOM tree is completed, in milliseconds. Can be |
domContentLoadedTime | integer | The amount of time until the DOM tree is loaded, in milliseconds. Can be |
loadEventStart | integer | The amount of time until the load event started, in milliseconds. Can be |
loadEventEnd | integer | The amount of time until the load event ended, in milliseconds. Can be |
navigationStart | integer | The timestamp of the navigation start, in UTC milliseconds. Can be |
requestStart | integer | The amount of time until the request started, in milliseconds. Can be |
responseStart | integer | The amount of time until the response started, in milliseconds. Can be |
responseEnd | integer | The amount of time until the response ended, in milliseconds. Can be |
visuallyCompleteTime | integer | The amount of time until the page is visually complete, in milliseconds. Can be |
syntheticEvent | string | The name of the Synthetic event that triggered the user action. Can be |
syntheticEventId | string | The ID of the Synthetic event that triggered the user action. Can be |
keyUserAction | boolean | The action is ( Can be |
stringProperties | String | A list of custom properties of the user session with string values. Can be |
longProperties | Long | A list of custom properties of the user session with integer (short or long) values. Can be |
doubleProperties | Double | A list of custom properties of the user session with floating-point numerical values. Can be |
dateProperties | Date | A list of custom properties of the user session with date values. Can be |
userActionPropertyCount | integer | The total number of properties in the user action. Can be |
customErrorCount | integer | The total number of custom errors during the user action. Can be |
javascriptErrorCount | integer | The total number of Javascript errors during the user action. Can be |
requestErrorCount | integer | The total number of request errors during the user action. Can be |
largestContentfulPaint | integer | The largest contentful paint (LCP) is the time (in milliseconds) that the largest element on the page took to render. The LCP is an important user-centric metric for measuring load speed. It marks the point when the page's main content is likely loaded. A low LCP indicates that the page loads quickly. Can be |
firstInputDelay | integer | The first input delay (FID) is the time (in milliseconds) that the browser took to respond to the first user input. The FID is an important user-centric metric for measuring load responsiveness. It quantifies the user experience when trying to interact with unresponsive pages. A low FID indicates that the page is usable. Can be |
totalBlockingTime | integer | The total blocking time is the total time (in milliseconds) between the first contentful paint and the time to interactive, during which the browser has been blocked long enough to prevent input responsiveness. Can be |
cumulativeLayoutShift | number | The cumulative layout shift (CLS) is the total amount of all individual scores for every unexpected layout shift that occurs during the entire lifespan of the page. The CLS is an important user-centric metric for measuring visual stability. It quantifies how often users experience unexpected layout shifts. A low CLS indicates that the page is delightful. Can be |
The UserSessionEvents
object
The external event of a user session.
Element | Type | Description |
---|---|---|
type | string | The type of event. Can be |
name | string | The name of the event. Can be |
domain | string | The DNS domain where the event has been recorded. Can be |
startTime | integer | The timestamp of the event, in UTC milliseconds. Can be |
application | string | The name of the application, based on the configured detection rules. Can be |
internalApplicationId | string | The Dynatrace entity ID of the application. This information is useful when calling various REST APIs, for example, as a key for time series queries. Can be |
metadata | string | The metadata attached to the event. Can be |
page | string | The name of the page the user navigated to during a page change event. Can be |
pageGroup | string | The page group is automatically derived from the page. Can be |
pageReferrer | string | The name of the previous page from which the user navigated from during a page change event. Can be |
pageReferrerGroup | string | The page referrer group is automatically derived from the page referrer. Can be |
The UserSessionErrors
object
The error of a user session.
Element | Type | Description |
---|---|---|
type | string | The type of error. Can be |
name | string | The name of the error. Can be |
domain | string | The DNS domain where the error has been recorded. Can be |
startTime | integer | The timestamp of the error, in UTC milliseconds. Can be |
application | string | The name of the application, based on the configured detection rules. Can be |
internalApplicationId | string | The Dynatrace entity ID of the application. This information is useful when calling various REST APIs, for example, as a key for time series queries. Can be |
The UserSessionSyntheticEvent
object
A synthetic event of a user session.
Element | Type | Description |
---|---|---|
name | string | The name of the synthetic event. Can be |
syntheticEventId | string | The Dynatrace entity ID for the synthetic event. Can be |
sequenceNumber | integer | The sequence number of the synthetic event in scope of the complete browser monitor. Can be |
timestamp | integer | The timestamp when the synthetic event was simulated, in UTC milliseconds. Can be |
type | string | The type of the synthetic event. For example click or keystroke. Can be |
errorCode | integer | The error code of the error that occurred during this event. Can be |
errorName | string | Description of the error that occurred during this event. Can be |