This article reviews how Pendo calculates the time that visitors spend interacting with the pages in your apps and where to find this data in Pendo.
How we calculate time spent in your app
To accurately represent how much time visitors spend on a given page or in your overall application, Pendo measures activity based on event timestamps.
Minutes that go by without active interactions aren’t calculated as activity, such as when a visitor has your app open in the background or in an inactive browser tab. This means it’s possible that visitors are logged in without recording any time in Pendo if they’re not registering activity through a browser event.
To calculate how much time visitors spend in your app, we track their activity in 1-minute increments. Here’s how it works:
- When a visitor logs in or starts using your app, we begin counting their time with 1 minute.
- Each new minute where the visitor interacts with your app, such as with a click, focus, or any other browser event, adds another minute to their total time. This ensures that we only count the time when they are actively engaged with your app.
- If a visitor becomes inactive and doesn’t interact with the app for a full minute, we stop counting time until they become active again.
- We keep track of these active and inactive periods for each visitor.
- If a visitor accesses your apps through multiple browser tabs, we combine the visitor’s activity across all tabs.
Note: By default, Track Events aren’t considered when we calculate a visitor’s time spent in your app. If you want to include Track Event interactions in time calculations, navigate to Settings > Subscription Settings, select the relevant app, then enable the app setting Count Track Events Received For A Visitor As Time In Application.
Below is a simplified example of how a visitor named Bob spent time in an app.
|Visitor ID||Account ID||Event||Time of event|
Even if a visitor generates multiple events in your app within a single minute, we count only whole minutes of activity. In the example above, despite Bob generating ten events in total, we calculate a total of 6 active minutes since they were active from 12:00 to 12:05.
Multiple Account IDs
If a visitor is associated with multiple accounts and switches to a different account in a single minute, we count the interaction with the new account as a separate minute. This ensures that all events are correctly attributed to the respective Visitor ID and Account ID.
Let’s consider another example of Bob’s interactions:
|Visitor ID||Account ID||Event||Time of event|
In this scenario, Bob switches from “Foo” to “Bar” and generates an event in both accounts within a single minute. As a result, we calculate 4 minutes of activity associated with Foo from 12:00 to 12:03 and 3 minutes of activity associated with Bar from 12:03 to 12:05, totaling 7 active minutes.
To accurately reflect a visitor’s engagement in each account, our calculation ensures that events are accurately attributed to both the visitor and account they’re associated with. This approach prevents deduplication when a visitor switches between accounts since all events are tied to both a Visitor ID and Account ID.
View time calculations
There are three primary metrics we use to measure time: time on page, time on app, and time on site.
It's important to note that Pendo updates analytics data during the first 15 minutes of each hour. This could result in a delay of up to 75 minutes for viewing the most recent visitor interaction data.
Time on page
Time on page indicates the total number of minutes a visitor spends on a specific page. You can view this in the following places:
Segment builder. When adding rules to your segment, select a specific Page and Time on Page.
- Visitor and account reports. When adding columns to your report, select a specific Page and Time On Page (minutes).
Similarly, you can view the average time visitors spend per day on a particular page in the following places:
Pages Overview. Navigate to Product > Pages to view Time Per Day as a column in the list of pages. If you don’t see the table column, select the Manage columns icon in the top-right of the table and add or reorder the columns as needed.
Page Details. Select a specific page on the Pages Overview page to view Average Time.
Time on app
Time on app indicates the total number of minutes a visitor spends on any page within a specific app. You can view this in the following places:
Total time on app per week. In this dashboard widget, you can track the total amount of time visitors spend in your apps on a daily, weekly, or monthly basis depending on your date range selection. By default, this widget tracks time on app for all apps (which is equivalent to time on site), but you can update the app filter as needed.
Visitor and account reports. When adding columns to your report, search for and select Time On App (minutes).
Visitors and Accounts Overview. You can view the Average daily time on apps in the metric at the top of each of these pages.
When viewing time on app with your app filter set to All Apps, this is the same as viewing time on site.
Time on site
Time on site indicates the total number of minutes a visitor spends on any page in any of your apps. You can view this in the following places:
Segment builder. When adding rules to your segment, select Time on Site for visitor or account data.
- Any time you’re viewing time on app with a filter applied for all apps.
Time calculations for Replay
In addition to the time calculations explained above, it’s important to note that Session Replay duration is measured differently. When evaluating duration for replays, we consider both active and inactive periods.
Unlike time on page, app, and site, Session Replay measures duration as the total amount of time the visitor interacted with your app in a single “session”.
The “session” ends when the visitor closes the browser tab, when the visitor logs out of your app, or at midnight in your subscription’s time zone—whichever comes first. If they accessed your app through multiple browser windows, browser tabs, or devices, these are all considered separate sessions and captured as separate replays.
The maximum duration of a “session” is 48 hours, although a replay of this length is rare. This could occur when the final interactions within a session that spans a complete day start at 11:59pm and continue until 11:59pm the following day. All interactions within this timeframe are consolidated as a single session.