Hotjar captures the majority of user sessions in Heatmaps and Recordings, depending on your Observe plan's daily session limit. However, it may not be possible to capture 100% of all your site visitors.
Quick checklist ✅
If you suspect that Hotjar isn't tracking as many session as it should. This checklist may help you understand why:
- 30 second sessions: Hotjar ignores sessions shorter than 30-seconds by default. However, you can adjust your Site Settings to include these shorter sessions in your data collection. This can often explain discrepancies between Hotjar data and other data from your website analytics.
- Session targeting criteria: if you are targeting session capture based on specific Event triggers or URL targeting criteria, these might be resulting in fewer sessions being collected. Some URL targeting methods such as "Exact match" are very strict. To ensure your criteria is correctly matching your live website, review your targeting methods.
- Inconsistent traffic rates and sampling: if your website gets inconsistent traffic throughout the day, this can result in missed sessions due to sampling. In order to evenly track users throughout the day, Hotjar evaluates the rate of traffic on your website and enforces sampling if the rate of traffic exceeds what your Observe plan can accommodate. This might result in fewer sessions that your plan allows being collected. Learn more about Sampling.
- Content Security Policies: if your website uses a Content Security Policy (CSP), then be sure you've included allowances for Hotjar to run on your site. Otherwise, it's possible that your website is blocking Hotjar and preventing data collection.
Understanding session tracking
To understand why some sessions are not being captured, it is important to understand the difference between total traffic, potential traffic, and traffic coverage:
- Total traffic refers to all user sessions that interact with your website. This includes sessions that Hotjar cannot track for reasons beyond our control.
- Potential traffic is made of visits to your site that Hotjar can potentially capture, depending on your Observe plan and settings. Learn more about why some sessions cannot be tracked.
- Traffic coverage describes the rate of sessions that Hotjar is actively tracking. You can view it from your traffic coverage widget, in the top right of any page within Hotjar. Your Observe plan will determine if some sessions fall outside of traffic coverage.
Why isn't Hotjar able to track all my sessions?
Hotjar does its best to collect data from all user sessions that it detects on your website. However, there are situations that prevent Hotjar from detecting or tracking some user sessions. In most cases, the reason relates to the user's browser and/or local network environment, so it's beyond our ability to control. The table below shares the most common reasons why Hotjar might not track a session:
Reason why a session was not captured | How could this be prevented? |
The browser used is not supported by Hotjar. | Users access the site through a supported browser. |
JavaScript was disabled in the browser. | Users enable JavaScript in their browser settings. |
Cookies were disabled in the browser. | Users allow cookies in their browser settings. |
The visitor has Do Not Track enabled in their browser. | Users disable any Do Not Track settings in their browser. |
Your site was accessed in a private/incognito browsing mode. These often block cookies or tracking scripts by default. | Users adjust their browser settings to allow Hotjar's script and cookies to load. |
The visitor has disabled use of localStorage or sessionStorage in their browser. | Users enable localStorage and sessionStorage in their browser. |
Browser plugins, extensions, or ad-block/privacy tools have blocked the Hotjar Tracking Code. | User disables any extensions or tools that blocks third-party scripts and cookies. |
Your site is being accessed from a private or public network that restricts access to Hotjar's servers. | Users need to access the site from a network that allows Hotjar. |
The Hotjar WebSocket was blocked during their visit to your site. | This is often related to Content Security Policy (CSP) blocks, and can be addressed by your developer or hosting team. |
Network conditions such as loss of connectivity can cause data loss. If this happens, the user's session data may be discarded. | Network and connectivity issues are usually beyond the control of the affected party. |
Why might a session fall outside traffic coverage?
In some cases, Hotjar is able to load on the user's page, but their session isn't stored within your Hotjar dashboard. This can be due to settings inside Hotjar which may result in a specific user's session being discarded.
-
Your Observe plan's traffic coverage did not include this user.
If your potential traffic exceeds your Observe plan limits, Hotjar will capture a portion of your traffic called your traffic coverage, which we also refer to as Sampling. Learn more about sampling.Session coverage becomes more accurate after the first 7 days after Hotjar is installed, so if your rate of daily traffic is higher than your Observe plan limit, parts of the day may be missed from tracking during the first 7 days.
-
"Only 30s+ sessions" is enabled in your session capture settings.
This can be disabled in your site settings, under the targeting section, and the video below steps through how to do this. This setting is enabled by default to avoid lower-value Recordings (sessions that don't have much activity). Enabling it often explains differences in traffic compared to other sources, such as Google Analytics, ad software analytics, or your server logs. -
The user may not have visited a page you are targeting.
Learn more about How to trigger Recordings and Heatmaps based on URLs. We recommend tracking all pages for the maximum coverage. -
Pages on your site are served over HTTP instead of HTTPS
To provide a more secure experience in Hotjar, we don't capture those pages within a session that are being served using the HTTP protocol. Hotjar will only capture pages within a session that are being sent over HTTPS. In addition to Heatmaps and Recordings, this also includes Feedback widgets and Surveys which won't display on pages using HTTP. For help on moving your site to HTTPS see this guide from Google on the steps you can take. -
The user's IP is blocked within your Hotjar settings.
If the user's IP address was added to your IP block list, Hotjar will not process their session. - The session did not have any user activity.
If Hotjar did not detect any activity during the user's session, the recording associated with that session will be discarded.
We currently consider a potential recording as “having activity” if it contains at least one event of the following types: “Input Change”, “Key Press”, “Mouse Click”, “Select Change” or “Viewport Scroll”
Feedback widgets and Surveys are not affected by Observe plan daily session limits
If the traffic coverage provided by your Observe plan is less than 100%, then users may respond to Feedback widgets or Surveys without being tracked by the Recordings tool. This is because Feedback and Surveys appear based on the responses allowance of your Ask plan and not the daily sessions allowance of your Observe plan.
Understanding traffic coverage
To check your current traffic coverage, you'll see a 'traffic coverage widget' in the top right hand corner of all pages within Hotjar. The widget button changes depending on your Tracking Code activity.
- Traffic coverage: after 7 days of consistent data capture, Hotjar will tell you how much of your website's traffic is covered on your current plan.
- Traffic Active: this will show after Hotjar is first installed, or re-enabled after a period of inactivity. After 7 days, it will change to showing the traffic coverage.
- Tracking Issue: Hotjar has not detected activity on your site for some time. This could happen naturally if you're tracking a dev site, or site with very little traffic. However, it may also mean the Hotjar Tracking Code was removed. You may want to verify your Hotjar tracking code installation to confirm that Hotjar is still properly installed.
- Session Capture: Disabled: data collection is disabled. You can re-enable in your Site Settings.
Clicking on this widget will tell you more information about your current plan limits, as well as tell you how much potential traffic your site received per day compared with the daily sessions allowance provided under your Observe plan.
Traffic widget formula
The traffic widget uses the following formula to display traffic coverage: ((Number of Sessions included in Observe Plan)/(Number of Sessions where the Hotjar Tracking Code loaded on a page)*100)
The traffic widget does not consider session targeting settings in its calculation. This means that, if you are not tracking all pages and sessions shorter than 30 seconds, the traffic widget may reflect a larger percentage of traffic than Hotjar is actually tracking on your website.
When Hotjar has only just been installed (or re-enabled), the potential traffic figure will be estimated based on the data collected so far. This happens because we need to measure how much traffic your site gets over time. This helps us calibrate traffic coverage so that Hotjar can capture data evenly throughout the day, even if you exceed your Observe plan daily session limits.