What does this website do?

It uses the Google Analytics real-time data API to get the locations of the users acccessing your website, and displays them on a full-screen map as a heatmap (i.e. colors indicating the # of people at given location). Here is a sample of what it will look like in action:

Heatmap.TV in action

How is this different from the real-time view in the Google Analytics console?

  • Heatmap.TV support multiple GA accounts/properties/views simultaneously on a single map.
  • Heatmap.TV show the exact locations, not just the countries.
  • Heatmap.TV looks good on a big-screen TV.
  • Heatmap.TV will auto-start the map after you have logged in once: perfect for browser bookmarks.

Why do I need to login to Google?

In order to access your Google Analytics data, you need to be logged in to a Google Account that can read the appropriate Google Analytics account/property/view.

Is my data safe?

Your data is only accessed by the browser, not by the Heatmap.TV server (tech tidbit: it is a static website).

If you are concerned about the security of the PC or TV showing the map, I recommend making a dedicated user in Google Analytics with read-only permission to just the accounts/properties/views that you want to display on the TV.

At my work, for example, we created a new user [email protected] with rights to GAnalytics views of our production-ready websites.

Note: the logout button only logs you out from Heatmap.TV. It does not log you out of your Google Account.

If you want to revoke GA permissions from Heatmap.TV, you can do so on Google's App Permissions page.

Will it work if I am not using Google Analytics on my websites?


How often does the map update?

Once per minute.

Will it run forever?

In theory, yes. In practice, no. Google will occasionally (perhaps once a week) want you to re-login. And there seem to be browser issues (at least in Chrome on Windows) that crash ("Awww Snap") after a few days.

Why is there a limit of 10 properties?

Google has a 10 hits/minute rate-limit on the real-time analytics API. I am considering ways around this that would not increase the refresh interval.

How can I run this without a dedicated PC for my TV?

A "stick" computer will work as long as it has a fully-functional browser. The ASUS ChromeBit (which runs Google's ChromeOS) is a good choice. If you prefer Windows, the Intel Compute Stick or similar should work fine. I recommend getting a wireless keyboard as well.

What did you use to make this?

Please see the Credits page! You can see the actual source code at GitHub.

I have a question that isn't answered here. What can I do?

Please Contact me!