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 'Reporting'

« Previous Entries

AVG LinkScanner Obfuscates User Agent!

AVG has obfuscated their user agent.  One of the current agents for customers of their free and paid tool now cloaks itself as IE6:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

In addition to the easily detectable user agents:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;1813)
User Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;1813)  
User Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

This news is not good.  If you filter SV1 agent, you risk filtering legitimate traffic from the IE6 browser.  A few folks have commented to me that one should filter the user agent anyway, because 1) IE6 is in decline and 2) most IE6 users have .NET installed, which will show in the user agent.  Still filtering it makes me a little uneasy.

Is this the death toll for log file analysis and services provided by ABCe (since they can’t filter this user agent either)?  Maybe it is.  AVG is touting that agent lacks HTTP Accept-Encoding, which is just dandy, but that information isn’t normally captured in logs.

So the current situation is this:

  1. AVG has two user agents.  Both are filterable, but the SV1 agent is problematic to filter because you risk filtering legitimate traffic.
  2. Both agents in the current version request gifs in noscript tags, inflating counts in page tag implementations with noscript configurations.  AVG claims they will fix this issue.
  3. The bot uses”mad” bandwidth.  I’ve heard stories of bandwidth increasing 100x normal levels.  Some webmasters are serving dummy files to the recognizable user agents, some aren’t serving content to IE 6 browsers (crazy), and some are redirecting the bot back to AVG (thus inflating AVG’s bandwidth, LOL!).
  4. Evidence points to this bot NOT inflating clicks from paid search (i.e. PPC) and thus NOT committing click fraud.   But it doesn’t remain out of the realm of possibility that the scanner may be accessing an ad vendor click redirector and causing a click.  Not trying to spread FUD here, just making a point. 
  5. AVG is looking at option of checking either an external db (hosted by AVG) or a local cache to verify sites in SERP’s have been “scanned by AVG,” instead of repeatedly scanning sites every time they are listed in SERP, to reduce the bandwidth issue and minimize fraudulent entries in log files.
  6. AVG is thinking about enabling white listing of sites, so they are skipped by the scanner.
  7. AVG is thinking about exposing a meta-tag that instructs the scanner to ignore the site.

Good luck with this nasty bot!  Interestingly, here’s how you smurf a site with the AVG LinkScanner. 

Update on AVG LinkScanner

Here’s the deal.  AVG LinkScanner doesn’t execute javascript nor take cookies.  I had that confirmed by the Chief Research Officer at AVG, Roger Thompson. 

So why is the AVG user agent showing up in that data collected from certain page tag configurations?  The AVG LinkScanner currently requests gifs in noscript tags!

A best practice in web analytic’s page tag configuration is to use the noscript tag to serve the gif to non-javascript executing browsers.  Here’s some commonly seen (obscured) code for doing that:

<noscript>
<div><img alt=”foo” id=”bar” width=”1″ height=”1″ src=”http://
foo.bar.com/xyzab57yw10000s1s8g0boozt_9t1x/foo.gif?baruri=/
nojavascript&xy.js=No&xy.tv=1.2.3″ mce_src=”http://
foo.bar.com/xyzab57yw10000s1s8g0boozt_9t1x/foo.gif?baruri=/
nojavascript&xy.js=No&xy.tv=1.2.3″div>
</noscript>
<NOSCRIPT>
<IMG
src=”//foo.bar.com/xyz.gif?Log=1&URL=/javascript_disabled” mce_src=”//foo.bar.com/xyz.gif?Log=1&URL=/javascript_disabled”
BORDER=”0″ WIDTH=”1″ HEIGHT=”1″ />
</NOSCRIPT>
<noscript>
<img src=http://pt.foobar.com/images/xyz.gif?js=0” height=”1″
width=”1″
border=”0″ hspace=”0″ vspace=”0″ alt=”"> 

Thus, if you are using noscript tags in your page tag *and* someone with the AVG Linkscanner views a SERP (search engine results page)  from Google/Yahoo/MSN that lists your site, the traffic from the LinkScanner will be counted. 

Of course the simple solution to fix this problem is to exclude the user agent: 

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;1813)

If don’t have full control over your page tag based web analytics implementation (i.e. hosted), you need to verify that your vendor has excluded this agent.   And you should have them audit your data going back to April, and refund/credit you any money.  Good luck with that though! :)

How big is the problem?  Well, it depends! :)

The amount of AVG traffic will vary dramatically by site.  Your site must show up in the SERP’s on computers of visitors that have AVG LinkScanner installed, and you must be using noscript tags to serve the gif.

I’ve made AVG aware of this issue.  And frankly, they’ve been a fantastic company to work with, so I’m sticking with them (for now ;).  First they allowed me to join a private Google group to discuss my findings, both the Head of Global Communications and Chief Research Officer quickly responded to all my emails (good social media response), and their engineers are looking into this issue so that they can fix it…  That’s pretty impressive and quick response.  So cheers to them!

It’s worth mentioning that the LinkScanner isn’t _supposed_ to request images, so I do think this issue will get fixed.

Only time will tell whether or not AVG obfuscates the user agent so it looks just like a “normal” browser.  Let’s hope not! 

What I do find interesting is that I’m already hearing that an agent exists with the string (Mozillia/4.0 (compatible; MSIE 6.0; Windows NT 5.1;1813). Note the “ia” mispelling of Mozilla as incorrectly documented here.  And it accepts cookies.  So AVG’s agent is already being spoofed.  Not good, not good.

Some More Thinking about Key Performance Indicators for Web Analytics

Web Analytics Key Performance Indicators (KPI’s) are critical for breaking through the dataglut spewing forth from your web analytics tool.   I mean there’s a just a ton of data in web analytics, and the majority of it tends not to be very useful or applicable for improving your business performance.  While it’s wonderful to have a tool that lets you cut, cross, and slice loads of data every which way but loose, its can be a real challenge to frame the data or put it in context in a way that helps your business optimize the web site.   That’s why I like KPI’s - they identify meaningful, business-focused relationships in your analytics data.  By understanding KPI drivers, setting expectations for KPI performance, and analyzing your KPI’s toward defined goals for those KPI’s, you increase understanding of data, alleviate data confusion, and provide focus for the usage of your web analytics tool.

For those of you who don’t have a KPI strategy or who are just getting into analytics, an easy way to understand a KPI is to consider the example of when you are driving somewhere and trying to get there within a certain period of time.  If your goals is drive 60 miles (kilometers, my European friends) in exactly 60 minutes, you know that you need to drive 60 miles per hour (or KPH).  If you go faster, you will arrive early, if you go slower you won’t meet your goal and will arrive past your deadline.   So as you travel along the road, you measure the KPI of your speed. That’s what is important to measure on your trip.  Of course you may measure other KPI’s like the amount of fuel left or the miles you’ve traveled… those certainly may be KPI’s you measure.  But you definitely don’t need to measure you compression ratio or oil pressure even though it’s available data from your car.  In the same way, when you are looking at web analytics data, you don’t want to track everything, only those things that are important to your business performance toward goals. 

Several activities can assist the creation of KPI’s.  Here are a few of them:

  • Determine the Business Strategy.  Why is the company funding and developing an online mission?  What is the strategy?  KPI’s can help you figure out if it’s working.  To find the KPI’s that will help, the web analyst should be asking the question how can web analytics be used to formulate, implement and evaluate cross-functional decisions that will enable an organization to achieve objectives? How will web analytics be used in the process of specifying the organization’s objectives, developing policies and plans to achieve these objectives, and allocating resources to implement the policies and plans to achieve the organization’s objectives?
  • Define the Site’s Goals and why the Site ExistsI covered this in a post a few months ago.  A understanding of why your site exists enables you to effectively use online metrics.  You need to define the purpose of your site in order to create effective KPI’s.  Once you’ve defined your site’s purpose, you are positioned to examine Web data in way that helps you determine whether your site delivers on its purpose — does it exist effectively?   Create your KPI’s, identify goals for your KPI’s, and track your performance against those goals.
  • Recognize Value Drivers.  How does the business make money on the site? Monetization, in cases where profitability is important, influences what you should be measuring.  If you run a media site, you probably make money from content consumption (the recency and frequency of content consumption), conversation (social media, such as contributions or comments), and conversion (the rate at which people complete certain value driving actions, like signing up for newsletters, rss feed, webcasts, print subscriptions, or downloading certain content types, like white papers).  So you create goals for and measure KPI performance around those value drivers.
  • Map Organizational Roles.  Classify your organization into audiences for your KPI’s based what they do on your web site.  You may create KPI’s around function or action of the actors who receive your KPI reports.  Function defines the group that KPI’s are focused for, such as product development or editorial.  Action defines what those people do on the site to make it successful.  By understanding function and action of key actors on your sites, you gain insight into the type of data needed in KPI’s and the number of different KPI reports you may need to roll out.
  • Understand the Customer.  KPI’s purely focused on internal function and actions are important, they need to be customer focused.   If you think measuring conversion is important, while your customers tend to come to your site for informational or non-transactional purposes and then go elsewhere to convert, you may be disconnected from the reality of why your site exists.   Learn customer goals from VOC (voice of customer) data and by examining historic behavioral data of key segments.  Make sure you don’t create KPI’s that are vain or inane.  Instead create KPI’s that help you guide action internally so that your business meets the needs of your customers.

Framing your KPI development around the five bullet points I listed above will help you create KPI’s that assist your team in guiding business performance toward goals - while not forgetting to consider some of the core elements of online business: business strategy, site performance goals, value drivers, the human organization, and the customer. 

Now segment, segment, segment your KPI’s!

Thinking about Key Performance Indicators…

The infoglut in web analytics is enormous.  So much data.  Companies report that 69% of all people who consume the data don’t understand it.  How does a business go about making sense of it all?  Formulating a comprehensive KPI (Key Performance Indicator) strategy is a big part of differentiating signal from noise and directing appropriate tool usage.  We’ve all heard about KPI’s before.  They are ratios or derivatives of metrics that pinpoint critical, business relevant web performance.   My good friend, Eric, even wrote a book (a BIG one) about it. 

The process of moving an organization through KPI Change Management starts with a well formulated plan for doing so.  Here are some tips for formulating your KPI plan: 

  • Educate senior management and get managerial buy-in.  Education and buy-in can take shape via a number of methods.  Maybe you publish and circulate an internal-only white paper about the importance of KPI’s measurement.  Maybe you leave Eric’s book on the chair of your C-level executives.  Perhaps you hold a meeting and present the web site optimization process and how measurement via KPI’s provides the foundational informational on which to make site optimization decisions.  Perhaps you take your boss out to lunch and explain that basic reporting and tool access is helpful, but “Web analytics is hard” and that KPI’s give context to the data to staff that’s otherwise somewhat confused about what they pull for the tool.  You explain that KPI’s provide a focal point for centering analysis around business goals.  Whatever the method, the goal is managerial approval that “yes, you can do KPI’s.”
  • Determine the audience for the KPI’s and train them.The importance of KPI’s will vary by stakeholder, and your KPI strategy needs to take that into account. Different segments of stakeholders will be interested in specific KPI’s, and you must accommodate that need.  As an analyst, you should identify the functional roles and job responsibilities of the people who are going to receive KPI reports.   Everyone may not be the right choice (though it could be), and it may make sense to concentrate a KPI rollout on the needs of the few or it may make sense to “go broad.”  Follow up with comprehensive training about your KPI project and how KPI’s can most effectively be used.
  • Start with simple, well-qualified, highly relevant KPI’s.  While some folks with want to throw a “kitchen sink” strategy at KPI’s.  That’s a mistake.  If you report more than 5 to 10 KPI’s (imho) per stakeholding group you may end up with a set of unworkable, confusing, and neglected reports.  It’s better to report just a few, well qualified, highly relevant KPI’s.  How do you qualify them? By mapping KPI’s to important business objectives.  How do you know they are highly-relevant? Because you’ve compelled management to buy-in and to agree that they are critical indicators of site success. 
  • Elicit the business goals for the KPI’s, compare KPI’s to goals, and report associated variances (i.e. deviations). Make sure you have determined business performance goals for KPI’s.  Goals give context for performance. It’s that simple.  Without goals, you have no context for determining what’s good and what’s bad.  If your conversion rate KPI is 5%.  Great!  So what though?  If you know your goal is 3%.  Awesome job.  If you know your goal is 10%.  Stop reading now, and get back to work - you have much work cut out for you. 
  • Identify the frequency and format for reporting.  You need to determine a frequency that is timely and sustainable, and the format in which you present KPI reports needs to common enough that people can easily examine the data. Perhaps you deliver the reporting in Excel, make it available directly in your tool, use Xcellius, or create reports using a BI tool. 
  • Automate the delivery of the reporting.Without automation, you may put on the Report Monkey suit and enter Excel hell.  Critical to the successful rollout of any KPI reporting is an automation plan.  Do you email reports, put them in a shared directory, create a set of reports in the tool and provide access, or deliver them in weekly presentations?  The best choice is the option that gets people to use them, listen, and understand what you are trying to do with KPI’s.
  • Following the reporting up with analysis and guidance.  Depending on the size and scale or your organization and the resources you have to work with, it may not be possible to provide every stakeholder with detailed analysis.  But you need to do your best to follow up KPI reporting with true analysis and guidance.  Why are KPI’s going up or down?  What are the drivers of the changes? 
  • Segment, segment, segment. Site level KPI’s are helpful in understanding overall audience and customer behavior, but they hide important details.  When you slice a KPI by a specific segment, you will realize insights that help you conclude what action to take next.  Overall site repeat visit rate is 37%, but the repeat visit rate for customers who use your “product lookup tool” is 96%.  What does that data indicate about how you market the site, or about why people are coming to the site? 
  • Test, test, test.  As you measure > report > analyze > guide based on KPI’s you will undoubtedly determine actions to take on the site.  You should be testing the hypothesis behind these actions via controlled experimentation.   

There’s obviously a lot more to talk about here - from what constitutes a good KPI, to what types of KPI’s different stakeholders should examine, to what are the best KPI’s for particular site types and more.  I guess there’s more blog posts for that, but in the meantime I hope you’ve found this blogviation useful.  Let me know if you have any thoughts to share.

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 and Targeting: A Quick Blogviation

Targeting refers to the process of identifying characteristics of a segment so that relevant content may be matched to it and delivered at a time when the segment is most open to the message. The idea is the right content to the right visitor at the right time (optimally in real time). 

For example, you may visit a site, and see some type of ad unit calling out at you to “meet singles in <insert_your_city>.” When browsing real estate you may see ad units for realtors and mortgage companies.  After entering a keyword such as “car prices” and clickingthrough the SERP, you may see an ad for a local car dealer.   That’s targeting in a nutshell.  It’s simple: 

  1. Visitor X has these attributes. 
  2. We have content that we think will appeal to Vistor X’s attributes. 
  3. Let’s show that content. 

While targeting has helped to increase ad clickthrough rates, it’s far from an ideal science.  Current methods for targeting have inefficiencies.  What if Visitor X just bought a new car after his recent marriage?  Unless the targeting engine is made aware of the visitor’s current state, the targeting may be off and not yield desired results. 

Even with limitations around “current awareness” targeting is perceived in the Internet industry as a crucial activity for maximizing the effectiveness of advertising and content.  Targeting is the next stage after A/B and multivariate testing.  Once you determine the preference of segments based on testing, you identify content to target. 

In new media, targeting is something associated with paid search campaigning, ad serving, and content optimization.  It’s not uncommon for targeting activities to be based on:

  • Category and sub-category.  Conceptual constructs like “categories” of topics on a media web site or products on an ecommerce site can be targeted to include certain types of ads or messages.  The notion of a “zone” fits in here as well.  The idea is that if visitors are browsing in your category for “hardware floors” you could offer them an ad or content specific to “flooring installation services.” 
  • Geography.  Country, region, city, state, DMA are all targetable constructs.  You may choose target people surfing from 02141 (Cambridge, MA) an ad for pre-sale Red Sox tix or content about Mike Lowell’s recent contract.
  • Browsing environment such as the connection speed, type of browser, operating system, user software, domain, and ISP.  An ad network serves an ad for Verizon DSL to a modem-based surfer by detecting the visitor’s browsing environment.
  • Time.  The idea of only showing content during specific periods of time is called “parting.”  Common types include day-parting and season-parting.  For example, a B2B site only choosing to show ads for a particular manufacturers product during business hours – the site’s busiest time of day – would be an example of day parting.
  • Keyword.  There are many different types of keyword targeting.  Google does fantastic things with targeting ads based on the keywords in queries.  Content Management Systems can target content based on on-site search keywords or referring keywords.  “Keywords” may be associated as metadata with site sections or pages, similar to a zone or a category targeting on an ad server.  Once a page is associated with “keyword” metadata, you can tell your server to target that keyword (and all pages where it exists as metadata).  If two categories each with different content share a targetable keyword, I can target ads across both categories to pages tagged with that specific keyword.
  • Language.  When a language is set, you can target ads to visitors with that setting. Think Google.  Keep in mind that when you target by language, the creative copy is not translated. 
  • Demographics. If the ad server is aware of a segment’s demographics, such as age, gender, income, title, purchasing power, and so on, an ad can be targeted on that basis.  Sometimes this is called “profile targeting.”
  • Context.  Think of Google AdSense and how it matches ads based on the semantics in site content.  Now you understand content targeting based on context.
  • Profile.  Targeting is possible based on conclusions drawn and rules created from the known attributes (such as purchasing propensity) about and individual or segment.

Enter one of the holy grails of online advertising and new media: “behavioral targeting” – an advanced form of targeting. Behavioral targeting refers to the process in which content is shown to a visitor based on the web sites they visit (or have visited) and the actions they take on those sites.  

Behavioral targeting involves:

  1. Knowing where a visitor “comes from” and what they’ve done in the past. 
  2. Determining the context of the visitor on the site. 
  3. Detecting the visitor’s current behavior.
  4. Serving relevant content and/or ads matched to the behavior.

By understanding the visitor’s past history, current state, and most recent behavior the marketer can target content in order to influence some point in the customer buying cycle- often at the stages of awareness and consideration.

So where does web analytics come in?  You would think web analytics data from “web analytics” technology would provide the seed data for enabling “targeting.”  It can be but in most cases, targeting is a function provided by the ad server or network or another technology called the “behavioral targeting platform,” not the analytics tool… the data does not come directly from the web analytics tool.  I’d love to hear how well (or if at all) Omniture TouchClarity is integrated with Omniture Discover or other offerings. 

In order to make web analytics data useful for targeting (if you can at all), you will need to use your web analytics data to:

  1. Define segments to target (hard to export from web analytics tools)
  2. Feed those segments and associated behavioral data to another tool (achievable if you own your data and run a tool in-house.  Harder and more costly if not).
  3. Report on segment performance after targeting (that requires employing the right people and enabling them with the right tools)..
  4. Analyze segment performance after targeting (again employ the right people and enable them with the appropriate tools and resources).

While I’ve only covered a very little bit about “targeting” and even less about “behavioral targeting” in the context of web analytics, I hope that my simple description of current methods for targeting and some thinking about “what is BT” will help you understand the emerging ecosystem in which analytics tool are interoperating now and will interoperate in the future.

bt.bmp

Video Analytics? Thoughts on Web Analytics for Internet Video…

Measuring video content with web analytics isn’t super difficult, but it has its nuances and challenges.  I’ve been thinking a bit about it lately, and have had some good conversations with a few people.  Folks I know are playing around with the likes of Joost, Vuze, and Hulu, TVUNetworks, as well as using BrightCove and Videoegg.  And, man, the popularity of BitTorrent and other swarm structure 4th gen P2P networks is larger than ever.

Simply speaking video measurement can be divided into the following types:

  • Instream measurement.  Refers to measuring the video itself and the various abstract elements of the video experience, such as duration metrics (average viewing time) and interaction metrics (number of stops, plays, pauses, rewinds, fast forwards, and clicks on video content).
  • Outstream measurement.  Refers to measuring the content environment and user experience surrounding the video, such as the conversion metrics (percentage of visits downloading or viewing a video), behavioral metrics (referrers to the video page, players used), and content metrics (percentage videos per channel, percentage videos viewed by topic, percent videos viewed by file type). 

By categorizing the web video analytics into these two buckets, you are better able to answer meaningfully the following questions, which must be considered prior to any rollout:

  1. What are the business objectives for rolling out video features on the site?
  2. What format are the videos in?
  3. Are the videos downloads or streams?
  4. Am I using a content distribution network or streaming video network?
  5. Does my web analytics tool have the features necessary for video measurement? Or should I look for a third party, niche vendor?
  6. What data collection method should I use?
  7. Do I understand event models?
  8. What KPI’s are relevant and important based on my business goals?

To help you formulate answers to those questions, here’s some thinking:

  • Business objectives.  You, the analyst, must understand why your company is rolling out video.  In other words, what’s the goal and what strategy underpins the goal?  While video is “the rage” right now, simply rolling out video because “everyone is doing it” is no strategy (though doing so may yield a strategy ;).  A goal for video deployment could be “to generate leads,” thus you measure the scenario conversion rate for the funnel resulting in the lead generation and video download (outstream video analysis).  The objective might be “to keep visitors on the site longer,” then you would measure duration and interaction (instream video analysis).  As you all know, I firmly believe that it the business goal that allows you to contextualize what you’re measuring so that you may build KPI’s.
  • Video format. Lots of different video file types exist: mpegs, qt, mov, swf, flv, avi, wma, ra, wmf, mp4 and more.  You’ll need to identify the video types you want to track so you can configure your web analytics tool to measure them.  Removing or adding filters or changing your tag’s javascript might be necessary. 
  • Download or streams.  Videos can be downloaded (by right clicking) or spawned in a media player.  They can also exist embedded on the page or in another object for on-page streaming.  Thus, the way you instrument your pages will differ based on the way you present the video content. For example, if you are streaming videos, you may want to use javascript (or a vendor provided scripting language) to instrument your pages to track the video.  If you are just hosting downloads, you may simply want to run your logs to detect the number of times videos were downloaded.
  • Content distribution network or video network. If your video content is distributed by a CDN or a video network, you will have to apply page tags on all the pages rendered by combining your server’s content with the content served by the CDN. Some video networks provide basic reporting that you can extend with a client-side page tagging solution.  Alternatively, you can process the logs provided by a CDN. The challenge with CDN log file processing is that you will most likely not be able to merge the data with your log files for the same site, resulting in two “profiles” of analytics data related to one site: one profile with the site analytics data and one with the CDN analytics data.
  • Data collection method.  If you’ve read this far in my blogivation, you probably picked up that the data collection method you have at your disposal will constrain or enable the way you measure video.  Page tags will enable you to instrument your pages with onclick functions that pass values to the javascript and in turn to the analytics server.  Packet sniffers and log files enable you to measure downloads without modifying code.   If you need modify your web analytics tool or tag configuration to track video filetypes, you can reprocess logs to access the data.  With tags any data related to downloads or interactions with the video object prior to the config change will be lost.
  • Web analytics tool features. Many web analytics tools will allow you track a video play or download in your page view reports, but only two tools support true event models: Unica NetInsight and Google Analytics.  At Emetrics San Fran in May 2007, Ian Houston and I gave a preso on “from page views to events.”  It looks like the vendors agreed, ay? ;)
  • Third party tools.  With the convergence of internet and television, we’re not many years away from having a single-screen for viewing the internet, tv, and movies.  Many of us already connect our TV’s to our computers (Windows Media Server), use Slingbox, have had Tivo for years, use BitTorrent and perhaps even consume content from the sites I listed at the beginning of this post.  Companies like Visible MeasuresZango, VidMetrix, and Maven Networks already provide some flavor of a video measurement solution too.
  • Event models provide the conceptual and logical framework for measuring interactions that are subordinate, equal, or a replacements for the page view.  Without getting into much detail, “events” are interactions such as the play, stop, pause in a video stream, or the pan, zoom events in a online mapping experience.  In order to articulate the instream video experience, you should understand what an event model is and how it applies in Web Analytics 2.0.
  • KPI’s.Based on business goals resulting from site strategy, you can build KPI’s related to instream and outstream video measurement.  For example:

Instream:

  • Percentage high duration streams
  • Percentage medium duration streams
  • Percentage low duration streams
  • Average viewing time per stream/overall across all streams
  • Percentage visits who complete stream
  • Percentage visits that stop stream within 10 seconds
  • Percentage visits when this stream was the last video viewed
  • Percentage visits when this stream was the first video viewed

Outstream:

  • Conversion rates by video filetype, video topic, channel, taxonomy node, referrer, geography, keyword, and so on
  • Average streams per visit
  • Percent visits/views from different channels (such as email, organic search, paid search, direct, offline)
  • Average time since last stream/video downloads
  • Average time between stream/video downloads
  • Repeat visit rate for visits involving a stream/video download

The Internet has come a long way since I saw my first streaming video over 9 years ago (VIVO for those old timers out there).  The options for consuming video content over the web are growing everyday (and not at all limited to YouTube, ay?).  I firmly believe video on the Internet is still in its infancy, and video measurement technologies both inside and outside of “web analytics” are quite embryonic.  What a huge space for growth! 

As the internet-originated video becomes even more pervasive for home entertainment and for business communication, companies will need to employ analysts who know how to create frameworks measuring video content.  Do you? 

videosegmentation.png

Web Analytics as Performance Management and Optimization means defining Goals and KPI’s

A successful web analytics practice helps a business manage its performance toward goals.  If you believe the statement, then you understand that in order to manage for site performance, a web site must exist to support one or more goals.  Pretty logical, right?

Then why is that web analytics practitioners tell me they often encounter web site owners who have no clear, measurable goals?  It’s really strange.  In fact, it’s vexing and frustrating because without known goals you OBVIOUSLY can’t manage site performance.  Without goals you can’t really optimize anything and are left to simply tracking trends related to basic metrics and/or derivatives thereof.

Thus, one of the responsibilities of a web analyst is identifying and confirming site goals.  Once you have site goals, you can create KPI’s that you monitor on a regular basis investigating variances, anomalies, and outliers affecting site performance. 

Undoubtedly one of the goals you will identify for your site is some type of conversion.  A conversion is a value-generating transition on your site.  For example, the successful completion of a form that enables a visitor to download a content asset or completing the purchase of a product may be a type of conversion you measure. 

While overall site conversion rates for value-generating events are important to know, real insights come from segmenting visitors or other dimensions by conversion rates.  The best analytic tools enable you to identify the conversion event and slice the conversion by any dimension: page, geography, referrer, keywords and so on. Thus measures of conversion will be instrumental KPI’s when using analytics to manage performance. 

The notion of a “funnel” in web analytics is a sequence of one or more pages that a visitor clicks-through until reaching a final destination, the conversion event.  The “funnel” assists the analyst in understanding the discrete clickstream that led to conversion.  For example,  a pre-defined path through the pages in the subscription or download process could be considered a funnel.  Funnels can be linear and non-linear and are affected by all sorts of things like detours, fall out, abandonment… That’s a post for another topic…  Yet, the metaphor of the funnels is applicable across all sites…  This notion becomes problematic when we consider multichannel attribution of the conversion process (again another blog post when I have time).

So what’s an analyst do when they want to begin to use web analytics to manage performance against goals? Here’s are some tips:

  1. Investigate the business’ revenue model. Advertising-based sites generate revenue from selling various types of ad units (rpm/cpm), contextual advertising (rpm/cpc), lead generation programs (rpl/cpl), revenue sharing, and via affiliate syndication and content sharing deals.  Ecommerce sites generate revenue by selling products or brokering services or transactions.  How does your site generate revenue?  If the goal of the site isn’t to generate revenue, then skip this step.
  2. Ask key managers to identify business goals.  Top-level managers have a better grasp of the vast ecosystem of suppliers, buyers, and other priorities that you, the analyst, may not be privy to.  Your manager should be helping you put your analytics work in context of the business goals.  So ask your boss what are the site goals?  Don’t accept the answer “to drive revenue.”  Ask how the identified goals support value creation and revenue generation.  The measurement of events supporting business goals should be a focus for performance management and optimization. 
  3. Identify the conversion events that support businss goals and the revenue model, including any necessary steps in the funnel.   The actions that satisfy goals are the conversion events. The transition involved when the visitor clicks and makes the site money is your discrete conversion event. The page immediately preceding the conversion event is the last step in the funnel. 
  4. Determine the actors on the site.  Actors can be categorized into internal/external actors.  For this exercise, concentrate on identifying the roles and responsibilities of the internal actors who DIRECTLY influence site production.  In other words, who are people modifying the site and what do they do?  The indirect actors, like your boss, also affect the site, so make sure you consider their role and responsibility in advanced site goals and fulfilling the objectives of the business model. 
  5. Determine the goals of the actors.  Like site goals based on revenue, all indirect and direct site actors will have goals specific to their jobs.  Actor goals support site goals.  Thus, actor goals can be translated to tactical KPI’s.  For example, the editorial actor may want to ensure that X number of newsletter-referred visitors subscribe to the print magazine, so you create a KPI’s “subscription conversion rate by newsletter” and “number of online subscriptions generated per newsletter.”  Based on the site goals for conversion and the number of subscriptions generated from the online channel, you can start managing editorial performance.
  6. Document site goals, actor goals, conversion events, and funnels, including a diagram a hub-and-spoke model of actor roles and responsibilities and flow diagrams of funnels.  In order to establish a process for performance management via web analytics, all the actors must generally agree on roles and responsibilities.  By documenting your investigation, you confirm correctness, identify gaps in business process, and create alignment among actors and management.  You may notice breakpoints in site production processes too.  The end result is a fully-documented operational model of how your site is created, monetized, and deployed.  In the same way that you can’t manage what you don’t measure, you shouldn’t be measuring things you can’t manage.   
  7. Have key managers who direct site actors sign-off approval on the documentation.  The holy sign-off confirms you correctly identified the revenue model, site and actor goals, site navigational flows that lead to conversion.  When questions arise you can reference this process artifact to backup the conversion events you defined, the KPI’s you’ve created, and subsequently the performance recommendations you will make and manage.

Then:

  1. Configure your web analytics tool to report conversion rates for revenue-generating site transitions and events and to report on funnels.  All tools can do this. 
  2. Build KPI’s based on specific functional goals performed by actor’s on the site. Base KPI’s around activities that support the core revenue model and the activities performed by site actors.
  3. Review KPI’s with actors.  Bring your documentation and identify how the KPI’s will be used to identify performance, contextualize optimization recommendations, and help each actor be more successful at their job. 
  4. Report conversion rates and KPI’s to key managers and site actors.  Optimally these performance metrics should be available for actors and other stakeholders whenever they want them, preferably in the form of dashboards elicitable from your web analytics tool.  The goal should be identified, the target value for the goal, the KPI measurement,  and any deviation from the goal should be noted along with written performance recommendations.
  5. Research site performance by segmenting conversion rates and KPI’s and investigating drivers.  KPI’s provide context for understanding the actions that influence site performance.  Overall conversion rate will only tell you so much.  For example, to the SEO conversion by organic search referrer is more informative.  Other actors will require reports on segmented conversion specific to their function. 
  6. Make optimization recommendations.  Whether you deliver recommendations via reporting or manage the multivariate testing function at your company, you’ll need identify the events or actions to optimize.  Then you need to get buy-in from various gatekeeping actors.
  7. Test and implement optimizations.   Use a multivariate testing vendor to test combinations of content and creative that drive KPI’s and that provide lift in conversion.  Work with site actors to ensure optimization testing and controlled experimentation occurs.
  8. Rollout optimization that increase conversion, improve goals, and drive revenue.  Once you are reasonably certain the optimizations you are suggesting will improve performance work with the web or product development team to realize these changes.

Thus web analytics for performance management involves:

  • Goal Clarification.  Why does this site exists in the first place?  Don’t be surprised to learn different actors have different goals, and no one is aligned!  From what I hear on the street that’s a common issue!
  • Stakeholder Alignment.  Do all stakeholder and actors agree on the reasons why the site exists?  If not, be prepared to mediate.
  • Experience Optimization.  How is the visitor interacting with my site, and do those interactions channel visitors to conversion funnels?  Do relevant calls to action and points of resolution work for persuading visitors to convert.  What’s working?  What’s not?  Figure it out.
  • Controlled experimentation.  Based on potential optimizations available, what do you test?  Multivariate testing software can help, as can VOC research.  Talk to your research team.  Use the AB testing feature of your web analytics tool…  Whatever you do, you should establish a repeatable process for doing so. 
  • Outcomes measurement.  If you set up a KPI dashboard with goals, actual performance, and variances you will be able to answer that question “so I did all this stuff, so what effect did it have?”

Easy right? Now get to managing performance using web analytics! :)

sales_funnel.jpg