# Transactions

Transactions complement the monitoring of page loads by tracking important changes of states within a web application that do not necessarily require a complete reload of the page.

The evolution of the average transaction duration over time helps you quickly identify the current trend and spot whether it is reversing or stabilizing.

## Transactions metrics <a href="#transactions-metrics" id="transactions-metrics"></a>

* Transaction duration corresponds to the difference between the detected transaction start and end times.
* The number of employees represents the number of employees who made at least one transaction, **complete** or **incomplete**, for a given time period.

{% hint style="warning" %}
Only complete transactions are taken into account when computing durations in the dashboard.
{% endhint %}

<details>

<summary>Computing the end of transactions—automatic end</summary>

For transactions with automatic end detection, Nexthink determines the end of the transaction using the same completion logic as soft navigations:

* Nexthink monitors the application from the transaction start event until it reaches a stable state, with no relevant network activity, client-side rendering, or DOM changes.
* Nexthink continues monitoring when user interactions trigger additional network requests or client-side rendering changes, thereby extending transaction completion time. If completion is not detected within the allowed time, the transaction ends with a `time_out` status. See the [#incomplete-transactions-by-status](#incomplete-transactions-by-status "mention") section on this page.

{% hint style="info" %}
For more information about this completion logic, refer to [Soft navigation completion](/platform/user-guide/applications/monitoring-applications/monitoring-web-applications/performance/page-loads/understanding-the-page-loads-metric.md#soft-navigation-completion).
{% endhint %}

</details>

***

## Interpreting the Transactions dashboard <a href="#dashboard-widgets" id="dashboard-widgets"></a>

The **Transactions** dashboard contains the following widgets grouped into the sections:

* [#performance](#performance "mention")
* [#top-breakdowns](#top-breakdowns "mention")
* [#other-breakdowns](#other-breakdowns "mention")

{% hint style="info" %}
Use the **Investigate more** right-side panel, which offers predefined drill-down options. These links direct you to investigation results that are relevant to the current dashboard context.
{% endhint %}

<figure><img src="/files/AdjM4X6B7bq8d9FaoWVU" alt=""><figcaption></figcaption></figure>

### Performance <a href="#performance" id="performance"></a>

The **Performance** section presents an overview of the application in terms of transaction experience and duration.

#### Transactions <a href="#transactions" id="transactions"></a>

The first gauge in the **Transactions** section presents a breakdown for **Good**, **Average** and **Frustrating** transactions.

By default, a transaction lasting 16 seconds or more is considered frustrating, 4-16 seconds is average, and below 4 seconds is considered good. Set up thresholds for each application individually; otherwise, the system uses default settings.

The second gauge chart presents a breakdown for complete and incomplete transactions.

#### Transactions & employees <a href="#transactions-and-employees" id="transactions-and-employees"></a>

Identify the changes in transaction performance over time.

* **Transaction duration** corresponds to the difference between the detected transaction start and end times. Only complete transactions are taken into account when computing durations in the dashboard.
* **Transactions** present the number of complete and incomplete transactions during each time bucket for a given time period.
* **Employees** shows the number of employees who made at least one transaction, complete or incomplete, for a given time period.

<figure><img src="/files/5k5ojCDhPVsjGIxP3Sea" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/086nABFxu0FkyDlvMql6" alt=""><figcaption></figcaption></figure>

### Top breakdowns <a href="#top-breakdowns" id="top-breakdowns"></a>

The **Top breakdowns** section displays the list of errors, key pages, URLs, and devices with the highest number of related browser and HTTP errors.

<figure><img src="/files/z5C5JjJwgj31aLuVRT0V" alt=""><figcaption></figcaption></figure>

#### Transactions <a href="#transactions.1" id="transactions.1"></a>

Identify transactions that cause the most frustration, detailing the number of **Frustrating transactions** and their percentage of the total **Completed transactions.**

#### Incomplete transactions by status <a href="#incomplete-transactions-by-status" id="incomplete-transactions-by-status"></a>

See the statuses of incomplete transactions sorted by the number of incomplete transactions.

Click on a specific status to filter the dashboard, and see the number of failed transactions over time, employees affected and names of the transactions receiving this status.

The following status codes help you understand why and when a transaction failed:

* `time_out` - The end trigger was not received within 10 minutes.
* `aborted_unload` - The browser navigated to a new web application on the same tab, or the tab was closed before the transaction was completed.
* `aborted_new` - The transaction was aborted by the same, or another transaction.
* `aborted_input` - The detection was aborted by a user interaction.

### Other breakdowns <a href="#other-breakdowns" id="other-breakdowns"></a>

The **Other breakdowns** section includes **Organization** and **Transactions by other dimensions** widgets.

#### Organization

The **Organization** table displays metrics by your organization's classification.

Refer to the [Product configuration](https://docs.nexthink.com/platform/latest/product-configuration) documentation for more information on how to define entities and custom classification for your organization.

<figure><img src="/files/io93Yq3kcsyA9mzQYH58" alt=""><figcaption></figcaption></figure>

#### Transactions by other dimensions

Filter transaction duration by browser, operating system, location, or other options. Refer to [Configuring geolocation](/platform/user-guide/administration/system-configuration/product-configuration.md#productconfiguration-geolocationtab) documentation for more information about the geolocation feature.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nexthink.com/platform/user-guide/applications/monitoring-applications/monitoring-web-applications/performance/transactions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
