Wednesday, May 3, 2006

Custom Segmentation With Urchin 5

Custom segmentation is a powerful analytics technique that can provide you with valuable information about your site visitors. Google Analytics, and most popular analytics packages, provides some type of custom segmentation functionality. Unfortunately, Urchin 5 software does not allow you to segment your traffic based on a custom value. This has always bothered me. I know Urchin 5 architecture will support custom segmentation, so why they didn't include it?

During the past few days I've tried to implement custom segmentation functionality in Urchin 5. I've been using the custom reports architecture to create a number of reports that show visitation statistics based on custom segments. Overall, the implementation is quite good. You don't get the neat cross segmentation functionality available in Google Analytics, but you can identify which custom segments are visiting your site most, what they're looking at and their click paths. I should mention that you need a thorough understanding of Urchin 5's custom reporting functionality to make this work.

Here's a quick overview of how you can implement custom segmentation in Urchin 5:

1. The most recent version of __utm.js script contains the __utmSetVar() function. Use this function in your web pages to set a cookie that puts a site visitor in a custom segment. Instruction for using __utmSetVar() can be found on the Google Analytics Help Site.

2. Create a custom log format for your web server log file. The format should contain cookies. Within your custom log format create a custom field that holds the value of the __utmv cookie. This is an important step. The custom field will be used to create custom data maps in the next step.

3. Create a custom report utilizing the field that contains the custom segment value.

I know this is probably confusing to most people. But if you know how to customize Urchin 5 you should be able to do this. We continue to test this on our internal intranet.