Comments
bruce.armstrong wrote: Somebody just said it better than I did, and with more chops to say it: Open Letter to Mark Zuckerberg, Sheryl Sandberg & Facebook Mobile
Cloud Expo on Google News

SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
Tracking RIAs with Google Analytics and Unica NetInsight
"The Page View is Dead, Long Live the Page View!"

Judah Phillips' "Web Analytics Demystified" Blog

All this talk about 'the death of the page view,' 'AJAX,' 'rich media,' 'engagement,' and 'events" is enough to make even the most savvy Web analyst think twice about what we're measuring these days.  When you use Google Maps, the name of the page doesn't change. (So now you see where all that page view death conversation comes from.) 'Traditional' web analytics care about when the page name changes - they see that as an important event. Suddenly, that's changed.

It is true that with new client-side technologies, the page view is no longer the holiest of holy metrics anymore (personally I’ve always liked to see increases sessions and in “page views per unique visitor”). But the page view is far from dead. Rather the page view is evolving to become a type of “major” event in the Web 2.0 experience.

Now before I go on, let’s remember that I don’t take the word “event” lightly. Everything that happens on a web site is an event. You click, it’s an event. You fill in your name, that’s an event. Measuring events is the heart of web analytics – and with Rich Internet, that event becomes harder to measure.

So, let’s think of the page view as a “major” event. After all, for RSS consumers, an RSS “feed request” is just as important as a page view. The feed request is another “major event” providing our information-hungry audience with the content they need. In this “Event” paradigm, technologies like AJAX and rich media create “minor events” subordinate to the page view. These minor events could conceivably engage our visitors for longer durations (for example, the minor event of “play” on rich media video), thus maximizing opportunities for generating profitable revenue from a visit. And for maximizing our potential for analysis.

I’m hypothesizing that page views are major events in Web 2.0 and provide the context for understanding “minor events” created from widgets or AJAX or Flash or whatever.

In other words, in Web 2.0, it could be said: the page view is dead, long live the page view!

Google Analytics

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!

Next page: Measuring RIAs with Unica

About Judah Phillips
Judah Phillips is Director of Web Analytics for Reed Business Information. He is an experienced web analytics practitioner and Internet expert who thrives on all this technology stuff and music, food, wine, and art too. He is an active member of the Boston Internet and non-profit communities.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Interresting article. Where do you enable "events" in Google Analytics? http://code.google.com/apis/analytics/docs/eventTrackerOverview.html says it's only available to Beta participants.

A few days ago on my Wordpress Plugins site, I updated to Wordpress 2.04 (from 1.5.2) and switched to using UTW for tagging rather than Taggerati.

Taggerati and UTW have slightly different functionality. 2.04 is supported by both, but Taggerati isn't really being updated. I am going to miss a couple of the inline tags I could use when posting using a desktop application, but longterm support I hope is more likely with UTW.

I now have a partial implementation on the site, but I don't have all the pages tagged. I also don't have what was a key feature of the previous setup, a large tag cloud at the top of the page.

Total page views currently are down 75%, based on data over 5 days. There is a huge difference between 2000 page views and 400 over a 5 day period.

So there ARE web analytic in the RIA era, it's not the end of the world?


Your Feedback
Georges wrote: Interresting article. Where do you enable "events" in Google Analytics? http://code.google.com/apis/analytics/docs/eventTrackerOverview.html says it's only available to Beta participants.
andy beard wrote: A few days ago on my Wordpress Plugins site, I updated to Wordpress 2.04 (from 1.5.2) and switched to using UTW for tagging rather than Taggerati. Taggerati and UTW have slightly different functionality. 2.04 is supported by both, but Taggerati isn't really being updated. I am going to miss a couple of the inline tags I could use when posting using a desktop application, but longterm support I hope is more likely with UTW. I now have a partial implementation on the site, but I don't have all the pages tagged. I also don't have what was a key feature of the previous setup, a large tag cloud at the top of the page. Total page views currently are down 75%, based on data over 5 days. There is a huge difference between 2000 page views and 400 over a 5 day period.
streght44 wrote: So there ARE web analytic in the RIA era, it's not the end of the world?
Latest Cloud Developer Stories
Navigating the complex web of regulatory and compliance requirements related to the processing and storage of sensitive enterprise data in the cloud is a huge challenge for business. The cloud is borderless – so how do you cover your business risk and security requirements when y...
As a Bronze Sponsor of Cloud Expo New York, HP is offering special passes to SYS-CON's 10th International Cloud Expo, which will take place on June 11–14, 2012, at the Javits Center in New York City, New York. HP is a technology company that operates in more than 170 countries a...
The latest generation of cloud computing is now capable of addressing the needs of the enterprise mission-critical applications. These applications require computing infrastructure that is secure, optimizes performance, and is highly resilient. In his Opening Keynote at the 10t...
The convergence of cloud and mobile trends has created demanding new challenges for IT departments to support global users accessing applications from many different devices. In addition, as more mission-critical applications are deployed to the cloud, sensitive data must be prot...
As an exhibitor at Cloud Expo New York, AT&T is offering special passes to SYS-CON's 10th International Cloud Expo, which will take place on June 11–14, 2012, at the Javits Center in New York City, New York. AT&T Inc. is a premier communications holding company and one of the mo...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE