Web Analytics Demystified

Date Stamp Variable [SiteCatalyst]

Published by Adam Greco on December 5, 2011.

« Back to all posts Share, Save or Email

I was recently working with a client that had a unique situation arise. This client is well-versed in the usage of the Adobe Discover product and frequently takes advantage of its ability to segment by date. For those unfamiliar with this feature, you might use it to address the following scenario: “I’d like to build a segment of people who filled out a form in the third week of January 2011, but I want to see their behavior for the months of February, March and April.”  Here is how this segment could be built using Discover:

This functionality is cool since you can use it to limit your population to folks who took some action in a specific time period and then observe their subsequent behavior across a future time period. Another example might be the desire to see purchase behavior of people in Q4 who looked at products in Q3.

However, the challenge facing this client is that very few people in the organization had access to Discover so they wanted to have the ability to apply this date-based segmentation to their SiteCatalyst reports to which everyone had access (and take advantage of the new v15 segmentation capabilities).  I hadn’t thought about doing this in SiteCatalyst due to its segmentation limitations (see below), but after contemplating a bit, I came up with a cool trick that should allow SiteCatalyst users to take advantage of this Discover functionality.  If this is of interest to you, please read on…

Date Stamp Variable

In order to build a segment that crosses multiple visits, the obvious starting point is the Visitor container within SiteCatalyst’s Segmentation tool.  If you want to select a Visit in one time frame, but look at data for another time frame, you will need to use a Visitor container and nest a Visit container and/or Success Event container within it.  In the preceding example, we would want to create a Visitor container, but nest a Visit container within it in which the visitor had a Visit where a Form was completed in a specific week of the month of January. Sounds easy right?

Unfortunately, it isn’t as easy as you’d think, because there is no way to segment on a date or month within SiteCatalyst like you can in Discover. Therefore, the trick is to pass the date to a SiteCatalyst variable within each Visit.  I suggest you add one new eVar and one new sProp and set the date on every page. In addition, you can easily create a SAINT Classification for each date which rolls these dates up into weeks, months or years as needed.

Once we have set the date to a variable, let’s see an example of how we would create the aforementioned segment from within SiteCatalyst.  First, we grab the Visitor container, then we nest a Visit container and within that Visit, we nest a Form Completion Success Event.  To narrow down the Form Completion to a specific week in January, we can use our new Date Stamp variable (eVar or sProp version):

Of course, as I mentioned earlier, it may be easier to classify these variables and segment on them by week or month.  This process would be identical to the segment shown above, but instead, would use a Classification of the Date Stamp variable.  Here is an example of a SAINT Classification of the Date Stamp variable:

If you’ve read my past blog posts, you will soon realize that this trick is similar to the Time-Parting plug-in I described years ago. In fact, it is really just a variation on that, but without the time of the day.  However, limiting the values to just the date makes the data much more manageable and more easily classified.  The use of this, plus segmentation allows you to mimic what has been possible in Discover for a while so if you have lots of SiteCatalyst users, give this workaround a whirl…Enjoy!

About Adam Greco

Adam Greco is a longstanding member of the web analytics community who has consulted with hundreds of clients across every industry vertical. Mr. Greco began his web analytics career managing the website for the Chicago Mercantile Exchange, became one of the founders of the Omniture Consulting group, and was most recently Senior Director of Web Analytics at Salesforce.com.

Want to speak with Adam? Contact Web Analytics Demystified

Adam Greco Blog at Web Analytics Demystified

Posted Monday, December 5th, 2011 | 7 responses | Share, Save or Email


  • http://www.jan-exner.de/ Jan Exner

    I have worked with two customers in the last month who do this. You’re right, it is more manageable than TimeParting.

    On the other hand, I spoke with a guy who tried to run a cohort analysis on “people who come to the site because they had just watched a TV advert”. He didn’t have a vanity URL, so I suggested timestamping down to the minute, but only when ads were running.

  • JK

    Hi Adam – great post.  I had a similar question a few weeks ago and didn’t know how to answer it.  Once my client is on v15 this will be very useful.  Thanks.

    Qu – rather than specifying an actual date, is there any way to segment along the lines of a rolling date range?  Such as “last week”, “last month”, “between 30 and 60 days ago” etc?

  • http://adam.webanalyticsdemystified.com Adam Greco

    Jan-

    That is in next week’s post! Don’t spoil it ;-)

  • http://adam.webanalyticsdemystified.com Adam Greco

    I don’t know of a way to do rolling date ranges outside of using this concept combined with ReportBuilder.

  • Kevin Willeitner

    A few thoughts to add to the conversation…

    (1) To accurately answer the question first posed in the post you will need to layer the segment on a trended report. With the segment alone you would also be including January data. By using a trended report you will  be able to isolate down to the months that you are interested in and not confuse the January data with the months that have the follow-up activity you are interested.

    (2) The visit container in the screenshots above is unnecessary. You can put the Form Completes container right into the Visitor container. This is because the visitor has page views just as much as a visitor has visits that have page views. Having the visit container there doesn’t do any harm, however.

    (3) To create the actual timestamp I prefer a VISTA rule so that the timestamps match the days/hour of your report suite perfectly. If you use the timeparting plugin it pulls the time of the browser (which does have its uses if you want to match the users timezone). Keep in mind, though, that you may see some dirty data for visitor whose computer clock is not accurate or, because of timezone differences, their time doesn’t match the time of your report suite.

    (4) At the most granular, go down to a minute timestamp. Most likely you should just do the hour. I have seen some folks want to go down to seconds which creates too many unique values.

    (5) Other classifications that I have found useful are Day of Week, Hour of Day, Date, Weekday vs Weekend. The send and third are only useful/feasible if your timestamp goes down to the hour.

  • http://adam.webanalyticsdemystified.com Adam Greco

    Thanks for the additions Kevin!

  • Nick Homer

    Brilliant Adam!  I just recently started using an evar/prop for the same purpose (looking at offline metrics filtered by clickthrough date) but was hitting a wall when it came to filtering by large time periods.  Tossing in week, month, and year classifications on the date stamp took this from a messy solution to a very manageable process.  Thanks for the insight.

 
COPYRIGHT © 2011 WEB ANALYTICS DEMYSTIFIED, INC. ALL RIGHTS RESERVED. PRIVACY POLICY