# Engagement Analytics



VitalSentinel tracks user engagement metrics and correlates them with performance data, helping you understand how site speed affects user behavior.

This page is part of [RUM Monitoring](/features/rum-monitoring) and lives at **Domain** → **RUM** → **Engagement**.

## How It Works [#how-it-works]

When engagement tracking is enabled (default), the RUM script captures:

1. **Scroll behavior** - How far users scroll down the page
2. **Click interactions** - Rage clicks and clicks on interactive elements
3. **Time on page** - Active engagement time
4. **Form interactions** - Form abandonment and completion

<Callout type="info">
  Engagement tracking is skipped entirely for visitors whose browser sends a Do Not Track or Global Privacy Control signal. Their page views, Core Web Vitals, and JavaScript errors are still collected, but those sessions record no scroll depth, active time, attention score, rage clicks, or form events. They still count toward **Total Sessions**, so rate-based metrics such as Scroll Depth, Rage Click Rate, Form Abandonment Rate, and Clicks per Session include those sessions in the denominator but never in the numerator. Averages such as Time on Page and Attention Score are calculated across engaged sessions only, so they are not affected.
</Callout>

## What You See [#what-you-see]

The Engagement page is built around a single **performance × engagement correlation chart**. You pick one performance metric on one axis and one engagement metric on the other, and the chart shows how they relate across your real users.

### Summary Cards [#summary-cards]

Above the chart you'll find:

* **Total Sessions** in the selected window
* **Good Performance** – the share of sessions where the chosen performance metric was in the "good" range
* **Average value** of the chosen engagement metric

### Correlation Chart [#correlation-chart]

Bar chart of session distribution across performance buckets, with a line overlay of the selected engagement metric per bucket.

**Performance metric (selectable):** LCP, INP, CLS, FCP, TTFB.

**Engagement metric (selectable):**

| Metric                                  | Description                                       |
| --------------------------------------- | ------------------------------------------------- |
| Scroll Depth (25%, 50%, 75%, 90%, 100%) | Share of sessions that scrolled at least this far |
| Clicks per Session                      | Average clicks per session                        |
| Bounce Rate                             | Single-page sessions                              |
| Rage Click Rate                         | Sessions with rapid frustrated clicking           |
| Form Abandonment Rate                   | Sessions that started but did not submit a form   |
| Time on Page                            | Average active engagement time                    |
| Attention Score                         | Combined engagement quality score                 |
| Time to First Interaction               | Average time until the first interaction          |

**Typical patterns:**

* Slower LCP → higher bounce rate
* Better INP → more clicks per session and lower rage-click rate
* Lower TTFB → longer time on page

## Rage Click Detection [#rage-click-detection]

Rage clicks are detected when users click rapidly in frustration:

* 3 or more clicks on the same element
* Within a 2-second window

High rage click rates indicate:

* Broken links or buttons
* Slow-responding UI elements
* Confusing interface design

### Finding Rage Click Sources [#finding-rage-click-sources]

1. Filter by high rage click rate
2. Check which pages have issues
3. Review click targets
4. Fix unresponsive elements

## Form Analytics [#form-analytics]

The RUM script tracks form focus, field changes, submissions, and abandonment. In the dashboard this surfaces as the **Form Abandonment Rate** engagement metric – the share of sessions that started filling a form but left without submitting. Select it in the correlation chart to see how performance relates to form abandonment.

### Reducing Form Abandonment [#reducing-form-abandonment]

* Simplify form fields
* Add progress indicators
* Improve form validation
* Optimize form load time

## Filtering Data [#filtering-data]

The Engagement page shares the standard RUM filter bar:

* **Date range** – any window, with an optional compare-to-previous-period toggle
* **Device** – Mobile or Desktop
* **Advanced filter** – narrow by URL path, country, or browser

See [RUM Monitoring](/features/rum-monitoring#filters) for details on the filter bar.

## Use Cases [#use-cases]

### Measuring Content Engagement [#measuring-content-engagement]

Track scroll depth to understand:

* Is content engaging enough?
* Do users read full articles?
* Where do users drop off?

### Improving Conversion [#improving-conversion]

Correlate performance with actions:

* Faster pages = more sign-ups?
* Page speed affecting purchases?
* Performance impact on engagement?

### Identifying UX Issues [#identifying-ux-issues]

Find problems via:

* High rage click rates
* Low scroll depth despite long content
* High form abandonment
* Low time on page

## Best Practices [#best-practices]

### Set Engagement Goals [#set-engagement-goals]

Define targets for:

* Minimum scroll depth for key pages
* Maximum acceptable bounce rate
* Target time on page

### Monitor Trends [#monitor-trends]

Watch for changes:

* Engagement drops after deployments
* Seasonal patterns
* Device-specific issues

### Correlate with Performance [#correlate-with-performance]

Use correlation data to:

* Justify performance improvements
* Quantify speed impact on business
* Prioritize optimization work

## Related Features [#related-features]

<Cards>
  <Card title="RUM Monitoring" href="/features/rum-monitoring">
    Core Web Vitals tracking
  </Card>

  <Card title="Web Analytics" href="/features/web-analytics">
    Traffic and behavior analysis
  </Card>

  <Card title="Error Tracking" href="/features/error-tracking">
    JavaScript error monitoring
  </Card>
</Cards>
