Time on page and app calculations

Last updated:

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: It's your choice as to whether Track Events are included in time calculations for a specific app. By default, Track Events aren’t considered when we calculate a visitor’s time spent in your app. For more information, see Track Events in this article.

Below is a simplified example of how a visitor named Bob spent time in an app.

Visitor ID Account ID Event Time of event
Bob Foo Page load 12:00
Bob Foo Feature focus 12:00
Bob Foo Feature click 12:01
Bob Foo Feature click 12:02
Bob Foo Page load 12:03
Bob Foo Feature focus 12:03
Bob Foo Feature click 12:03
Bob Foo Feature focus 12:04
Bob Foo Feature click 12:05
Bob Foo Feature click 12:05

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
Bob Foo Page load 12:00
Bob Foo Feature focus 12:00
Bob Foo Feature click 12:01
Bob Foo Feature click 12:02
Bob Foo Feature click 12:03
Bob Bar Page load 12:03
Bob Bar Feature focus 12:03
Bob Bar Feature focus 12:04
Bob Bar Feature click 12:05
Bob Bar Feature click 12:05

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.

Track Events

The Count Track Events as time in app application setting controls whether Track Events count toward a visitor or account's time in an application. This includes metrics like daily active users (DAU), weekly active users (WAU), and monthly active users (MAU).

By default, this setting is turned off, and Track Events don't count toward time calculations. When this setting is turned on for an application, it applies to all Track Events received for that application. It's not possible to turn this on for only some Track Events and not others.

Server-side Track Events must be configured to include a timestamp so that Pendo can see which 60-second window that Track Event falls into.

For example, consider Bob generated three events in a single day in an app that has Count Track Events as time in app turned on:

  • A Page load at 7:45am.
  • A Track Event at 7:45am.
  • A guide seen event at 4:05pm.

Since these are the only three events that Bob had and they occurred in two separate 60-second windows, that counts as two total minutes of time spent in your app.

TrackEventTimeOnAppVisual.png

This setting isn't retroactive. Track Events only count toward time calculations if they're received while this setting is turned on.

Pendo Admins can turn this setting on or off by navigating to Settings > Subscription Settings > Applications, opening the relevant app, and and selecting the relevant checkbox within the Basic settings section.

AppSettings_CountTrackEventsAsTimeInApp.png

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.
    Segment_TimeOnPage.png
  • 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.
    Pages_TImePerDay.png
  • Page Details. Select a specific Page on the Pages Overview page to view Average Time.
    PageDetails_AverageTime.png

Note: There are instances where a visitor or account's time on a page might display without an accompanying event count. This can occur when certain events, like page load events, aren't recorded within the specified timeframe or if a visitor's activity spans multiple sessions without a page reload.

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.
    Dashboard_TotalTimeOnAppPerWeek_TimeOnApps.png
  • Visitor and account reports. When adding columns to your report, search for and select Time On App (minutes).
    VisitorReport_TimeOnApp.png
  • Visitors and Accounts Overview. You can view the Average daily time on apps in the metric at the top of each of these pages.
    Visitors_AvgDailyTimeOnApps.png

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.
    Segment_TimeOnSite.png
  • 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.

ReplayLibrary_Duration.png

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 when a visitor's inactivity timeout is reached (configured in Replay Settings), the visitor closes their browser tab, or the visitor switches to a different Visitor or Account ID—whichever comes first. If a visitor accesses your app through multiple browser tabs or devices, these instances are considered separate sessions and captured as separate replays.

Was this article helpful?
5 out of 7 found this helpful