Advanced Google Analytics Segmentation Using Census Data

One of the things on my wish list for Google Analytics would be more granular geographic and demographic segmentation. Although we can never know the true demographics of anonymous visitors without of course asking them via surveys or other methods, we can bridge the gap by combining the geographic data that Google Analytics does offer with Census data. This allows us to roll up traffic data into population groups known as Census tracts that can provide tighter demographics than using zip code or county level data.


What is a census tract?

A census tract is a small subdivision of a county with populations ranging from 2,500 to 8,000 people. There are several census tracts per county and zip code and this one-to-many relationship makes it the most granular publicly available geographic subdivision.


Why segment Google Analytics using census data?

Census tract demographic data offer a unique way to profile website visitors and customers and allow website and business owners to enhance their understanding of the people that come in contact with them. Even though these are approximations, the tight geographic designation of segments can provide useful insights into education, age, income, home value and many other attributes. This can help shed some light on the question of who is visiting your website and who is buying your products or services. This is how Claritas creates its PRIZM cluster system for lifestyle market segmentation based on the idea that similar people flock to the same neighborhoods to enjoy similar lifestyles.


How to join Google Analytics with census data?

The process of creating census demographic segments can be tedious and complicated but in my opinion rewarding in the end. First we will need to extract the Google Analytics data. Unfortunately, there is no way to download data at the census tract level from Google Analytics, but thanks to the Google Analytics API we can extract the visit data by latitude and longitude coordinates. However, we will need to convert these coordinates into census tracts and this is where it gets tricky. To do this we will have to find the centroid coordinates of each census tract (try this) and calculate the distance from each census tract centroid to each Google Analytics visit using the coordinates (here are a few methods) so we can assign the closest census tract to each visit. Finally, we will have to download the U.S. census demographic data to join with the newly created Google Analytics census tracts to segment the Google Analytics data. For a bonus, we can analyze the data using clustering and factor analysis to come up with our own lifestyle segments.


Wrapping it all up...

The process of creating advanced demographic segments using Google Analytics data is not the easiest of projects. But I think it has the potential of providing some valuable insights by enhancing your understanding of who is visiting your website and who is converting. While web analytics can easily provide answers to who, what, when and where, this advanced segmentation can add color to the all too elusive question of why. Why do certain visitors convert while others do not? Are we priced too high for lower to middle income markets? Is our message appealing to younger visitors? Should we shift advertising to other markets? Just imagine the possibilities of combining these insights with a Google AdWords campaign targeting the types of census tracts that perform the best for you.