In the majority of cases, when someone sets up Google Analytics, they install the default code on all their pages and leave it at that – happy with the data the comes inside the box. Here are some tactics on how to get collect more data (specifically Age and Gender) about your customers in non-intrusive ways.
NOTE: Although this post is specific to Google Analytics, most of what is said here should apply regardless of what analytics package you are using.
1. Audit your web forms
Are you already collecting this information? If your website already has a pre-existing business requirement to collect Date of Birth and/or Gender during registration then PLEASE track this in Google Analytics!
This is simple and obvious, but sometimes the obvious falls through the cracks. At our company we have been collecting Age and Gender information about our customers for over 10 years – but we never tracked it in Analytics! (“Doh!” – Head smack!). Imagine all potential insights from segmentation we have missed out on over the years.
CAUTION: I would be cautious of explicitly collection this information if there is no business requirement to do so as it may negatively impact your conversion rate.
What I do recommend is to perform a detailed audit of all your web forms. Look at every bit of information you collect and try to think creatively if this could be used to get some valuable insight if it were tracked in your Analytics.
Example 1 – Zip Codes: If you are doing any direct mail campaigns targeted by Zip Code, then recording customer zip codes can get you great insights on how your campaign is doing.
Example 2 – Payment Options: Do customers that pay with different methods have higher/lower average purchase values? What payment options are your most popular? Are certain payment options not being used and should they be perhaps removed to simplify the payment process?
2. Are you using Facebook Connect? Crawl the graph!
Tom Anthony wrote a great post on how to monitor which social networks your visitors are logged into but you can take this a step further:
If you use Facebook Connect CRAWL THE SOCIAL GRAPH! If a user is connected with your site using Facebook, you theoretically should be able to get all kinds of juicy data about them including:
- Age (from Date of Birth)
- Gender
- Relationship Status (Single or Married)
- Likes (do they like your page or not? Do they like specific brands?)
- Interests (movies, sports, books, music, events, groups, check-ins)
There is a lot of data here, so use your judgment in what you capture.
3. Use third-party services to enhance your data
One of my favorite sources is ServiceObjects.com. Their DOTS Name Validation service allows you to determine Gender from the First Name of your users. So even if you are not asking for gender in your registration form, you can make a quick webservice call to determine Gender based on First Name and then record this in your analytics. The service will also tell you if a name is Garbage (‘asdf’) or potentially bogus (‘Homer Simpson’). This service is not 100% accurate as some names are ambiguous, but should provide lots of good data.
Service Objects has some other interesting webservices that allow you to pull US Census data based on a street address. This allows you to collect data on such things as Average Temperature, Average Rain Fall, Distance to Urban center, etc… Although these data points are probably irrelevant to most businesses, there may be some niche markets where this data turns out to be invaluable. If you are selling umbrellas or rain jackets, maybe there is a correlation between rainfall and product sales?
4. Leverage Demographic Targeting in Display Ad Networks
This item is pure theory – I have not tried this – Use at your own risk/gain.
This would work best on Facebook due to the extremely accurate targeting, but could work on other display networks as well.
1. Setup multiple campaigns / ads targeting extremely tight demographic granules.
Example:
Campaign #1: Males, 23 years old.
Campaign #2: Males 24 year old.
Campaign #3: Males 25 years old
etc…
2. Setup custom landing pages (or a single page that dynamically detects the correct campaign) and record the associated demographic data in Analytics.
That’s it! Now as visitors visit your site from display networks, that visit is tagged with the appropriate demographic data. This can obviously be extended beyond just Age and Gender to interests, etc.. This strategy is also easier said than implemented, as you will likely want to use some third party tool in order to manage the huge amount of ads/campaigns you will be running.
When recording the demographic data in Google Analytics, consider also setting up re-marketing tags so that you can have Gender and Age specific re-marketing groups.
Don’t make Analytics a second class citizen – Integrate it DEEPLY into all your products
Whenever I am writing the specs and user stories for a new product, I always include the following feature request:
“Google Analytics should be deeply integrated into the application”
This will force you to spend the time to think about what data you can and want to track before you start building the application. Having this sort of analytics built in from the very beginning provides invaluable usability data but also potentially business functionality (if your application specs require any sort of reporting, ask yourself if you can generate the reports through Google Analytics by tracking certain key events).
One of the most common comments we get from our team when we announce that they now have access to a new killer metric is:
“That’s AWESOME! Is this information retroactive for previous years?”
If the metric is based on a new tidbit of information we have only recently started to collect, the answer is always a sheepish “No”. That is why it is important to start collecting data NOW. Worry about segmentation, analysis, and custom reports & dashboards a little later. First step is to make sure you are collecting the data.
You will want to use Custom Variable tracking to record this information with a Visitor (1) or Session (2) scope. The code should look something similar to this:
_gaq.push([‘_setCustomVar’,
1, // This custom var is set to slot #1
‘Gender’, // The name of the custom variable
‘Female’, // The value of the custom variable
1 // Sets the scope to visitor-level.
]);
DISCLAIMER: The Google Analytics Terms of Use do not allow one to “track or collect personally identifiable information of Internet users” so please ensure that when you are collecting data that it is aggregated and not tied to a specific user.