How to Visualize Your Site as a Treemap

Use Google Spreadsheets and the Treemap widget to show volume of visits, number of pages, or any other metric.

Todd Moy
Todd Moy
Mar 14, 2015 · 4 min read

Early into a content audit a few weeks ago, I wanted to visualize the website in conjunction with pageview data. I suspected that the site had a few isolated hotspots of activity and some large dormant areas, but I wanted more certainty. I also wanted a visceral sense of where the content lived and what was important.

So, my questions were simple:

  1. Which sections and subsections comprise the majority of the site?
  2. Which sections are visited most often?

To answer these, I wanted an efficient way to get at this data. I soon discovered that I could produce a useful visual quickly using Google Spreadsheets’ support for Treemaps.

After playing around with this, the tool seemed reusable and I cleaned it up for others. Here’s how you can create one.

Getting and populating the template

First, you’ll need to make a copy of the template from Google Drive. You’ll need a Google Apps account, naturally.

Once you have that, you’ll need to replace the list of pages with your own. In this example, each page has:

  • Page title
  • Page URL
  • Pageviews (or some other metric)

Getting data will be the hardest part of this exercise. Depending on your access to the technology that powers the site, this may be readily available or not.

For me, I turned to a sitemap.xml file because it contained two bits of data I cared about: the page title and the URL. This file is easily produced by many CMSes, Google Webmaster Tools, or an external site spider. All I had to do was extract the relevant information, which I did using Google Refine.

Getting metric data will depend on what you’re interested in. Page-level analytics like time on page, bounce percentage, and repeat visits are easily attainable from Google Analytics. Your CMS may provide other insightful information such as days since last update.

Paste that info into columns A, C, and D on the Raw Data tab.

Grouping the data

In its raw form, a list of pages isn’t terribly useful. So, we need to group the pages. These groups become the blocks in the treemap; the number of pages in each determines their size. These groups can be anything you care about. Here, I’m grouping pages by subdirectory, but other grouping strategies could be:

  • By author
  • By audience
  • By template type
  • By nav section

Don’t worry about the entire hierarchy of groups at this point. Right now, focus only on the nearest grouping that you’d want to appear as a block. For example: → Team → Team

If you have any one-off pages that you want to force to show up as a block, add them to their own group. → History → Mission

Tallying the data

Now that the pages are grouped, you’ll need to aggregate the data and present it in a table that’s understandable to the Treemap. On the Tallies tab, you’ll see the data is arranged in the following way:

In Column A, you need to list every unique group you created on the Raw Data tab. Column B is where you create the hierarchy of groups. For each group (except the first) you need to identify its parent. Each parent must match the name of a group in Column A exactly. Everything must ultimately roll up to one group — in this case, “Home.”

You can nest groups as deep as you’d like. For example, if you wanted this nesting…

Home / Blogs / Blog-1

…you’d enter the data like so…

Blogs → Home
Blog-1 → Blogs

As you add groups, Pages per Group and Average Page Views should update automatically. If you’re using a different metric than pageviews, you may need to adjust the formula in Column D. It’s currently set to average data for all items within a group.

You can check your progress in the Tests table on the right. When all items are zeroed out, you’re done.

Viewing and customizing

Jump over to the Treemap tab to see your creation. If you nested the groups, you can navigate down a level by clicking the blocks and headings. Going up a level isn’t as obvious — you right-click the topmost heading.

Once your data is presented as you expect, it’s worth exploring options under the “Advanced edit…” button. Here, you can change the color scheme and adjust the number of levels of hierarchy shown.

That’s all folks. If you have questions or additional thoughts, drop ‘em in the comments.

This post was originally published at

Work and Words

UI / UX Portfolio

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store