Count Me Out: GA.JS Version

A while back I wrote a post called Count Me Out! that explained how to exclude Google Analytics data based on the custom segment value.

My previous post was based on the old, urchin.js tracking code, and a lot of people have been waiting for an update. It’s taken a while, but here it is.

I will mention that my favorite way to exclude traffic from Google Analytics is using an IP exclude filter. An IP based exclude filter is very accurate unless you having a changing IP. The method below works best if you have a dynamic or changing IP address.

Even if you’re not interested in this post, there is a fun ‘group activity’ below. Please try it!

The old version of this hack method required you to add a new page to your website. That page would set the GA custom segment cookie (named __utmv) on your computer.

This technique works fine, but who wants to add a new page to their site? It can be a pain.

I’ve simplified this technique by removing that page. You can enter the JavaScript directly into your browser.

Step 1: Set Custom Segment Cookie

Go to the site that you are tracking with Google Analytics and view a page.

Copy the code below and paste it into the location bar of your browser and click ‘enter’ on your keyboard.

You should see a message that says, “Custom segment has been set. Time to create a filter.”

Here’s a tip, you can bookmark this JS to make it easy to reset the cookie in the future. I set the cookie every time I fire up my browser.

Step 2: Create Exclude Filter

Next, create an exclude filter in Google Analytics to exclude the user defined segment (i.e. the cookie) you just created:

This filter will exclude anyone with a custom segment cookie with a value of ‘remove-me’.

Remember, cookies are specific to a browser and computer. If you use mulitple browsers or multiple computers you need to set the cookie using all the browsers on all the computers you use.

Having Some Fun With This!

You’ve probbaly figured out that you can set the custom segment cookie on anyone’s website as long as they’re using GA. This means that you can add data to their User Defined report. Let’s try this on my site!

Navigate to www.cutroni.com/blog and place the following code in the location bar of your browser after the page has loaded. Change FOO to whatever you want and press enter on your keyword. That’s it. You’re now in my data.

I’ll post some of the more popular and creative values in Twitter and maybe here at a later date.

Please try to keep it clean. I often review data with my 4 year old son :)

Thoughts on the Old Method

The old version of this technique uses a form to set the custom segment cookie which is pretty handy if you have a lot of people in remote locations that need to be excluded from the data. Just send all your coworkers, contractors, etc. a link to the page and ask them to set the cookie on their computer. It’s a little easier than asking them to paste JS into their browser.

If you’re interested in using this technique here is a new version of the page and the process.

Step 1: Create a new page on your site using the code below.

** Note ** The information below is in an iFrame. If you receive this post via email you may not see the contents.

Step 2: Go to the new page you just added, fill out the form, and click the ‘Create Cookie’ button. Keep track of the value you enter into the form, you need it for step 3.

Step 3: Finally, create an exclude filter in Google Analytics to exclude the value that you entered into the form. Remember, you need to use a regular expression for the filter field. So if you entered ‘remove-me’ in the form, enter ‘remove-me’ as the Filter Field.

That’s it. Sorry for the lame post, but I’m trying to update a lot of the old code and posts on the site.

Find Out When Your Campaigns Suck with GA Custom Reports

One thing that I like about Google Analytics custom reports is the ability to actually do analysis with this feature. Sure, custom reports is a great way to change how data is displayed (for the annoying manager that only wants to see visits), but the reporting framework also offers a great way to do quicker, relevant analysis. This is done through the segmentation feature.

One challenge that many people face when trying to use custom reports for analysis is determining what data relationships they should create in order to do segmentation.

An easy way to get started is to consider what you have control over. I like to segment by advertising parameters that I can change, like time of day. Why? I can make immediate improvements based on the data in these reports. Let’s take a look.

Google Analytics Custom Reports

You’ve all probably seen the custom reports interface. You can drag metrics and dimensions to create your own report. The columns are different metrics (counts, ratios, etc) and the rows are dimensions, which are the attributes of our visitors and the visits they create.

We can also create a drill down functionality by nesting multiple dimensions in the interface.

Creating the Report

Getting back to our example, let’s segment marketing campaigns by the time of day. Remember, I can run my ads at different times during the day using almost all online advertising tools. Nothing new here, this is called day parting.

Here are the settings for the custom report. Nothing crazy, just a column for visits and a column for conversion rate (in this case a conversion is a sale).

The Data

So this custom report will show all our campaigns and if I click on a campaign we’ll see data for the selected campaign at all hours of the day:

Here we can see the traffic and conversion rate for our chosen campaign at different hours of the day. 6.25% conversion rate at 16:00, not bad! [Website conversion rate is 2.1%]

Now check out this data:

I don’t know about you, but I don’t like paying for traffic that does not convert. Here we can see that traffic sucks from 02:00 – 06:00. We may want to curb our spending at these hours and move the spend to a different part of the day.

[I know, some of the traffic may be 'upper funnel' traffic that is just starting the buying process. But we could easily modify this report to drill down to the individual keywords driving to make that determination.]

I could also create a different visualization that starts with the medium/source dimension, then shows the hour of day, and finally campaign name. This report would be useful if we wanted to look ‘across’ all paid traffic, regardless of campaign, but still retain the ability to drill down to the campaign level.

So here we have some really actionable info. If you’re looking to save some money you may want to see how well your time-based advertising performing at different times of the day.

Twitter and Google Analytics: What to Track

A couple of weeks ago I decided to start Twittering. I’ve had a Twitter account for a while, but never really got into it. But after observing some friends for a while, and reading up on how others use Twitter, I started to see some value in the service.

One thing I’ve noticed is the amount of promotion done with Twitter. Whether it be self promotion, like me promoting a blog post, or corporate promotion, like a sale, people are driving traffic to websites using tweets (posts on Twitter). Check out how CNN is driving traffic to their Political Ticker blog using Twitter.

Here’s another great example that was mentioned on the GokDotCom blog. Bryan Eisenberg found a t-shirt coupon posted as a tweet and passed the information on to his coworkers. Here’s the original tweet that Bryan read and sent on via email (I assume he used email):

Who wants a FREE $50 gift code? Here it is: TLTW7897 First come, first serve – and all tees are ON SALE FOR $12!! http://tinyurl.com/yqe9f

This got me thinking, how are people tracking Twitter as a marketing activity using Google Analytics?

Default Tracking Method

By default, traffic from Twitter will be tracked as referral traffic in Google Analytics. if someone clicks on a link to your site from a tweet you will see ‘www.twitter.com’ in the Referrals report.

This data will give you a basic idea of how much traffic your tweets are generating. It’s good, but there is an issue.

What happens if your tweet gets passed along to others, as it did in Bryan’s case? Bryan’s co-workers never clicked on a link at twitter.com, they received a link in an email. How can we identify these visitors as coming from Twitter and not an email?

Preferred Tracking Method

A better way to track a Twitter campaign would be to use GA’s campaign tracking feature. This method will track anyone visiting the site as a result of your tweet, regardless of where they clicked on the URL. It doesn’t matter if it’s in an email client, hosted email app. etc.

Here’s how to make it happen.

Most tweets that include a URL use some type of URL shortening service, like Tinyurl.com. This service shortens a URL by creating a redirect that is hosted on www.tinyurl.com.

The cool thing about Tiny URL is you can add GA’s campaign tracking parameters to your Tiny URL, thus encoding campaign info into the URL you use in your tweet. When someone forwards your tweet using email the tiny URL will contain campaign info identifying the visitor’s source as your Twitter campaign.

This is the secret to tracking tweets with GA: adding campaign information to your tiny URL.

Here’s an example. Here’s a tweet that I posted with a link to this blog:

Help me test tracking Twitter with Google Analytics: Please click on this link http://tinyurl.com/5eyfjo

I added GA campaign parameters to the Tiny URL in the tweet above. If you click the tiny URL in my tweet you get this URL:

http://www.cutroni.com/blog/?utm_campaign=blog&
utm_source=twitter&utm_medium=micro-blog

The campaign information in the URL will bucket the visitor as part of the blog campaign and as someone who was reached by the ‘micro-blogging’ medium. Here’s how the data looks in the All Traffic Sources report:

There it is in all its glory. But let’s dig deeper. I’m really interested in knowing how people are using Twitter. Are they on their mobile (like me) or PC? This can have a big impact on how they interact with my tweet. Let’s segment the tweet by OS:

7 of 25 users are on the iPhone, interesting. I know that I’m an iPhone user and it’s one of the only reasons I twitter. It’s just easy on the iPhone! :)

So if you’re using Twitter to drive traffic to a site:

1. Always use a Tiny URL
2. Always add Google Analytics campaign tracking information to your Tiny URL

If you’re unfamiliar with campaign tracking you may want to check out these posts:

Google Analytics Campaign Tracking Pt. 0: An Overview
Google Analytics Campaign Tracking Pt. 1: Link Tagging
Google Analytics Campaign Tracking Pt. 2: The EpikOne Link Tagging Tool

Update: You can use a number of URL shortening services such as TwwetBurner and SnipURL. Both of these services also provide some basic reports on the number of clicks your shortened URLs generate.

Good luck!

Three GA Changes that Predict the Future

The Future of Google Analytics
There has been a modest buzz this week over some leaked screen shots of the Google AdSense integration into Google Analytics. I don’t think this addition is a surprise to anyone, but it is very exciting to see Google pulling more data into GA. As I’ve said in the past, it’s only a matter of time before Google includes data from its various apps into GA.

But over the past few weeks Google has rolled out a few other subtle changes to GA that may indicate changes and future enhancements.

1. Easier Login

There’s a new button to log into GA! Awesome, a new BUTTON! Woo Hoo!

Just kidding, while there is a new button, the real benefit is some added functionality that makes it easier for all of us that are in and out of GA on an hourly basis to access into GA.

You will now remain logged into GA even if you navigate away from GA or close your browser, just like you do when using GMail.

This is not a major deal, but I think it ties GA closer to other Google services. Combined with the layout and access changes to Website Optimizer (which is now organized more like GA), I think it moves us one step closer to the Google Business Platform. The same functionality already exists for Google AdPlanner, Google Insight for Search, etc. How long before all these tools are linked together?

2. Revamped Profile List

Google recently added website domain to the list of profiles that appears when you first log in:

Google Analytics proifle list.

While this change may not seem like a big deal, I think it signals a shift in the way that we think about profiles. For a long time I’ve been stressing that profiles are not websites, they are segments of traffic. That’s why we can, and should, create lots of profiles for a single website. This change facilitates that line of thought.

Changing the profile list to include the website URL makes it easier for us to name profiles something more descriptive, like ‘Segment: New Visitors’ or ‘Segment: CPC’. The addition of the domain simplifies profile naming and promotes the use of profiles as segments.

Could this have something to do with segmentation of data or might profiles fundamentally change? I’m not sure, but I know that it’s now a lot easier to organize all of the various profiles that we create for clients.

3. Bye, Bye Segments, Hello Dimensions!

This one came as a complete surprise to me. Google changed the ‘Segment’ drop down to a ‘Dimension’ drop down. The options in the drop down have not changed, and the functionality remains the same.

Does this mean we’ll be doing ‘di-mentation’ rather than ‘seg-mentation’? HA!

Google Analytics Dimension drop down box.

Not only did they change the name from Segment to Dimension, but they also changed the location of the drop down. It moved from above the data table to within the data table. This reinforces that we need to start thinking in terms of Dimensions rather than Segments.

Now the important question, why this change?

I’m not sure. But I think this is a pretty big deal. I think this has something to do with the way that we segment data in GA. Given the change to the profile list, maybe segmentation will change into some type of ‘profile mashup’ tool, where you can mix data from different profiles into a single profile in order to do segmentation.

Who knows what will happen, but it’s Friday and I’m having fun with this.

What do you think these changes indicate?

“Enterprise” Google Analytics

Is Google Analytics an “enterprise” class analytics solution? That’s debatable, and in fact, it has already been debated.

In my opinion, it depends. It depends on your analytics needs.

We’ve worked with plenty of “enterprise” class organizations that were new to web analytics. They had very simple needs and GA met most of them easily. We’ve also told companies that GA is not right for them because it did not fit their core needs.

Your organization may be different. You may need a tool that integrates with ODBC data sources, something that GA doesn’t do very well. If that’s the case then you might need to go with a different tool. But again, it all depends.

Google Analytics Enterprise-ness

But the point of this post is not to debate GA’s “enterpise-y-ness”, but to address some of the common issues that we usually see during an enterprise installation.

Issue #1. Tracking All Sites Logically

Major League Baseball

Large organizations tend to have more sites, and more sites mean more data. Collecting the data in an organized fashion, that allows room for growth and appropriate access for users, takes time and planing.

During an enterprise implementation we usually create a series of accounts and profiles that segments the data based on business logic and access needs. We create a data hierarchy that provides high level aggregate tracking across the entire online experience (i.e. roll-up reporting) and detailed tracking for each individual property.

Let’s consider the websites for Major League Baseball. Each team has their own site located on a subdomain. There is also an MLB store and different micro sites dedicated to things like the All Star Game and the World Series.

Lots of content on many different sites. While the exact implementation solution will depend on their specific needs, it probably involves collecting all the data in a single profile for roll-up reporting and then creating profiles for each team and micros site for detailed reporting.

Issue #2. Unique Visitors

Tracking lots of domains usually leads to an issue with unique visitor tracking. GA uses a first party cookie to identify each visitor. This means that if a visitor visits 3 different domains they will receive 3 different cookies and appear as three different unique visitors.

Now, I know GA has a cross domain tracking feature. But what happens if an enterprise wants to know the unique visitor count across 50 web properties? Installing cross domain tracking on that scale is a huge task. In fact, it’s a pain in the ass.

Many of the clients that I’ve worked with have compromised and ignored unique visitor tracking.

You may be different. Unique visitors may the one critical metric that you can’t live without. Could you use GA? Maybe, but you should carefully weigh the implementation needs vs. your analysis needs.

Unique Visitors are Unique!

Issue #3: Page Tagging

When I first started working with GA I never thought that tagging pages would be an issue, but it is. It’s not so much a technical issue as it is an organizational issue. Big companies can have so many sites with some many nooks and crannies. It can take a lot of work to identify every site, find an owner and then get the tags placed in the appropriate place.

And let’s not forget non-HTML pages. Tracking non-HTML content with Google Analytics can be a huge challenge. You can’t slap a JavaScript Tag on a PDF. When we work with large organizations we usually help then develop an automated click tracking script. This takes more time and more effort and doesn’t always work (usually due to page rendering delays).

Issue #4. URL Structure

URL Structures can be manually created using Google Analytics.

This is probably one of the most difficult challenges we face when working with large sites that have hundreds of thousands of pages. GA will only track 50,000 unique URLs per day. While this is completely adequate for most sites “enterprise” sites can exceed this limit, especially if the site is content based (think about a some of today’s largest community sites, they have forums, blogs, and tons of user generated content).

What happens when you fill GA with 50k unique URLs in a day? You start to see ‘(other)’ in your content reports and you can no longer identify which pages visitors are viewing on your site.

To resolve this issue we usually need to create some type of bucketing strategy to ‘roll up’ pageview data into different content categories. This is normally done by matching requested URL patterns at the server level, and then generating a ‘virtual’ pageview in GA.

Sometimes we segment the data into different profiles, thus giving us more ‘buckets’ to store the data.

Again, the exact solution depends on many different factors, but this issue can be mitigated with some effort.

Issue #5. Campaign Tracking

This is a problem for everyone! I find very few clients whoa are diligent about tracking their marketing campaigns using link tagging. A general rule of thumb, the bigger the client the more challenging it is to track all online campaigns. Why?

Big organizations have different people running different campaigns. Many times they’re using one or more agencies to help run their campaigns. Getting everyone to use a cohesive link tagging strategy is a lot of work due to the sheer number of people that are involved. This is more of a training/process issue rather than a technical issue.

Wrapping Up

If you’re an enterprise organization, or consider yourself an enterprise organization, don’t discount GA without taking a hard look at your real analytics experience and your needs. GA might just work for you.

If you do decide to use GA don’t expect to slap the tags on your site and finish the configuration in a week. Like every tool out there, it takes time and planning to get things right.

Do you have experience with GA in a large, “enterprise” environment? Leave a comment and share your thoughts.

Tracking YouTube Videos with Google Analytics

A while back, Google Analytics and YouTube introduced YouTube Insight, a tool to provide more information about the people viewing your videos on www.youtube.com. It’s pretty cool stuff and if you’re posting videos to YouTube it provides a lot of great information.

YouTube Insight: Information about those viewing your videos on www.youtube.com.

But what about YouTube videos that are embedded in a site? What’s the best way to measure interactions with these videos? You could use some basic metrics like Avg. Time on Page and Avg. Time on Site, but they’re averages and, well, averages suck. Fear not, there is a better way.

We can track almost every aspect of an embedded YouTube video using Event Tracking, a Google Analytics beta feature.

CHROME

There is one catch. In order to track an embedded YouTube video you must use the ‘chromeless’ YouTube player. A chromeless video player has no controls which means you must create all of the controls yourself. This results in a fair amount of coding.

Why do we have to use the chromeless player? The chromeless player let’s us add JavaScript code (i.e. GA Event tracking code) to user actions, thus giving us the ability to capture visitor actions as events. I’ll do my best to walk you through all of the code.

You can read more about the chromeless YouTube player on the YouTube developer site.

Let’s get started.

Event Data Model

Before we look at any code let’s talk about data and analysis. One of the keys to any successful event tracking implementation is a clear definition of the data we want to collect. Remember, event tracking is really a flexible data collection tool. We need to explicitly define the data we want to collect.

I want to track three primary things related to the embedded video:

1. Which video does the visitor choose to watch?
2. How do they interact with the video player (i.e how do they use the controls)?
3. How much time do they spend watching each video?

Now let’s translate these needs into the Google Analytics Event model which consists of Objects, Actions, Labels and Values.

Objects

The object is the part of the page that we want to track. Defining the object in this case is pretty simple: we want to track the YouTube video player, so we’ll create one object and call it “YouTube Video Player”. The object will literally be created in the code and I’ll explain how later.

Actions

Actions are the interactions that the visitor exerts on the object. What we want to track, and what we can track, really depend on what interactions we can capture. In this example, the actions we can capture are directly related to the chromeless YouTube player and what it ‘bubbles up’ for visitor interactions.

Based on the chromeless player, and the data needs we have defined, here are the actions that we are going to track:

  • Player Loaded: Indicates the YouTube player has loaded. No video has been loaded into the player, but the player is ready for a video.
  • Video Started: Indicates the user has chosen a video and it has started playing in the player.
  • Play: User has restart the video after it has been paused.
  • Pause: Video has been paused.
  • Mute: Video has been muted.
  • Unmute: Video has been unmuted.
  • Error: An error has occurred.
  • Ended: Selected video has ended, either intentionally or on purpose by the visitor.
  • Get Embed Code: Request HTML code to embed the video in a site.
  • Get Video URL: Request YouTube URL for the current video.

Like the object, actions are actually created in the code and we’ll see how later.

There are other things that we can track, but I’ve decided to limit it to the above list. Why? I don’t think there is a lot of insight that can be gained from some of the other information that is available to us. Plus the above actions will cover the data needs we’ve defined.

Google Analytics Event Labels.

Labels

Labels are the content of the object. In the case of most video player object, the label will be the name of the video playing. In this example you can choose three potential videos from a drop down box. The name of the video will become the label that is tracked in Google Analytics.

  • Apollo 11 Launch
  • About the YouTube API
  • Phish – Weekapaug Groove
  • Authors@Google: Avinash Kaushik

Values

This is where things can get a bit unique. The value collected by GA’s Event tracking is just a plain integer. All values associated with actions are summed and averaged. So we can’t mix different types of data, like monetary values (which may be in dollars) and time (which may be in seconds). For this example, we’re going to track time, so the values will be in seconds and will represent the total time that each video played.

I’m only going to associate a value with a single actions: Ended. When a video ends we’re going to record the total number of seconds played for that video.

The Example

Now that we’ve created the data model for tracking a YouTube player, we need to create a YouTube player to track. :) Remember we can only access visitor actions when we use the chromeless YouTube player.

Here’s a simple page that I created using the chromeless player and Google Analytics Event Tracking.

If the above iFrame is not visible, you can view the entire code here.

For those interested, this test page is actually a modification of the YouTube API example.

To start the tracking, select a video from the drop down and it will start playing. Then experiment with some of the controls. All actions that we defined in our event model will be tracked.

If you want to change videos just choose a new video from the drop down box.

I don’t want to go over too much of the code, but here’s the JavaScript behind the tracking.

If the above iFrame is not visible, you can view the entire code here.

A majority of the code is not Google Analytics code, but rather YouTube player code. What I’ve done is added the Event Tracking code in the appropriate places to capture the visitor interactions. Setting up the event tracking code is really pretty simple.

The first thing I did was create the Object, which is called ‘YouTube Video Player’. I created the object in the main GA page tag.

<script type='text/javascript'>
var pageTracker = _gat._getTracker("UA-XXXXXXX-X");
pageTracker._initData();
pageTracker._trackPageview();

// Create the event tracking object
var ytpEventTracker =
pageTracker._createEventTracker("YouTube Video Player");
var eventLabel;
</script>

After creating the object I added the _trackEvent() method wherever I want to capture a visitor action, like Play or Pause. Here’s how I capture the Play action:

function play() {
  if (ytplayer) {
    ytplayer.playVideo();
    ytpEventTracker._trackEvent("Play",eventLabel);
  }
}

Most of the Play code is actually YouTube code. The only GA specific code is ytpEventTracker._trackEvent("Play",eventLabel);.

We pass three values to _trackEvent(). The first is the name of the action and this value will appear in the GA Actions report. The second value is the lable value which will appear in the Labels report. I should note that eventLabel is the name of the video (per the data model) that is currently playing when the visitor clicks on Play.

The final value, which is not shown above, is the value value. In this example, the value is the total number of seconds played. This is only recorded for the Ended action.

If you look at the example code, all I really did was add ytpEventTracker._trackEvent() to all the actions that I wanted to track.

The Results

Enough with all the techno-mumbo-jumbo. Let’s look at some of the data starting at the top of our hierarchy: the Object report.

Google Analytics Object report.

Noting too exciting here. We’re only tracking a single object here, hence the one line of data. The data can be a little confusing. The total number of events is really the total number of actions that occurred. The number of unique events is the number of visits that included an event.

But let’s dig a bit deeper. Let’s see which video was most popular by viewing the labels associated with the YouTube Video Player object. All I need to do is click on the Object name to view the associate labels and actions, and then choose ‘Labels’ using the Detail Level link above the table tabs.

Google Analytics Label report.

Here we can see that ‘Phish-Weekapaug Groove’ was the most popular video, when based on time. It had a higher total value than the other videos. Sorry Avinash. :)

One thing to notice is that measuring the popularity of each video based on Events is not correct. Just because a label has the most actions does not mean that it is the most popular.

Remember, an action can occur ever time a visitor interacts with the player. In this example it would be more accurate to judge popularity based on time.

Now let’s see how people interacted with the most popular video. What actions did visitors perform when ‘Phish-Weekapaug Groove’ was playing?

All I need to do is click on the label name to see the actions associated with the label.

Google Analytis Action report.

Cool, here we can see that the video was started 32 times, but only completed 12 times. It was viewed a total of 1775 seconds but only an average of 143 seconds.

What does it all mean? I know that the Phish video is 179 seconds long. So, on average, visitors viewed 80% of it. I can also tell, by the number of unique events, that the Phish video was viewed multiple times in the same visit. It must be pretty popular.

I also want to point out that we can view the data in other ways. We can navigate directly to the Actions report to see a list of all the actions, regardless of the object or label they are associated with. This is a great way to get a feel for the most commonly used features of our YouTube player.

Google Analytics Actions report.

Conclusion

So was this really worth it? Sure, I think so. I wanted to create a real life example that demonstrates some of the ways to use Event Tracking. I also wanted to use YouTube as an example because so may people use it as a platform to distribute video.

While it may seem like a lot of work to track video and other web 2.0 technologies it is vital. If you’re spending money producing videos, or if you’re selling video ad space, you need to know how people interact with your player and content. It’s the perfect use for Event Tracking.

Tying clicks & content to conversion in GA

Many site owners spend a lot of time creating content that is supposed to drive conversions. But what’s the best way to measure the performance of this content with Google Analytics? How can we measure a specific piece of content, be it a page or a piece of creative, and it effect on conversions?

Google Analytics has a metric called $Index to help measure the “value” of site pages. But the problem with $Index is that it is an average, and averages can be skewed very easily. $Index is about the performance of a page, not the content on a page. Also, many people want to know how many times a piece of content directly led to a conversion. We just can’t get that with $Index.

We could view this type of analysis as a navigation analysis. Google Analytics has the All Navigation report and the Initial Navigation report, but these reports track things that happen in under 3 clicks and not everyone converts in 3 clicks.

Rather than tackle this problem using navigational analysis, let’s consider it a content challenge. What we want to do is see if a specific piece of content ultimately lead to conversion.

Google Analytics site overlay report.

Given this approach we could use the Site Overlay report, which is supposed to show the performance of each link on a page. But, in my experience, the Site Overlay report is buggy at best (and I’m being nice).

We need is a way to link a piece of content, i.e. a pageview, to a conversion. There’s a very simple way to do this using the Funnel Visualization report.

The Concept

Each funnel has a ‘required step’ setting. When enabled, this setting requires that the visitor views the first step in the funnel prior to conversion. If the visitor does not see the first step then the Funnel Visualization report will not count a conversion. The conversion will still be recorded in all other reports, but not the Funnel Visualization report.

What few people know is that it does not matter when the ‘required step’ is viewed, as long as it is viewed prior to the conversion.

We’re going to use this setting to associate a conversion with the content we want to evaluate.

Example

Let’s say I want to track how many people view the About Me page on this blog before subscribing to my RSS feed. I can create a goal and funnel that links the About Me pageview to the RSS subscription goal.

Step 1: Set up the goal

The first step is to create the goal. Just set up the goal like any other normal goal. Identify the goal URL, give the goal a name and a value (if you so desire).

Google Analytics goal settings

Step 2: Identify the “required step”

Now let’s turn to the funnel. Remember, step 1 in the funnel, the ‘required step’, is really the piece of content (i.e. the pageview) we want to evaluate in terms of conversions. Simply add the page URL to the Step 1 URL field, give the step a name, and check the “required step” checkbox.

Google Analytics funnel settings.

That’s it! There’s nothing else to do. The funnel visualization report, for this specific funnel, will only show a conversion if the visitor views the About Me page at some point prior to conversion. GA doesn’t care when the visitor sees the page, as long as they see the page prior to conversion.

The Data

Here’s a sample Funnel report. We can see that 4 conversions occurred after viewing the about me page. Remember, it does not matter when the About Me page was viewed, as long as it was viewed prior to conversion.

Google Analytics funnel visualization report.

Now, if we compare the number of conversions in the Funnel Visualization report, to the overall number of conversions for this goal, we notice there is a difference.

Google Analytics goal conversions.

The difference is the number of visits that did not include the About Me page prior to subscribing to the RSS feed. There were 8 total RSS Subscription conversions, but only 4 of those conversions viewed the About Me page prior to converting. Now we know how effective the About Me page was at driving RSS subscriptions.

Taking it Further

What about associating a set of pages with a conversion activity? No problem, just use a regular expression to define your required step. Here’s the same example, but I’ve tweaked to to track visits that include the About Me page or the All Posts page.

GA funnel to associate multiple pages with a goal.

And remember, the pageview you specify for your required step does not need to be a real “pageview.” It can be a virtual pageview, generated with the pageTracker._trackPageview() method. In fact, that’s what I’m doing on the blog. I generate a virtual pageview every time someone clicks on the RSS icon.

This technique is very useful if you want to measure how well a specific piece of content on a page is performing. Generate a pageview when a visitor clicks on the content and use it as step 1 in the funnel.

Think this is a good idea? Got one that’s better? Leave a comment!