Search
  • Mathew Collins

Implementing and Analyzing Heatmaps on your Website

A heat map (or heatmap) is a graphical representation of data where values are depicted by color. Heat maps make it easy to visualize complex data and understand it at a glance.


It is important to successfully incorporate Heatmaps in your analytics strategy. In-page behavioral analysis gives your team additional visual insights that are not easily collected or interpreted using traditional analytics tools such as Google Analytics. You need to set up a heatmap everytime you want to learn more about your user’s on-page behavior on a different page or set of pages.


Heat mapping software works by collecting data from a web page and displaying that data over the web page itself. A heat map uses a warm-to-cool color spectrum to show you which parts of a page receive the most attention. You can think of heat maps as a form of visual storytelling. Creating a heat map helps you understand visitor behavior instantly.


Below is a step-by-step guide on how to implement and analyze heatmaps on your website.


Evaluating the need for a Clickmap or Scrollmap tool

  1. Do you want to analyze quantitative data, analyze specific metrics over given time periods, or track major events on your website?

  2. If yes, a tool like Google Analytics is more suitable for your analysis. Even though in some cases you can get similar indicators visually through a heatmap, typically this kind of results.

  3. Do you want to analyze how your users are interacting within a specific page or subset of pages?

  4. If yes, in some cases you might be able to do so with Google Analytics. But mostly the data will be much easier to analyze by visually looking at scrollmaps and clickmaps.

Deciding what pages to record

  1. Identify core pages on your website and setup page-level heatmaps for them, those are the pages most users will go through before performing the action you want them to perform, example:

  • Homepage;

  • Lead generation landing page;

  • Pricing page;

  • Sales Page;

  • Checkout page or checkout steps;

2. Identify supporting pages that provide clues regarding what might be going through your user’s mind:

  • Example:

  • FAQ page - If you’re using a accordion-style elements, will give you insights regarding what questions are more common allowing you to improve your landing page copy by visually seeing which questions are clicked on the most.

  • Category selection page - If you have a page where users click on specific categories of your website you can quickly and visually assess what categories are more popular among that set of users.

  • Portfolio - If you use a single page portfolio, check if users are seeing your best projects, identify if they are trying to click on any of those to identify the most interesting ones.

  • Features page - Identify features users are more interested in.

3. If you are in the process of redesigning a specific page or a template:

  • Create a heatmap of the old version;

  • Create a heatmap of the new version;

4. Analyze high-potential poorly performing pages:

  • High Volume / High Bounce Rate: Open Google Analytics → On the sidebar click “Behaviour” → Click “All Pages” → Sort by “Unique Page Views” → Identify the pages where the Bounce Rate is unusually high compared to the other ones.



Creating and setting up an account with hotjar

  1. Click here and register your account.

  2. Enter your details and click “Let’s get started”


3. Select your password and click “Next”.

4. Enter your “Role”, select “Yes” If you want to use this account to manage clients, or “No” if this is for your website only, your organization name, and click “Next”.

5. Enter your site URL → Click “Start using hotjar”.

6. Close the pop-up window.

7. That’s it! You’re on your dashboard now, and you should be able to see your tracking code:


Installing hotjar using Google Tag Manager


  1. Go to http://tagmanager.google.com and sign in with your account details.

  2. Select the container that is set up on your website.

3. Go to “Tags”:


4. Click on “New” and rename your tag. It is recommended that it contains a mention to Hotjar, it makes it easier in the future to locate the tags you are looking for.

  1. Note: When creating new tags it’s recommended to define a naming convention from the beginning, this keeps your Google Tag Manager set up neatly organized and easy to maintain for many years to come. [Abbreviated Name Of Tool]_[Use for this tag] is a good start.

  2. e.g: “HJ_TrackingCode”

  1. Click on the “Tag Configuration” section → Search: “Hotjar” → Click “Hotjar Tracking Code”


2. Open your Hotjar dashboard on a new tab by clicking here, on your address bar copy the numbers after /sites/ and before /dashboard/

  1. Note: In this example it would be 747394.

3. Go back to Google Tag Manager and paste your Site ID.



4. On the “Triggering” section click “Choose a trigger to make this tag fire…” → “All Pages”.

  1. Note: If for some reason there are pages on your website that you do not want to record. (e.g: for security / privacy / performance reasons) You may not want to select “All Pages” but create a custom Triggering rule instead. (Out of the scope of this SOP)

5. Click “Save” on the top right corner:


Testing if HotJar has been correctly implemented

  1. Open your Hotjar dashboard on a new tab by clicking here.

  2. Click “I have installed the tracking code”


3. Enter your website in the text box and click “Verify Installation”



4. You should see the following success message:


Setting up Heatmaps

  1. Open your Hotjar dashboard on a new tab by clicking here.

  2. On the sidebar click “Heatmaps”


3. Click “+New Heatmap”



4. Name your Heatmap and click “Next”.

  1. Note: Start using a naming convention from the beginning—it will make it much easier for you to analyze results in the future. If you don’t have a naming convention yet you can use [Traffic Segment] [Page Analyzed]

  2. Example: [All Traffic] Homepage or [Facebook Ads Traffic] Homepage or [Headline A Variation] Homepage.

5. Select the number of Pageviews that you would want to collect before hotjar marks the heatmap as complete and click “Next”.

  1. Note: The free plan is limited to 1.000 Pageviews. That is a good enough sample for most cases.

6. Page Targeting:

Note: This SOP covers a process that works for the vast majority of websites. There might be rare instances where your specific situation or URL structure will require a small variation to be performed. If that is the case it is recommended that you ask the person responsible for website management to assist you with the heatmap setup.


a. If you want to record a specific page:

a.If you want to record all traffic that goes to a specific page and your website does not rely on URL parameters (e.g: asiteaboutemojis.com/?id=1) to show specific pages:

Note: If you don’t know if your website relies on URL parameters, open your homepage and click on a few links. Look at the URL bar in your browser, If your links include a question mark in the end of the URL your website probably relies in parameters to work.


i. Select “Visit a specific page”

ii. Select “Simple URL match”

iii. Enter your URL in the text box

  1. Example: http://asiteaboutemojis.com/

  2. Note: the “Simple URL match” rule that you have just selected will work whether you enter http or https, and whether you enter www or not in the beginning of the URL. It will also work if you use UTM parameters on your URLs. It will treat all those variations as the same page. This is the recommended rule for most websites when you want to record a specific page.



b. If you want to record all traffic that goes to a specific page and your website relies on URL parameters (e.g: asiteaboutemojis.com/?id=1) to show specific pages or you only want to record an exact URL:


Note 1: If you don’t know if your website relies on URL parameters, open your homepage and click on a few links. Look at the URL bar in your browser, If your links include a question mark in the end of the URL your website probably relies in parameters to work.


Note 2: If you use this method, make sure that UTM tags will not cause traffic to not be recorded unwillingly.

E.g: If you select this method and you pick “http://asiteaboutemojis.com/” as the URL. The traffic that goes to your website through the URL “http://asiteaboutemojis.com/?utm_source=facebook” will not be recorded by your heatmap.


  1. Select “Visit a specific page”

  2. Select “Exact URL match”

  3. Enter your URL in the text box

  4. Example: http://asiteaboutemojis.com/

  5. Note: the “Simple URL match” rule that you have just selected will work whether you enter http or https, and whether you enter www or not in the beginning of the URL. It will also work if you use UTM parameters on your URLs. It will treat all those variations as the same page. This is the recommended rule for most websites when you want to record a specific page.


c. If you only want to record traffic from a specific source that goes to a specific page and your website:


  1. Select “Visit one of multiple similar pages”

  2. Select “URL Regular Expression”

  3. In the textbox you will enter your Regular Expression. To do so follow the following steps:

  4. Take note of the UTM parameters for that specific traffic source.

Note: If you are not using UTM parameters yet, you can follow SOP XX.

Note: If you want to only record a specific source and medium (or campaign too) you can also specify it at this step instead of just the source.

  1. Example: utm_source=facebook

  2. Take note of the URL of the page that you want to record.

  3. Example: http://www.asiteaboutemojis.com/archives/49

  4. For the URL of the page that you have just took note on step b): Add a backslash before every forward slash or period that you have in the URL.

  5. Example: asiteaboutemojis\.com\/archives\/49


  1. Place the result of step a) and step c) in the following code:

Note: Replace everything in green, including the square brackets.

^(?=.*\[STEP B - YOUR UTM SOURCE HERE] \b)(?=.*\b[STEP C - YOUR URL WITH FORWARD SLASHES HERE]($|\?)).*$

  1. Example: ^(?=.*\utm_source=facebook\b)(?=.*\basiteaboutemojis\.com\/archives\/49($|\?)).*$

  2. Paste that code on the text box.



d. If you want to record all traffic that goes to multiple pages and bundle the data together (e.g: you want to see how your template performs independently of the content that is inside, or multiple pages have the same content):

  1. Select “Visit one of multiple similar pages”

  2. Select “URL Regular Expression”

  3. In the textbox you will enter your Regular Expression. To do so follow the following steps:

  4. Create a list of all the URLs that you want to have being recorded on the same heatmap.

  5. Example:


  1. For every URL add a backslash before every forward slash or period that you have in the URL and add the symbols ($|\?) in the end.

  2. Example:

  • http:\/\/www\.asiteaboutemojis\.com\/tshirts\/($|\?)

  • http:\/\/www\.asiteaboutemojis\.com\/caps\/($|\?)

  • http:\/\/www\.asiteaboutemojis\.com\/socks\/($|\?)

  1. Join them all on the same line of text and separate them with a pipe symbol.

  2. Example:

http:\/\/www\.asiteaboutemojis\.com\/tshirts\/($|\?)|http:\/\/www\.asiteaboutemojis\.com\/caps\/($|\?)|http:\/\/www\.asiteaboutemojis\.com\/socks\/($|\?)

  1. Paste that code on the text box.

Excluding internal traffic from your heatmaps


a. If you have a static IP address, are already connected to the network that you want to exclude from your heatmaps (e.g: your office network) and are not using a VPN: Follow this procedure.


b. If you’re not sure about any of these, or if you are not at your location and need to request another employees for their network IP: Follow this procedure.


Excluding your current IP address:

  1. On your browser go to https://insights.hotjar.com/settings/ip

  2. Click “Block Your Own IP”




Excluding an IP address of a network:

  1. Identify the IP addresses that you want to exclude:

  2. Option 1: Ask the person responsible for your office’s network or your ISP (Internet Service Provider):

  3. Is our network IP Address static? If your IP address is not static, excluding it from your Heatmaps will not be a long-term solution.

  4. What is our external IP address? This is the IP address that you need. Take note of it.

3. Option 2: Check it yourself (or send these instructions to someone who’s network you want to exclude such as an employee’s home network If he works remotely):


Note: Make sure you are not using a VPN. If you are not sure ignore ask the person responsible for IT in your organization. If you’re using your personal computer (or are fully aware of the software in your computer) and have not installed any VPN software proceed with this method.


  1. Connect to your local network. (Usually you just need to be connected to the Wi-Fi of the network you want to exclude)

  2. Go to http://beta.speedtest.net/

  3. Locate your IP address on the page:

4. Call your ISP and ask them if your network’s IP address is static.

  1. Note: If you want to exclude your local IP address your Office’s IP address must be static.


  1. On your browser go to https://insights.hotjar.com/settings/ip

  2. Enter an internal name for that IP Address

  3. Example: “Tommy’s house”

  4. Click “Block IP”


4. That’s it! Now repeat this procedure for all the networks that you or your employees may use to access your website.

  1. Example: Your office network, your home network, your employee’s home networks, etc.

Analyze your recordings

  1. Log in to your dashboard.

  2. On the sidebar click “Heatmaps” → “View Heatmap”.


3. Open the Clickmap & Scrollmap Diagnosis Cheat Sheet.

4. Go through each of the “Indicators” and identify which ones apply to your heatmap.

5. Log the results of your recordings by following the steps on the next chapter.


Log the results of your recordings

Important: Make sure no changes were made to the pages that are collecting data between the “Start” and the “End” date of your heatmaps.

  1. Example: If your homepage has multiple CTA’s and you change them frequently every day. If the data for the heatmaps and scrollmaps is being collected throughout a whole month your data will not be meaningful since the target page changed multiple times while the clickmaps were being collected.


  1. Open the Scrollmap and Clickmap Insights Spreadsheet.

  2. Fill in each cell:

  3. Start date: The date you started collecting data.

  4. End date: The date your heatmap stopped collecting data (either because you stopped it or because it reached the number of pageviews that were setup).

  5. Segment: If you are only recording a specific segment of your traffic (e.g. you are only collecting data on Facebook traffic), enter it here.

  6. Page Analyzed: The URL of the page or group of pages being recorded.

  7. Level: Select “Page” if you are recording a single specific page. Select “Template” if you are not evaluating a specific page content but a template instead.

  8. Reasons for recording: If there was a specific reason why you felt like you should analyze that page enter it here. Typically you should have a reason for it.

  9. Original Page: Save a screenshot of your original page and upload that image to a cloud storage service like Google Drive to get a shareable link.

  10. If you don’t have any way to create that screenshot and are using Google Chrome, “Awesome Screenshot” is a good tool that offers that feature for free.

  11. Scrollmap and Clickmap:

  12. Log in to your dashboard.

  13. On the sidebar click “Heatmaps” → “View Heatmap”.

k. Select “Click” → “Download”.

l. Select “Scroll” → “Download”.



m. Upload those images to a cloud storage service like Google Drive and get a shareable link. (Outside of the scope of this SOP)


n. Comments on results: This is where you should summarize your findings based on the Clickmap & Scrollmap Diagnosis Cheat Sheet.

  1. E.g: “Possible misleading clickable elements. Users are clicking on the images instead of the CTA button”.

o. Hypothesis: This is where you come up with a possible reason for the findings you have just logged.

  1. E.g: “Our image borders makes them look like clickable elements.”

p. Next Step: Based on your hypothesis you input a possible fix for that issue:

  1. E.g: “We should try and remove the image borders and better highlight our CTA instead.”


3. That’s it, you are now ready to implement any changes to the pages and record and log your traffic once again until you achieve the desired behavior from your users.


If you need help in implementing heatmap on your website, please do not hesitate to drop us a message. DigitalxMarketing is more than willing to lend a hand.


DigitalxMarketing provides Digital Strategy, Digital Services, Training and Education to Business Owners, Executives and Marketers. As a DigitalMarketer Partner, we provide the World's leading digital marketing training and up-to-date tools & resources


4 views0 comments