> For the complete documentation index, see [llms.txt](https://docs.fullsession.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fullsession.io/6.-the-session-player.md).

# 6. The Session Player

The session player is where a recording comes to life. You're not watching a screen capture — you're replaying a faithful reconstruction of exactly what the visitor saw and did, with an event timeline, a console, and per-visitor context layered on top. This chapter walks through every control and panel that actually exists in the player, so you can move from *"play the session"* to *"jump straight to the moment something went wrong."*

<figure><img src="/files/sMyuf1XSM8XVK28Doe7Z" alt="The session player — the replay on the left, the timeline and controls beneath it, and the visitor/events panel on the right.FullSession session player showing the session replay on the left, timeline and playback controls below, and visitor details with events on the right."><figcaption></figcaption></figure>

> **A note on permissions.** Some player features are gated by your role — for example, **Dev Tools**, **commenting**, **pinning**, and the **Heatmaps** tab each require the matching permission. If you don't see a control described here, your role may not include it. See \[Chapter 16 — Team & Account Management].

***

### 6.1 Player Controls

The playback controls sit beneath the replay. They behave much like a video player, with a few session-specific extras.

<figure><img src="/files/bxOf0eE6uA6o1UCVd8V8" alt="FullSession session player control bar showing playback controls, skip options, speed settings, inactivity skip, Dev Tools, AI Summary, fullscreen, and current playback time."><figcaption></figcaption></figure>

#### Core controls

| Control                       | What it does                                                                 |
| ----------------------------- | ---------------------------------------------------------------------------- |
| **Play / Pause**              | Start or stop playback. The **spacebar** also toggles play/pause.            |
| **Rewind 10 seconds**         | Jump back 10 seconds.                                                        |
| **Forward 10 seconds**        | Jump ahead 10 seconds.                                                       |
| **Speed**                     | Cycle playback speed — **0.5×, 1×, 2×, 4×, 8×** (shown as "X2", "X4", etc.). |
| **Skip Inactivity**           | Automatically fast-forward over idle stretches.                              |
| **Fullscreen**                | Expand the player to fill the screen.                                        |
| **Current time / total time** | Where you are in the session, and its total length.                          |

#### Skip inactivity

Real sessions have dead air — a visitor reads, switches tabs, or steps away. With **Skip Inactivity** enabled, the player jumps over periods with no recorded activity, so you only watch the parts where something is actually happening. This often turns a long, mostly-idle session into a couple of minutes of real activity.

#### Speed

Use higher speeds to triage quickly: **2×** for a general watch-through, **4×–8×** to skim a long session for a specific moment, and back to **1×** (or **0.5×**) when you've found the moment and want to study it closely.

#### Dev Tools & AI Summary

Two toggles open extra layers over the player:

* **Dev Tools** — opens the **Console** panel (section 6.4).
* **AI Summary** — generates a plain-language summary of the session (section 6.9).

#### Keyboard shortcuts

The player's keyboard shortcut is **spacebar** to play/pause. (Other navigation — skipping, seeking, changing speed — is done with the on-screen controls.)

***

### 6.2 The Timeline

Below the replay runs the **timeline** — a seek bar that doubles as a map of everything that happened during the session. Instead of scrubbing blindly, you can see where the interesting moments are and jump straight to them.

<figure><img src="/files/W31k90WccsXFgJKdUrfy" alt="FullSession session timeline showing a draggable playhead with event markers, inactivity periods, and commenter avatars."><figcaption></figcaption></figure>

#### Seeking

* **Drag the playhead** to move to any point in the session.
* **Click anywhere** on the timeline to jump to that moment.
* A **progress fill** shows how far through the session you are.

#### Color-coded event markers

The timeline renders markers for events at their position in time, color-coded so patterns stand out:

| Color      | Marks                        |
| ---------- | ---------------------------- |
| **Yellow** | Click events                 |
| **Orange** | Page visits / navigation     |
| **Green**  | DOM changes (page mutations) |
| **Pink**   | Frustration (rage clicks)    |

#### Inactivity & comments on the timeline

* **Gray blocks** mark **inactive periods** — the idle stretches that Skip Inactivity (section 6.1) jumps over.
* **Avatar circles** mark **comments** left by you or teammates. Click one to open the comment at that exact moment (section 6.7).

> **Tip** — the pink frustration markers are the fastest visual cue on the timeline. When you open a high-frustration session, look for the pink clusters and click straight to them.

***

### 6.3 Session Events Panel & Event Types

The **Session Events** panel (in the right sidebar) lists everything that happened during the session, in order. It's the player's index: filter it, search it, and click any entry to jump the replay to that exact instant.

<div align="left" data-with-frame="true"><figure><img src="/files/fPvGmuljVynoEyV8sUqQ" alt="FullSession Session Events panel showing a searchable and filterable event list with icons and jump-to navigation links." width="275"><figcaption></figcaption></figure></div>

#### Event types

Each event has an icon and label:

| Event                         | Meaning                                                |
| ----------------------------- | ------------------------------------------------------ |
| **Click event**               | A click/tap interaction                                |
| **Visited page**              | The visitor loaded or moved to a URL                   |
| **Inactive period**           | An idle stretch with no activity                       |
| **Comment**                   | A comment left on the session                          |
| **Rage click event**          | Rapid, repeated clicking (frustration)                 |
| **Dead click event**          | A click that produced no response                      |
| **Thrashing event**           | Erratic cursor "thrashing"                             |
| **Error click event**         | A click associated with an error                       |
| **Custom event**              | An event you sent with `FUS.event(...)` (\[Chapter 7]) |
| **Error log event**           | A logged error                                         |
| **Uncaught exception event**  | An uncaught JavaScript exception                       |
| **Unhandled rejection event** | An unhandled promise rejection                         |
| **Response error event**      | A failed network response                              |

#### Jump to any event

Click an event to **seek the replay to that moment and pause** there — no scrubbing required. This is the core debugging move: find the error event, click it, then watch the seconds leading up to it.

#### Filtering & searching events

Busy sessions can have hundreds of events. Filter the panel to a specific type — show only **errors** to debug, only **custom events** to trace a flow, or only **page visits** to follow the journey — and use the search box to find a specific event.

#### Errors and network failures live here

FullSession does **not** have a separate "Errors" tab or a network-waterfall panel. Instead, the relevant events surface directly in this list:

* **Error log**, **uncaught exception**, and **unhandled rejection** events capture JavaScript errors.
* **Response error** events capture failed network responses.

To investigate a problem, filter the events panel to these types, click the event to jump to it, and watch what the visitor did right before. For logged console output and stack traces, open the **Console** (section 6.4).

#### Per-event insights & locked events

* Some events offer an **insights** action (a chart icon) that opens a details view with analytics for that event across sessions.
* Events your role can't access appear **locked** — a small lock icon indicates the feature requires a higher permission or plan.

***

### 6.4 Console / Dev Tools Panel

Clicking **Dev Tools** opens the **Console** panel — the browser console output captured from the real visitor's browser, synced to the replay.

<figure><img src="/files/NX5QbFGfT9ljXRQ1cG5g" alt="FullSession Console panel showing captured logs, warnings, and errors with jump-to-moment links and expandable stack traces."><figcaption></figcaption></figure>

> The button is labeled **Dev Tools**, but it opens the **Console**. There is no separate Network or Resources tab in the player — network failures appear as **Response error** events in the Session Events panel (section 6.3).

#### What it captures

The console reconstructs the messages logged during the session — **log**, **warning**, and **error** output — at the moment each was printed.

#### Using the console

* **Filter by level** — switch between **All**, **Log**, **Warn**, and **Error**.
* **Search** — type in the **Filter** box to find a specific message.
* **Jump to moment** — each message has a link that seeks the replay to the instant it was logged, so you can correlate what the user saw with what the code was doing.
* **Expand stack traces** — error messages with a stack trace can be expanded to show the file, function, and line/column, so an engineer can trace the error to its source.

> **Workflow** — open Dev Tools, filter to **Error**, find the failing message, expand its stack trace, then click **jump to moment** to see exactly what the visitor did to trigger it.

***

### 6.5 Page Navigation

A session usually spans several pages. The player's **page navigation** lets you step through them without scrubbing.

<div data-with-frame="true"><figure><img src="/files/hfGOy3eAUeHTygOBSMHx" alt="FullSession session player header showing the page indicator, current URL step, and previous or next navigation controls."><figcaption></figcaption></figure></div>

#### The page stepper

In the player header, a counter shows which page you're on out of the total — for example **`url: 2/5`** (or a `view:` indicator for mobile app sessions). The full URL or path is shown, with the complete value on hover.

* **Previous / Next page** arrows jump the replay to the start of the adjacent page.
* Each page knows its **time visited** and **total time on page**, so you can see how long the visitor spent on each step.

#### Session statistics

The player also surfaces page-level engagement for the session, including **Average Time on Page** and **Total Active Time on Pages** — a quick read on how engaged the visit was overall. (For aggregate page statistics across all visitors, see \[Chapter 10 — Insights & Cards].)

> **Tip** — the page stepper is the fastest way to skip to "the part where they reached checkout" — step forward to the checkout page rather than scrubbing the whole session.

***

### 6.6 Visitor Info & Sentiment

The right sidebar shows **who** you're watching and the context of their visit.

<div align="left" data-with-frame="true"><figure><img src="/files/zeRmAlY2FwM9w5RFwSft" alt="FullSession visitor info panel showing visitor avatar, identity details, country, IP address, session start time, sentiment, and connected Intercom profile when available."><figcaption></figcaption></figure></div>

#### What's shown

| Field                  | Detail                                                        |
| ---------------------- | ------------------------------------------------------------- |
| **Avatar**             | A generated symbol so each visitor is visually distinct       |
| **Identity**           | Email if identified, otherwise the user ID                    |
| **Country**            | The visitor's country                                         |
| **IP address**         | The visitor's IP                                              |
| **Session start time** | When the session began (e.g. *June 14, 2026, 2:30 PM*)        |
| **Referrer**           | Where the visitor came from (shown at the top of the sidebar) |

> **No map.** Location is shown as a **country name** (and IP), not as a point on a map.

#### Sentiment indicator

The panel shows a quick **sentiment** read — a happy or unhappy face — based on how much frustration the visitor experienced (error clicks, dead clicks, and rage clicks). A handful of frustration signals tips it to "unhappy," giving you an at-a-glance sense of how the visit went before you even press play.

#### First session & integrations

* A **First Record** link (when you're not already on the visitor's first session) jumps to that visitor's earliest recorded session — useful for understanding how a returning user first arrived.
* If the **Intercom** integration is configured and the visitor has an email, a link opens their Intercom profile, connecting the replay to your support conversations.

***

### 6.7 Comments, Tags, Flagging & Sharing

The player is a collaborative workspace. Several actions let you capture findings and hand sessions to teammates. (Most are available in your private workspace and may depend on your permissions.)

<figure><img src="/files/GikjwC9pwhkKDH1aD9V7" alt="FullSession player header showing share, pin, and comment actions with comment avatars displayed on the session timeline."><figcaption></figcaption></figure>

#### Comments

Leave **comments** anchored to a moment in the session. Use **Add comment** while a session is paused, and the current timestamp is captured automatically. Comments appear as **avatars on the timeline** (section 6.2); click one to read it, and comments can be **edited or deleted** by their author. This turns a recording into a small discussion thread — perfect for flagging a bug at the exact second it happens.

#### Tags

Attach **color-coded tags** to a session to organize it — for example **UX Design**, **Bug**, **Rage**, or a custom tag of your own. Tags are searchable from the Sessions list, so *"every session tagged Bug"* is one query away (\[Chapter 5 — Sessions]).

#### Pin / Flag

**Pin** a session from the header to add it to your **Flagged** list (and the session playlist), so your team has a shared shortlist of sessions worth revisiting (\[Chapter 5, section 5.5]).

#### Share

Use **Share** in the header to open a **Copy Session Link** dialog and send the recording to a teammate. See \[Chapter 5, section 5.6] for how share links behave (they open the session from the start and are accessible to anyone with the link).

***

### 6.8 Watching Across a Visitor's Sessions

A single recording is one visit; the player also helps you see the **whole relationship** with a visitor.

<figure><img src="/files/daYS7YkFlsU3YhhAPhZD" alt="FullSession session player showing autoplay and the visitor&#x27;s recent sessions queued for continuous playback."><figcaption></figcaption></figure>

#### Autoplay & recent sessions

The sidebar includes an **Autoplay** toggle and a **Recent Sessions** selector. With autoplay on, FullSession plays through sessions in sequence — handy for reviewing several visits (or several sessions in a segment or funnel) without returning to the list between each.

#### A visitor's full history

Because sessions can be linked to an identified visitor (\[Chapter 4 — Identifying Users]), you can move from one session to **that visitor's other sessions** — including their **first recorded session** — to understand their journey over time rather than in a single snapshot.

***

### 6.9 AI Summary

For a fast read on what happened in a session, toggle **AI Summary**. FullSession generates a plain-language, written summary of the session and displays it as an overlay over the player (with a brief loading state while it's produced).

<div align="left"><figure><img src="/files/no174EkJE45y1rZiHKEq" alt="FullSession AI Summary overlay showing a generated summary of the visitor&#x27;s actions during the session." width="394"><figcaption></figcaption></figure></div>

The summary is a quick orientation — *"what happened in this visit?"* — before (or instead of) watching the whole thing end to end. It's especially useful when triaging a long session or deciding whether a recording is worth a full watch.

> **The big picture** — the player gives you precise playback controls (including ±10s and 0.5–8× speed), a color-coded timeline, a filterable **Session Events** panel where errors and network failures surface as events, a synced **Console** behind the Dev Tools toggle, a **page stepper**, rich **visitor context** with a sentiment read, full **comment / tag / flag / share** collaboration, **autoplay** across a visitor's sessions, and an **AI Summary** for a quick recap. There is no separate network or errors panel and no geolocation map — those signals live in the events list and the visitor panel respectively.

***

> **Next up:** \[Chapter 7 — Recording Rules & Element Tracking] moves from watching sessions to **configuring what gets captured** — controlling which pages record, defining the custom events that appear in this player's events panel, and tracking the elements you care about.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.fullsession.io/6.-the-session-player.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
