**Average read time** is a Turtl metric, adjusted to the Turtl format and its unique reading experience, therefore it is not to be confused with similar-sounding metrics, for example the "average engagement time" metric in GA4.

This article explains in detail how exactly Turtl defines and calculates average read time, average Surf time, and average Immerse time.

Average read time metric can vary in how it's calculated in the context of one Doc or several Docs.

# Average read time of a Doc

The following definition applies to the average read time on the Doc analytics dashboard or the "Most read Docs" section on the Team dashboard.

The average time your readers spent reading a Doc; this is the total time **all** readers spent reading **one Doc,** divided by the number of readers.

Mathematical calculation

Mathematical calculation

`Math.round(readTimeMs / 1000 /readers) || 0`

;

Math.round = rounds the value to the nearest integer

readTimeMs = surfTimeMs + immerseTimeMs

/1000 = we divide by 1000 to get seconds

/readers = unique readers

|| 0 = if there is no read time, we output 0

*This means that if Reader 1 spends 5 minutes reading a Doc and Reader 2 spends 10 minutes reading the (same) Doc, the total read time will be 15 minutes, but the average read time will be 7.5 minutes.*

**Notes**:

Read time begins when a user lands on the Doc and ends the last time a page had been turned. Any time spent from the last turn of the page until the user exits the Doc is not counted towards read time.

This means if a reader spends 1 minute on the last page they're on without flipping that page, that 1 minute doesn't count towards their read time.

If a session times out (which happens after 30 min of inactivity), the next action resets the clock and begins the read time again.

This is counted as a separate session.

**Average read time of all Docs in a Team or workspace**

The following definition applies to Avg. read time on the Team or workspace dashboard.

The average time your readers spent reading all Docs in a Team or workspace; this means the total time **all readers** spent reading **all Docs **(in a Team or workspace),** **divided by the number of readers.

You may see this in seconds **[s]**, milliseconds **[ms],** or a more human-readable time that varies depending on the amount of time spent.

It's important to take into account that certain readers will have read more than one Doc.

*This means that if a reader spends 5 minutes reading Doc 1 and 10 minutes reading Doc 2, the total read time will be 15 minutes. Divided by one (reader), the avg. read time will be 15 min.*

# Average Surf time

Average Surf time features on Page performance section of the Turtl Doc dashboard.

The average time a reader spent reading an individual Surf page of a Doc.

This is calculated by total time all readers spent reading a Surf page of a Doc, divided by the number of readers.

You may see this in seconds **[s]**, milliseconds **[ms]**, or a more human-readable time that varies depending on the amount of time spent.

Mathematical calculation

Mathematical calculation

`Math.round(surfTimeMs / 1000 / surfers) || 0`

;

Math.round = rounds the value to the nearest integer

surfTimeMs = total time spent on a Surf page in milliseconds

/1000 = we divide by 1000 to get seconds

surfTimeMs = total time spent on a Surf level

surfers = unique readers who have interacted with the surf pages

|| 0 = if there is no surf read time, we output 0

**Notes**:

If all users land on a Surf page and bounce (do not flip to another Surf or Immerse page), the Surf read time will be n/a. This typically happens on the back cover page, when the users exit the Doc.

Similarly to the read time above, if a reader dwells 1 minute on the last Surf page they're on without flipping that page or immersing, that 1 minute doesn't count towards the Surf read time.

# Average Immerse time

Average Immerse time features on Page performance section of the Turtl Doc dashboard.

The average time each reader spent reading an Immerse page of a Doc. The total time all your readers spent reading an Immerse page of your Doc divided by the number of readers.

You may see this in seconds **[s]**, milliseconds **[ms]** or a more human-readable time that varies depending on the amount of time spent.

Mathematical calculation

Mathematical calculation

`Math.round(immerseTimeMs / 1000 / immersers) || 0`

;

Math.round = rounds the value to the nearest integer

immerseTimeMs = total time spent on Immerse level in milliseconds

/1000 = we divide by 1000 to get seconds

immersers = unique readers who have interacted with the immerse pages

|| 0 = if there is no read immerse time, we output 0

**Notes:**

If all users land on the Immerse page and bounce without turning any page, the Immerse read time will be displayed as n/a.

Similarly to the above, if a user lands on the Immerse page and only flips to other Immerse pages, but does not go back to the Surf page, the read time of the last Immerse page they were on will not be counted towards Immerse read time.