Page Insights User Guide

What is Page Insights?

Page Insights helps you figure out what elements users are clicking the most. It provides a visual overlay of aggregate, page level statistics onto session playback. It interacts with Omnisearch to provide instant stats for every page in your app.  

Use search to create your desired segment of users based on anything you want – behavior, time, geography, device type, custom variables, etc – which then become the basis for the aggregate statistics in Page Insights.

Page Insights can help you answer valuable business questions surprisingly easily. Things like...

  • What are the top 5 most clicked-on elements on our pricing page, and what percentage of users click on each of them? Do those percentages differ for users on mobile devices? By geography?
  • Do paying customers tend to engage with the same features as non-paying customers?
  • Do users who signed up the first two weeks after we changed prices behave differently?
  • What parts of our onboarding UI cause the most rage clicks among new users?
  • Which buttons on our checkout page tend to cause JavaScript errors most often?

How do I use Page Insights?

On the top bar of your playback screen, you’ll find a toggle between Playback and Page Insights mode. When you’re watching a session, you can instantly view engagement data for any moment that is part of that session. As soon as you toggle to Page Insights mode, we’ll pause playback and show you an Engagement Heatmap for the current page you’re viewing.  

Click Maps

Click Maps show you where users clicked on your page.  You can even see Rage Clicks, Error Clicks, and Dead Clicks.  Click Maps has two modes: Engagement Heatmaps turned on or off.

Engagement Heatmap Mode

Engagement Heatmaps is the default mode when you dive into Page Insights.  Use the slider to toggle Engagement Heatmap Mode on or off.  When on, Page Insights shows you a visual representation of the most clicked elements on the page in Playback.  The most clicked elements will be highlighted in pink.  If you hover over the Playback window, the rankings for each element will appear.  Click on these rankings to highlight different elements and get the interaction data for that element.

Sometimes an Engagement Heatmap isn't the best way to digest click information (i.e. the page has lots of overlapping elements or the color scheme of the page matches our click intensity scale.) For these cases, you can toggle off Engagement Heatmap mode to see the click rankings for the page.

Most Clicked Elements

Use the dropdown list to toggle between all clicks, rage clicks, error clicks, and dead clicks. Note that these choices work with Engagement Heatmap Mode on or off.

  • Most clicked elements map will show the aggregate of all clicks.
  • Most error clicked elements map will show the aggregate of all clicks that occurred just before a JavaScript error occurred on the page.
  • Most rage clicked elements map will show the aggregate of all sets of rapid clicks in succession in the same area of the page.
  • Most dead clicked elements map will show the aggregate of all clicks that did not have an effect on the page (eg. no page navigation or no action as a result of the click).

Inspect Mode

Toggle to Inspect Mode to get stats for any element you're interested in. Just click around the page to get the information you're after. 


While viewing any of the Click Map summaries or Inspect Mode, use the Add to search or Create new search options to instantly drill down to a segment of users who have clicked that selector.

Page Insights FAQs

What is a page?

In today’s world of single page apps and dynamic URLs, figuring out how to list all the “pages” in your app can be confusing. And the list (if you managed to figure it out) will likely change over time. With FullStory’s Page Insights, there is no need for you to instrument your code, or explicitly name your pages. Page Insights uses machine learning to figure out what the logical pages in your app are, and groups things accordingly. 

This means that clicks on buttons on the “login page” won’t be mixed up with clicks on buttons on the “dashboard page”. And even better, if your app has a custom URL for each of your users, we will automatically figure out that Johnny’s dashboard page is the same page as Suzy’s, and we’ll show you aggregate statistics for all users on the “dashboard page”.

How do I interpret the Engagement Heatmap scale?

A color scale emerges along the right side of the Playback window when Engagement Heatmap mode is turned on. The most clicked element on the page will always take the top bar spot on the scale, and the least clicked element (of the 25th clicked element) will always take the bottom spot.  The other elements will appear on the scale in proportion to the most and least clicked element.  The length of the bars is based on the percentage of clicks for that element compared to the top clicked element.

Bars on the scale that appear missing means that none of the elements on the page were clicked in proportion to the top element at that place.  For example, imagine a page has one button that was clicked 1000 times and a bunch of other elements that were clicked between 1 and 10 times.  The scale would have the top bar represent the element that was clicked 1000 times.  The middle of the scale would be empty to denote the large difference in clicks between the elements that were interacted with.  The bottom of the scale would have a couple bars to represent the least clicked elements.

What is included in the data?

The aggregate click data you see in Page Insights is pulled from user interactions that match your current search or segment. That is, if you’re viewing the “Everyone” segment, you’ll see click data from all users. If you’re viewing the “Bought Mangos” segment, only clicks from users who are a part of the “Bought Mangos” segment will be included in the aggregate numbers.

If you want to narrow your page insights to a specific cohort of users, dial in the appropriate search first, then click on any session playback to view Page Insights for that group of users.

How do you deal with dynamic apps or pop-ups?

Page Insights take into account what’s on (or not on) the page now. If you watch a playback of a dynamic single page application, things pop in and out of existence. Page Insights are smart enough to work with this and show you what’s relevant to what you are seeing on the page right now. Want to see statistics for when the error message is popped up? Just find a session with that error message, then click Page Insights at the top right of the screen to start viewing aggregate stats for users who saw the error message.

How do you deal with screen size or device type?

Resolution doesn’t matter, nor does device type. Because we’re counting clicks based on the underlying page structure and the element on the page that the user actually clicked (not pixels or mouse positioning), we can aggregate all clicks across all devices and screen sizes. That said, if your mobile site has a very different page structure than your desktop site, mobile device data will not be included in the aggregates (see "What is a page" section above). Want to be sure you’re only seeing stats for mobile devices? Then add “Device is mobile” to your user search to filter out clicks from other devices. 

Why don’t the numbers always match my search exactly?

Our machine learning algorithm is constantly running and refining the definition of each logical page for your site. As a result, it is possible for your click totals in page insights to not add up to the exact numbers you see on the search page. Over time, these numbers should start to even out. 

Why does only the first table row, or first menu item have click data sometimes?

We currently use a combination of inferred page and intelligently processed CSS selector to identify and attribute clicks. Sometimes a given CSS selector can match multiple elements in the page. We currently attribute clicks to the first element we encounter. This generally isn’t a problem if the element or it’s parents have sufficient detail with href’s, class names or IDs in the HTML. That being said, we can do better and have a solution in the works to properly attribute clicks to ambiguous elements like this. 

Can’t find what you’re looking for?

The FullStory team awaits your every question.

Contact Us