Behavior Analysis
Features
Germain UX offers different ways to analyze user behavior:
Functional-levels (Business Process or Story Beat).
Click-level.
User-level (Millisecond-precision session video recording/replay).
Business Process Insights
Ability to see when users worked on tasks that are considered critical to your organization. Here are more details on Germain UX’s Business Process Monitoring and Mining.
Click Flow
Click-level view helps understand what a user does from a click point-of-view.
![Germain UX - Behavior.jpg](../__attachments/3880878081/Germain%20UX%20-%20Behavior.jpg?inst-v=baad7441-1094-48da-b263-fa99f8ae5725)
User behavior real-time monitoring and insights - Germain UX
Heatmap
GermainUX analyzes user’s behavior at the recorded/replay session level for individual user or at the application level for all users. Available in 2024.2.
Story Beat
Story Beat is a built-in mechanism that automatically analyses what a user does, at the functional level (not click level in this case). Story Beat helps you understand the process a user goes through while using an application. Here there is no option for you to dictate what functional process is being monitored, as every functions are being monitored, whichever they are.
Story Beat view:
![Germain UX - Story beat.png](../__attachments/3880878081/Germain%20UX%20-%20Story%20beat.png?inst-v=baad7441-1094-48da-b263-fa99f8ae5725)
Story Beat view - Germain UX
Attributes
Here are the attributes of a Story Beat.
timestamp: The start time of the time interval covered by this datapoint
waitDuration: Seconds spent blocked by page activity e.g. network, scripting, rendering
orientDuration: Seconds spent by the user preparing for the next action. Depending on the actionCategory, this typically includes time spent idle, scrolling, or moving mouse.
actionDuration: Seconds spent idling, browsing, triggering a link/button, or editing inputs, based on the actionCategory
actionCategory: 'idle' | 'browse' | 'trigger' | 'edit';
'edit' indicates that the user's events during this interval included input controls such as text boxes, or check boxes.
'trigger' indicates that the user's events during this interval include clicking on a link or a button.
'browse' indicates that the user's events during this interval consisted mainly of mouse motions, or scrolling.
'idle' indicates no user interaction during this interval
labelHint: a bundle of contextual information that helps the backend code fill in higher-level labels for this and neighboring beats. Two hints included on all beats are detailed below.
uiHierarchy: string[]; // Where is the application navigated to / what view is interactive, at the time of the start of the action portion of cycle.
actionTargets: string[]; // What on the page is being interacted with? Hierarchy of labels representing the containment path in order of general to specific e.g. [appletName, formName, fieldName], [tabName, tableName, buttonLabel]. Each action target will have the tag name of the corresponding HTML-element appended to it in parenthesis.
label1: The lowest-level (most granular) description of what the user was doing during this time interval e.g. "picking a shoe size"
label2: ...
label3: A mid-level description of what the user was doing during this time interval e.g. "Comparing details across two products"
label4: ...
label5: The highest-level description of what the user was doing during this time interval e.g. "Rebuying a larger size of the same shoe just returned"
Pipeline
labelHints get populated on the collection side by app-specific heuristics that we write (relatively straightforward to develop)
label1-5 get populated on the backend after story beats from all browser tabs are flattened into one user-level stream. We can only populate as many labels as we can come up with heuristics for. Depending on the concreteness of the domain and the richness of the clues we can gather, we may only be able to label 1 or 2 levels before it gets too fuzzy to determine what the user was thinking. The hope is that once you can see what the user ended up doing in the future, hindsight is much more clear and so the pipeline is designed around backfilling the labels.
portlets then group story beats into a hierarchy where adjacent datapoints are combined if they have the same label value, repeated at each layer label2,label3,etc.
Note
It is important to note that these attributes and pipeline get populated differently depending on the technology that is monitored (e.g. Microsoft, Shopify, Siebel, WordPress, etc).
Session Recording and Replay
Germain UX records “videos” of each user/visitor browsing an application, video which you can then replay.
These videos are:
Millisecond-precise of what a user “sees” or “does” on an application.
100% searchable (business and metadata)
Friction Impact at scale i.e. so you can search at once across all the recorded sessions, and assess the number of user/session affected by a specific friction.
Example of a Session Replay for a Shopify eCommerce:
![Germain UX - User Replay - allbirds.png](../__attachments/3880878081/Germain%20UX%20-%20User%20Replay%20-%20allbirds.png?inst-v=baad7441-1094-48da-b263-fa99f8ae5725)
Session Replay for a Shopify eCommerce - Germain UX
Another example of a Session Replay:
![Germain UX - session replay.png](../__attachments/3880878081/Germain%20UX%20-%20session%20replay.png?inst-v=baad7441-1094-48da-b263-fa99f8ae5725)
Session Replay for an eCommerce - Germain UX
More details Germain’s Real User Session Monitoring and Session Replay, in real-time.
Service: Analytics
Feature Availability: 8.6.0 or later