412.343.3692
1.800.975.1844

Archive for September, 2008

Two more Google Analytics Trainings: DC and NYC

Wednesday, September 17th, 2008

Just a quick note to tell everyone that our next one-day Google Analytics training will be October 3 in Washington DC, and then after that, on December 9 in NYC. Both training days cost the same — $285/person.  We’ve done a few new things (based on the really great feedback we had in DC last time) — everyone will have the ability to plug in and log on and follow along in a classroom-type setting. (None of this balancing your coffee and your laptop at the same time).  Also, we’re planning to have a “lab” at the end of the day where you can get on your own analytics and we’ll visit each participant, giving you personalized help with your analytics.

You can get more information, see the schedule and register at http://www.lunametrics.com/getting-ahead/

Robbin

Goal Copy Update

Monday, September 15th, 2008

I updated the Goal Copy extension for some changes that Google made to the HTML.  Again.

http://lunametrics.com/goalcopy/goalcopy.xpi

If it stopped working for you, it should be back in business for a while.  Until they change the HTML again. . .

If you don’t know what I’m talking about, you can check out the original post here.

Bounce rate and the _setVar(’…’); — what is the relationship?

Friday, September 12th, 2008

What is the relationship between Bounce Rate and the User Defined Segment in GA?

A. Beauty and the Beast?

B. Abbot and Costello?

C. Jekyll and Hyde?

D. Kermit and Miss Piggy?

First let’s take a look at what is wrong with this picture:

This is the simplest example I could think of.  A single visit to a site, generating a single pageview. But take a closer look at the bounce rate.

A bounce is a visit that only contains one pageview — they land on your website and leave without viewing a second page.  That is exactly what we have here. Yet the bounce rate is 0.00% (It should be 100%).

This is what can happen when the User Defined Segment (pageTracker._setVar(’…..’);) is set on a landing page.

(The User Defined Segment allows you to track a specific characteristic about a visitor.  For example, you call pageTracker._setVar(’/status=member’); after a visitor logs into your site. )

When the _setVar method is called:
1. It creates or modified a cookie on the visitor’s computer with the value inside the parenthesis.
2. Having just done this, it’s very excited and immediately wants to call home and tell GA about this new piece of data it has.

The problem is that a correctly tagged page will normally also have _trackPageview(); on it as well (the workhorse of GA).  When you also have a _setVar(’..’); on the page, the JavaScript is now communicating with GA twice for only one pageview.

1. The overeager _setVar(); method that wants to tell GA about this great new piece of visitor data and

2. the _trackPageview(); method that tells GA what page is being viewed.

When this happens on a landing page, GA looks at all of this and sees two interactions and thinks “Well, this visitor talked to me more than once, so they are not a bounce. . .”

To avoid this, what we need to do is write the cookie with the _setVar(’…’); information, but without calling home to GA afterward with the news.  This can be done by creating another tracker object and associating it with a non-existent account.

var fakeTracker = _gat._getTracker(”UA-1″);
fakeTracker._setVar(’/eyes=blue’);
var pageTracker = _gat._getTracker(”UA-xxxxxxx-y”);
pageTracker._trackPageview();

In this example, after fakeTracker._setVar(’…’); creates the cookie with the value of ‘/eyes=blue’, it calls home to GA and tells it that it has this new information about a visitor to the site associated with UA-1.  And GA says “huh?, UA-1?, I don’t know where this goes”.

Milliseconds later when the _trackPageview method executes (presumably associated with the correct UA number this time) it re-fetches the value from the cookie that setVar created and sends it to GA along with the pageview information.  As far as GA knows, this was the first time that any information associated with your account was sent in (and it included the User Defined Segment information since that is just part of what _trackPageview does anyway).

By using this method, you can easily create your User Defined Segment Variable on a landing page without causing the bounce rate issue we started out with.

Other Considerations

1. Any settings you do with the pageTracker object must also be done with the fakeTracker object

If you use: pageTracker._setDomainName(’…’);
also use fakeTracker._setDomainName(’…’);
If you use: pageTracker._setAllowLinker(true);
also use fakeTracker._setAllowLinker(true);

2. If you are using _setVar(’…’); to track a click on a link that leaves your site, there is no _trackPageview(); that will be executed afterwards to send that information to Google.

In this case you want to make sure you just use pageTracker._setVar(’…’); And Not fakeTracker._setVar(’…’);

And the answer to the question at the top of this post?

I have no idea, Robbin just wanted me to capture your attention.

Sorry.

Measuring Offline Advertising in Google Analytics

Friday, September 5th, 2008

Google Analytics does a great job of helping you measure online advertising. Not only does it integrate with AdWords, but you can use it to measure any kind of internet marketing, such as banner ads, email marketing, etc. The Campaign reports then give you all kind of data about your marketing, like bounce rates and conversion rates by campaign, by medium, or by source.

Google Analytics Campaign Report

Google Analytics Campaign Report

This helps you decide where you’re being effective in spending your advertising budget and where you’re pouring money down the drain on people who never visit the site, who bounce once they do, or who never convert.

The Challenge of Offline Advertising for Your Website

But what if you have offline advertising that’s intended to drive people to your website — a brochure, a traditional newsletter, or for that matter some guy in a sandwich board you hired to parade up and down the street? You might just include the URL of your home page, because it’s easy to remember and type in. But then you don’t know anything about the connection between your advertising and how it drove someone to your site.

You could, of course, use campaign codes in your offline advertising, just like you do with online advertising. But here’s an example of a campaign-coded URL (broken across lines for clarity):

     http://example.com/destination?utm_source=brochure
          &utm_medium=print&utm_campaign=fall08

Remember, this is in print. So a user has to type all that in? I don’t think so.

The Solution: Vanity URLs

You need nice, short, easy-to-remember URLs in print, because someone’s going to have to type them in. So you want something like:

     http://example.com/ad

or

     http://ad.example.com

or even simply

     http://mypromotion.com

These kind of short, catchy URLs are known as “vanity URLs.” They’re pretty names for pages that actually live somewhere on your site — maybe just your homepage, or even better, a dedicated landing page for the promotion.

So suppose your vanity URL is http://example.com/ad, and you would really like it to point to http://example.com/promotion/landingpage. (We’ll do this with a technique called “redirects” that we’ll talk about in a minute.) But if you’re already pointing your short URL at a longer URL, why not go all the way and include campaign codes? Start with

     http://example.com/ad

which is nice and short and easy to type. Send it to (broken across lines for clarity)

     http://example.com/promotion/landingpage?utm_source=brochure
          &utm_medium=print&utm_campaign=fall08

This does two things: (1) it goes to the landing page you want, and (2) it uses campaign codes to track that this is part of your “Fall 08” campaign, the medium was “print”, and the source was “brochure.” All that will show up in your Campaign reports, right alongside your online advertising. Awesome!

How to Do It: 301 Redirects

There are a number of ways to point URL A to URL B; this is called “redirection.” I’m not going to go into gory details about different methods, but what I will say is this: the kind of redirect you want to use is called a “301 redirect.” There are lots of reasons this is better than various other ways to redirect URLs, including being good for your search engine optimization.

A 301 redirect is called “301” after the HTTP status code that is returned when a browser requests the URL. (You’re familiar with other status codes like “404” for a page that can’t be found.) All the redirect does is say “The page you were looking for at this URL? It’s at this other URL instead. Go there.#8221; And your browser automatically does.

A 301 redirect occurs on your web server. Depending on what web server you’re using and how your site is architected, there are a number of ways to accomplish this. I’m not going to cover every one in detail, but here are some links to popular ways you might accomplish this.

  • If you’re using the Apache web server, you can use the mod_rewrite engine
  • If you’re using the IIS web server, you can use the ISAPI_rewrite engine
  • Depending on your site, you may also use a custom scripting solution for rewriting URLs, such as one based on PHP or ASP.NET

There are lots of options here, and you should think about how they fit with the way your site currently works behind the scenes, as well as how you’ll maintain the list of vanity URLs and campaign-coded destination links as you add to them in the future.

So, go ahead and start tracking your offline advertising!

-Jonathan