Web Analytics Blogs

Judah Phillips is an experienced web analytics practitioner and Internet expert currently working as a Director at a large multichannel media company. His blog is full of useful, unbiased, actionable insights learned from the real-world practice of a process-oriented, integrated approach to strategic Web Analytics for improving business performance.

Subscribe to Judah Phillips weblog

Archive for January, 2008

Tracking Rich Internet Applications with Google Analytics

About a year ago, I wrote a guest blog post over on Robbin Steif’s blog about using Google Analytics for tracking Javascript and Flash events.  This weekend Jeremy Geelan, SVP over at Sys-Con Media, asked if he could republish the work.  Of course I said “yes.”  Then I noticed that a lot has happened to GA in a year (and more to come, ahem, API’s!).  What I had wrote was now incomplete, so what you’ll find below is my attempt to sum up “event tracking” using ga.js and the Great Google’s Event Tracking Data Model.  Let me know how I did covering it, and if you think I should clarify of expand on anything.

Since we all know about page tags, let’s get down to business with “the Google” and how it tracks “the Rich Media.”  Google Analytics currently has two different javascript page tags:

  • urchin.js.  The legacy version of the Google Analytics page tag.
  • ga.js.  The current, rebranded version of the Google Analytics page tag.

How you track rich media depends on which page tag you are using.  I’ll discuss using urchin.js first, then ga.js.  I’ll also provide some information about Google’s Event Tracking function for capturing specific “events” within their event architecture.

Tracking Rich Media using Urchin.js

In the legacy version of Google Analytics, the smarties at Google created a little JavaScript function called urchinTracker() that enables event tracking.  Use the JavaScript function with an argument specifying a name for the event. For example, the function:

javascript:urchinTracker(’/mysite/flashrichmedia/playbutton’); 

logs each occurrence of that Flash event as a page view of:

/mysite/flashrichmedia/playbutton

Some caveats:

  1. Always use a forward slash to begin the argument.
  2. Actual pages with these filenames do not need to exist.
  3. You can organize your events into any structure or hierarchy you want.

Important: Google says to place your tracking code “between the opening tag and the JavaScript call” if your pages include a call to urchinTracker(), utmLinker(), utmSetTrans(), or utmLinkPost(). For example, if the page view is the major event and the “play” event a minor event; then, your hierarchy would be Page View > Event, where the page contains an event, such that:

/mysite/ria_bittons/playbutton
/mysite/ria_bittons/pausebutton
/mysite/ria_bittons/playbutton
/mysite/ria_clips/clip

Some examples of the code (from Google Help):

on (release) {
// Track with no action
getURL(”javascript:urchinTracker(’/folder/file’);”);
}

This one above tracks when you click and release (although technically, it just notices the release) of a flash button (and records the file you specify as a page view).

on (release) {
//Track with action
getURL(”javascript:urchinTracker(’/folder/file’);”);
_root.gotoAndPlay(3);
myVar = “Flash Track Test”
}

The second one is the same, but by using a function, passing it a parameter, and identifying the instance you want to track, you can measure when your file was used in a specific scene in a little flash movie. So it is a more specific method for handling event tracking in Flash.

onClipEvent (enterFrame) {
getURL(”javascript:urchinTracker(’/folder/file’);”);
}

And the third one repeats the action throughout the movie so that each time the file is loaded, it gets tracked as an event. If you were to pass a unique file at the end of the movie, you could recognize it using this method (or the other methods) to know that the whole movie was watched (as long as your session doesn’t time out). Next, wait until Google updates your analytics, then check the Top Content report to see if it all worked. Now let’s discuss how to the exact same thing using the new trackPageview function released with ga.js.

Tracking Rich Media using ga.js

In the current version of Google Analytics, the brainiacs at Google created a little JavaScript function called trackPageview() that enables event tracking.  Use the JavaScript function with an argument specifying a name for the event.For example, the function:  

javascript:pageTracker._trackPageview (“/mysite/flashrichmedia/playbutton”);

logs each occurrence of that Flash event as a page view of:

/mysite/flashrichmedia/playbutton

Some caveats:

  1. Always use a forward slash to begin the argument and use quotes around the argument.
  2.  Actual pages with these filenames do not need to exist.
  3. You can organize your events into any structure or hierarchy

You must put calls to _get._getTracker and _initData above the call to _trackPageView.  For example, you would insert the following code:

<script type=”text/javascript”>
var pageTracker = _gat._getTracker(”UA-xxxxxx-x”);
pageTracker._initData();
pageTracker._trackPageview();
</script>

Here are some examples of the ga.js code (from Google Help) that replicate what I described above using the most recent code:

on (release) {
// Track with no action
getURL(”javascript:pageTracker._trackPageview(’/folder/file.html’);”);
}

This one above tracks when you click and release (although technically, it just notices the release) of a flash button (and records the file you specify as a page view).

on (release) {
//Track with action
getURL(”javascript:pageTracker._trackPageview(’/folder/file.html’);”);
_root.gotoAndPlay(3);
myVar = “Flash Track Test”;
}

The second one is the same, but by using a function, passing it a parameter, and identifying the instance you want to track, you can measure when your file was used in a specific scene in a little flash movie. So it is a more specific method for handling event tracking in Flash.

onClipEvent (enterFrame) {
getURL(”javascript:pageTracker._trackPageview(’/folder/file.html’);”);
}

And the third one repeats the action throughout the movie so that each time the file is loaded, it gets tracked as an event. If you were to pass a unique file at the end of the movie, you could recognize it using this method (or the other methods) to know that the whole movie was watched (as long as your session doesn’t time out).

Tracking Rich Media using Google Analytics Event Tracking

When Google released ga.js in fourth quarter 2007, Google also released a data model for tracking events.  It provides more flexibility and ease of customization than the methods I described above.   The data model makes use of:

  • Objects. These are named instances of the eventTracker class and appear within the reporting interface.

var videoTracker = pageTracker._createEventTracker(”Movies”);

  • Actions. A string you pass to an event tracker class instance as a parameter.

videoTracker._trackEvent(”Stop”);

  • Labels. An optional parameter you can supply for a named object.

downloadTracker._trackEvent(”Movies”, “/mymovies/movie1.mpg”);

  • Values. A numerical value assigned to a tracked object.

To set up event tracking you should:

1. Identify the events you want to track.
2. Create an event tracker instance for each set of events.
3. Call the _trackEvent() method on your page.
4. Enable “event tracking” in your profile.

To instantiate an event tracker object, you might do something like this:

var myEventObject = pageTracker._createEventTracker(”Object Name”);
myEventObject._trackEvent(”Required Action Name”, “Optional Label”, optionalValue);

createEventTracker() is order dependent and must be called after the main tracking code (ga.js) has been loaded.Next you would call the _trackEvent() method in your source code either on every page that contains the event or as part of the tracking code for every page:

_trackEvent(action, optional_label, optional_value)

If you wanted to track interaction with the Flash UI, such as the button on a Flash Video Player, you would create a videoTracker object with name “Video”:

var videoTracker = pageTracker._createEventTracker(’Video’);

Then, in your Flash code for the video player, you would call the videoTracker object and pass a value for the action and label for the event:

onRelease (button) { 
   ExternalInterface (”javascript:videoTracker._trackEvent(’Play’, ‘MyVideo’);”)
}

You could also use the ExternalInterface ActionScript function as an eval() function to parse FlashVars and attach them to every Flash UI element that needs a tracking action.  For example, the code below associates a Stop action for the Video object and retrieves the provided label and value from the FlashVars:

onRelease (button) { 
   ExternalInterface (”javascript:videoTracker._trackEvent(’Stop’” + label + “,” + value + “);”)
}

Adding event tracking code would generate event reports in the Content section of the Google Analytics Interface.  Pretty cool stuff, Google!

google-analytics-event-tracking.png

Web Analytics Report 2.0 is Out!

One of my favorite personalities in Web Analytics is Phil Kemelor - author of the Web Analytics Report.  Phil is also Vice President of Strategic Consulting Services at SEMphonic and an analyst at CMS Watch

I first encountered Phil in late 2006 when he called me up to discuss my take on the vendor landscape at that time.  We instantly hit it off because, like him, I seek truth, and have a lot of trouble believing vendor spin and hype.   We found each other’s insights “refreshing,” and we’ve kept in touch ever since, grabbing food together/swinging back a few beers/hanging out at conferences, chatting via email, and just generally staying in touch.

Fast forward to late 2007, early 2008, when I find out that Phil was revising his awesomely comprehensive Web Analytics Report and releasing the 2.0 version.  We’ll the time has come, and WAR 2.0 is out.  If you can swing the cost (it’s over $1000 US), I highly recommend purchasing it, especially if you are new to the industry and trying to make a vendor selection, or if you are old to the industry and want to get a solid sense of current vendor capabilities.

The 343-page report goes over all sort of juicy stuff - from beginner information about “what is web analytics” to concepts around the “web analytics business case” to deeper dives into “web analytics technology.”  It covers an abundance of useful information about data collection, data sampling, data exporting, dashboarding/reporting, segmentation, licensing, organizational requirements, and how to select a web analytics vendor.  He’s also done a good job, imho, discussing 15 different vendor tools, which shows you that the vendor landscape is a lot larger than just Google Analytics and Omniture - that’s for sure.

So if you have the $$$ to spend, check it out.  It’s an excellent addition to my analytics library.  Good work, Phil!

Web Analytics needs IT and the Business needs Web Analytics

I’ve been so busy folks, I’ve had no time to blog, so forgive me for my two week hiatus.   

The classic problem of “marketing versus IT” is real.  If you are lucky, you work with an excellent IT team (like me!), then this problem will be minimal if at all.  But in most cases, based on what I hear from my industry colleagues, the analytics team often has issues with IT resources being sufficiently delegated to supporting a web analytics implementation and program.

The classic problem goes something like this:

  1. Marketing:  We need advanced customizations, deep integrations, increased scalability, better performance, and more control overall over Web Analytics.
  2. IT: We don’t have resources, time, or budget to help you right now.  Fill out these forms and in the future maybe we can help.

In a nutshell, this is one of the reason why hosted solutions exist (SaaS, ASP, on-demand, whatever).  While it’s hard to do web analytics, it’s even harder to do it internally using actual software that you run.

Wouldn’t we prefer it to go something like this:

  1. Marketing: We need advanced customizations, deep integrations, increased scalability, better performance, and more control overall over Web Analytics.
  2. IT: Yes.  Can do.  Will do.  What do you need and when do you need them by?

My belief is that to “do web analytics” the right way, you need an allocation of IT resources to support your implementation and extend it to fulfill strategy and improve business performance.   After all, I firmly believe web analytics is for optimizing business performance, guiding strategy, and supporting tactical decisions.   And to do all that, you need resources when you need them.  The larger your site or portfolio of sites, the more resources you need.  It’s all pretty logical.  Getting back to IT, if you’re using a hosted solution, you need fewer IT resources.  The vendor takes care of a lot of IT stuff.  If you are running your analytics in-house, you need a team of IT resources because you will be doing it all yourself.  

I would prefer those technical resources report into Web Analytics, but I’m not sure if the general business world (as in non-Internet companies) sees the ROI of Web Analytics clearly enough to immediately delegate a full-time “mini IT” team to support analytics at phase zero (i.e. when you first get hired and plan the rollout).  And that’s why you need to be very wary of what vendors tell you about IT requirements and web analytics. 

If management expects that you just need to tag the pages and you the analyst can do that yourself, your company will be in for surprise.  It’s never that simple.  Smaller companies with one or a few sites that use the same technology may be able to pull off the solo cowboy analyst including tags and doing all the tech work.  Google has made that fairly easy.  But larger companies that have many sites and many different technologies serving those sites are a much different animal. 

My advice is that you can’t be fooled by vendor messaging that claims “you don’t need IT.”  That’s bull$4!+.  Marketers can’t do Web Analytics alone and in isolation.  You will need IT to help you extend your web analytics solution.   And as I’ve already stated, the level at which you need IT will vary on how you “do” web analytics.  It differs greatly if you are running an in-house proprietary solution, an internal vendor solution, or a hosted solution. 

If you are doing web analytics using a proprietary solution you created internally, you may probably then already understand what I mean when I say ”web analytics needs IT.”  Chances are you are using an OLAP-based solution that has huge BI infrastructure behind it and the cubes contain latent information.  Your data model may be limited compared to the major vendors.  Your tool may be overly complex, hard for business users to use, and limited in terms of features, or it may be the coolest thing since sliced bread, and the people who created it may know more than the vendors.  Still, unless resources are adequately delegated to support analytics and extending the implementation, your tool users and report consumers will make thousands of requests to IT, and they will go unfulfilled leading to user frustration.

If you are running an in-house software solution, such as that provided by Unica, WebTrends or Visual Sciences, you will rely on IT for all sorts of things, like hardware and software maintenance, database administration, network support, and will need to leverage help desk and ticketing systems.  In addition, web analytics projects become part of the IT project planning cycle with budget requests and consideration.

If you are having your web analytics tool hosted.  IT may be the ones who actually put the tags you field on your web site.  Modifications to any javascript may need to be done by IT.  You will need to reach out to IT for help with setting up cookies, changing the DNS, and writing any code that assists with web analytics.  “Change management” will be required. ;)

If a business wants to succeed with Web Analytics, it must determine how to effectively resource the implementation and ongoing extension of an analytics platform.  Here are some tips for ensuring you get the resources you need:

  • Factor web analytics resource needs into the capital budgeting and yearly planning process.  Business stakeholders must identify the IT resources they need in advance, and then align the IT team according to business goals.  Resources must be allocated according to financial guidelines that maintain corporate profitability. 
  • Document your web analytics projects and business requriements and share the documentation with IT.  Whether your web analytics projects are related to implementation, campaign optimization, data description, or integration, you need to share that information with IT so they can determine how to support analytics. 
  • Identify and document why you need IT resources.   In other words, identify and document what IT will be doing for web analytics and how their work is necessary for improving corporate performance.  On the business side, explain that you won’t be able to fulfill X business goal without IT resources.
  • Leverage a project manager.  Project managers are critical and important to cross-functional team success.  They focus work, align people, determine tasks, monitor completion, and allow a multifaceted team of business marketers and IT to do what they do without worrying about managing the project.
  • Share your analytics success with IT and let stakeholders know how IT has helped you.  Often times corporations forget that these very talented IT folks are working really hard behind the scenes, often without getting much (or any) credit for the complex work they do.  When you have an analytics success, share it with the folks that helped you tag the pages or configure your servers.  When people are singing your praises in the cafeteria because they now have the data they need to do their jobs and/or you’ve improved their business performance, let them know IT backed you up and helped you deliver.  There’s enough glory to go around.

If you do what I’m saying in this blogviation, the problem  of ”marketing versus IT” will be minimized.  IT will be able to keep up with all of your constantly-evolving business requirements and the dynamic, high-maintenance nature of your web analytics program.   And your marketing department, business stakeholders, and executive team will be very happy with the results. 

Anil Batra needs your help with a Bounce Rate Survey!

My friend Anil “Batman” Batra, over at ZeroDash1, created a new survey on “bounce rates.”  He’d really like you, good reader, to take the survey, and so would I.  It doesn’t take very long to complete.  I’m looking forward to him sharing the results, for free, with the entire industry. 

His survey can be found here: 

http://www.surveymonkey.com/s.aspx?sm=IFDf5Jtenl_2fsq_2fuwemHmJA_3d_3d

If you’ve never met Anil, he’s a wonderful dude who keeps up an awesome blog over at: http://webanalysis.blogspot.com.  I’m a regular reader of all his thought-provoking blogviations.  He batted 5 for 5 on his Web Analytics 2007 predictions, and has posted his predictions for 2008 too.  Check it out.  And thanks in advance for taking his survey!

Web Analytics Prognostications for 2008

What’s the future hold for Web Analytics in 2008?  Here are a few predictions:

  • Google Analytics releases a real API for getting (and perhaps setting) data.  As you know, I think GA is a fine tool for web analytics, but has severe limitations when you want to control over your data or to feed data into other systems.  Thus, I predict Google Analytics will go beyond the “Tracking API” and release a real API that allows you to at least get data out of the tool (if not set data as well).  Think of what Feedburner does with their REST-based Awareness API.  Wouldn’t that be nice to have with GA?!
  • HBX Analytics goes away.  I’d be more than a bit nervous if I were an HBX customer because Omniture is going to sunset HBX and migrate everyone to SiteCatalyst, then try to aggressively sell them the rest of the suite. 
  • Long live Visual Sciences.  VS is a powerful tool quite superior in some regards and very different than anything else Omniture offers.  It’s also real in-house software, not some blackbox.  VS’ extensible schema, flexibility in reporting, scalability, and performance is quite unparalleled in the industry.  I can’t envision Omniture killing it (unless they peel it apart in order to create Discover 3), like they will HBX. 
  • WebTrends rebrands.  I’m not sure if you agree, but imho WebTrends Marketing Lab was an attempt to rebrand WebTrends.  I expect that interim management will continue attempting to differentiate WebTrends by rebranding products and perhaps the entire company.
  • New and updated standards are released.  As a member of the IAB’s Measurement Council I can tell you that the IAB is getting ready to release the IAB Audience Measurement Reach Guidelines, which attempt to clarify and take a stand on various aspects of server/client-side analytics and audience measurement.  I also envision the WAA increasing the number of terms they define.  But standards are just dandy and quite meaningless unless they are adopted… thus…
  • Standards enforcement is attempted in order to propel adoption. Existing and forthcoming standards will be enforced in 2008.  Enforcement from the WAA will probably come in the form of a publication of a matrix or documentation citing which vendors adhere to the standards and to what degree, what’s missing, what’s different, and so on.  If decision-makers who control budgets believe in standards, this type of document will cause the question ”do you adhere?” to be asked.  If vendors start losing deals because the answer is “no, not at all,” vendors will adopt the standards. 
  • Internal data integration becomes more important for companies and problematic for ASP’s.  When we talk about “integration” I often think people can be a bit shortsighted.  They want to integrate data from other third-party services and tools (like Salesforce.com and their ad server).  While there is certainly real value in integrating external data with web analytics data, significant value comes from integrating web analytics with internal data, such as data residing in internally-hosted CRM systems, finance, subscription, and lead generation databases. Most vendors have barely figured out how to deal with detail-level external data integration in 2007, even though many customers are demanding it.  I expect that in 2008, internal data integration will be more commonly demanded and even more problematic for ASP’s. 
  • BI tools provide better support for and integration with Web Analytics tools.  The current allotment of “enterprise” level web analytics tools are inferior to the capabilities provided by business intelligence tools from companies like Business Objects or Cognos.  Expect these BI vendors to create features for dealing with web analytics data in 2008.  Either that, or these web analytics tools need to grow up and learn a few things from BI. 
  • Web Analytics as performance management.  KPI-based site optimization means using data to guide the modification of user experience to deliver on goals.   Since goals are measurable and can be plotted against performance, it’s totally logical to use web analytics as a performance management tool.  Expect to see that gestalt in tool usage come into vogue and be discussed more in 2008. 
  • Web Analytics as part of business process automation.  Having the marketing department fielding page tags with campaign codes may work for some (small) companies, but when you work for an enterprise with thousands of clients and simultaneous campaigns across multiple channels, endemic tagging and subsequent tool configuration becomes challeging.  As part of the web analytics process, I expect to see tools support some level of business process automation enabling web analytics.
  • Features for measuring the Mobile Web.  Right now, with a log file based tool, I can segment out Mobile traffic based on user agent.  If I want to use a page tag, I have to consider js limitations.  The mobile web is the next frontier, and I only know of one web analytics vendor who is doing a decent job measuring it right now, so I expect to see more features released this year for measuring Mobile.  

So that’s that.  Like a band named PIL once said in the song called Rise “I could be wrong, could be right!”  Am I off-base, misguided, accurate, do you disagree, agree, then let me know… I’d love to hear your thoughts and your predictions for Web Analytics 2008…

crystalball1.jpg