Archive for January, 2009

Jan 30
2009

The other day I was doing my daily reading and I came across the following paragraph: “Analytics people who like to cull patterns from massive amounts of data like to aggregate rather than split data. In web analytics this means treating several pages as one unit in order to know about visits that saw one or more of a certain set of pages that the analyst thinks belong together. In WebTrends and other software this is done with “content grouping” and Google has no parallel to it.” Chris Grant, Got Analytics? blog

“Google has no parallel to it!!” I have to admit that I took this statement personally as I consider Google Analytics my baby. :) So I went to my colleague, Rehan Asif, to discuss this and in less than twenty minutes we came up with the following concept:

  • Categorize pages into groups of related content.
  • Collect these pages together on one page and treat them as a single entity.
  • Specify the URLs that you want to include in each group by defining URL patterns.
  • Create a filter for each group.  Each filter will search for the group identifier and replace the entire URL with a new URL.

Here is a real example on an online shoe store where we want to take all pages that focus on specific brands (for example, Converse, Timberland, Vans, and Reebok) and treat them as one content group.

1) First, we studied the URLs and found that they contain the brand name.

http://www.domain.com/authentic-vans-shoes-satain-blackpink.html
http://www.domain.com/adidas-bg-superstar-whtblk.html
http://www.domain.com/puma-big-kids-drift-cat-jr-blkwht.html

2) Using an advanced filter, all pages with “vans” in their URL will be renamed to “/vans.html”

3) Now create filters for each brand and apply the filters to a new profile called “Content Groups”

4) Now we have created content groups that allow us look at all pages for any brand as a single entity. We can now study the links where people exit, the entrance keywords, the entrance sources, other pages they visit on the site, and more.

Now, as I like to say, the real analysis begins! :)

Technorati Tags: , ,

Jan 13
2009

You are working on your site’s SEO by publishing press releases and you wish to track traffic to your site from those press releases.  You are not adding source campaign parameters (and therefore no campaign parameters at all) to your links because you are not sure which sites will pick up your press release.

Sounds familiar, doesn’t it?

In Google Analytics, you noticed that links from press releases are tracked as:

  • Source = cnn.com, bbc.co.uk, or domain.com
  • Medium = referral
  • Campaign = (not set)

I am sure you are not satisfied with this basic level of tracking because it does not tell you much, especially if you wish to track across different campaigns and mediums.

The following example makes more sense and will help you evaluate and analyze your campaigns.

  • Source = cnn.com
  • Medium = press_release
  • Campaign = hurricane_katrina

To overcome this challenge of tagging links from unknown sources, I came up with the following trick.

Algorithm:

  • Add a parameter on all links to your site that are in the press release. (example: http://www.mysite.com/myfile.html#id=1)
  • On the target page (http://www.mysite.com/myfile.html), check the value of the “id” parameter.
  • If the “id” parameter equals “1″, replace the parameter in the URL with the following utm parameters (utm_source, utm_medium and utm_campaign) before the call to pageTracker.
  • If the “id” parameter does not equal 1, call the pageTracker function normally.

View the entire code segment.

Let us explore the code, section by section:

var parameter = get_parameter('id');

function get_parameter(name)
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&#]"+name+"=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);

if( results == null )
  return "";
else
  return results[1];
}

This portion of the code will return the value of the “id” parameter from the URL and assign it to the “parameter” variable.

if (parameter == '1')
{
window.location.hash = "utm_source="+srcPage+"
&utm_medium=press_release&utm_campaign=hurricane_katrina";
}

If the page url contains the “id” parameter and its value is 1, then the url will be updated with the utm parameters.

Link URL
http://www.mysite.com/myfile.html#id=1

New URL
http://www.mysite.com/myfile.html#utm_source=www.cnn.com&utm_medium=press_release&utm_campaign=hurricane_katrina

* Notice that we did not use window.location.href function because this function will re load the page with the new URL, which is not what we want to happen. We just want to update the URL, without affecting the visitor experience, in order for the Google Analytics tracking code to attribute the visit in a certain way.

How to get the value of the utm_source (referral site)?

var srcPage = getDomain (document.referrer);

function getDomain (thestring)
{
var urlpattern = new RegExp("(http|ftp|https)://(.*?)/.*$");
var parsedurl = thestring.match(urlpattern);
return parsedurl[2];
}

This portion of the code is responsible of assigning the URL of the referral site to the variable scrPage. The “getDomain” function parses only the domain name (www.domain.com) out of the long url string (http://www.doman.com/file.html?parameter=abc)

The last piece of code that needs to be added is the setAllowAnchor command, which allows the # sign to be used as a query string delimiter instead of the question mark (?).

We used # in the press release link instead of ? for SEO reasons, but you could use ? in the original link and still use the above method.

pageTracker._setAllowAnchor(true);

Alright, now it is time to use our friend Advanced Segments to track our press release visitors, measure their engagement, and analyze their behavior.

Now we can really analyze! :)

Technorati Tags: , , ,

Jan 02
2009

Questions I always hear with regards to SEO and marketing optimization:

  • How does Google Analytics improve my search engine optimization (SEO)?
  • How can I get more out of my SEO?
  • What is the real effect of ranking on search engines for my business?

I am hoping the case study below will shed some light on these questions. If you apply a similar analysis you can help your customer, manager, or whoever is delaying your SEO effort. But instead of answering “the importance of ranking” question, maybe something more quantifiable and measurable might get your decision makers’ attention! How about “how does ranking on a specific keyword, or lack thereof, impact the bottom line?” Answering such questions will help us make the most of our marketing spend during these tough economic times and help us do a more effective job in marketing and campaign optimization.

I’ll use real time data and analysis but won’t mention the name of the website for privacy reasons. Here are the details:

  • Website type: eCommerce
  • The website used to rank near the top of Google on two competitive keywords until August 2008.
  • Historically, these two keywords have driven traffic to the site. For a specific time period, these two keywords drove 5,684 visits and led to 46 conversions for a 0.81% conversion rate.

If you have your Google Analytics eCommerce features properly configured and working, the above data is easily accessible under the Traffic Sources -> Search Engines -> Non-paid report. The inline filter was used to get data for just these two keywords.

  • We then start examining the time period when the ranking for these two keywords took a big hit.
  • Next, using the date comparison function in Google Analytics, we compared the traffic generated by these two keywords for this year with poor ranking versus last year with better ranking. Here is the result:

The table on the left is for one of their keywords and the table on the right is for the other. As you can see, a significant drop in visits in 2008, 4471 to be exact. So the negative impact of the drop in SEO ranking was less opportunities to make sales on their primary keywords!

  • The 4471 visits might be a small percentage of the overall website traffic but when you put a dollar sign next to it, we typically react to it more quickly. Take the 4471 visits and multiply it by your average conversion rate for these keywords, which is 0.81%, and then multiply by the average order value, which is $846.
  • 4471 x 0.0081 = 36 lost sales
  • 36 x $846 = $30,456 of lost revenue!

Now one can argue that this number is not accurate because of many factors BUT the findings are very actionable! If I were to present this analysis to my boss or client, I would add 2-3 other scenarios:

  • Scenario 1, with a higher conversion rate of 1.62% after improving the design and usability of the site, the lost revenue would be $60,852. (ouch!)
  • Scenario 2, with a lower average order value and the existing conversion rate of 0.81%, our lost revenue would have been $15,228.
  • You could create a table to show the range. The main point is that there was between $15K and $60K of lost revenue. In tough economic times, wouldn’t you rather have that revenue?

Depending on your company size, marketing budget, and other factors, the $30K might be a significant number or it might be a rounding error. But at the end of the day, $30K of lost revenue is $30K of lost revenue, especially in times like these where cutting cost and marketing optimization is more important than ever. By doing similar analysis, you can find other lost sales opportunities, monetize them, and get some corrective actions underway.

I think you can take this analysis to a business owner or marketing manager, and I am pretty sure they would get the SEO effort prioritized.

Technorati Tags: , , ,