412.343.3692
1.800.975.1844

Archive for the ‘Google Analytics’ Category

Automatically Show All Profiles in GA

Thursday, June 12th, 2008

Update: I’ve added an additional URL to when this script runs.  It now runs on https://www.google.com/analytics/settings* as well.  If the script stopped working for you, this was probably why and should take care of it.

You can also make this change to the existing script by going to Tools->Greasemonkey->Manage User Scripts.  In the Included Pages area, click the Add button, paste in the above URL, and click OK.

————–

I was recently asked by Espen at zedge.net if there was anyway to automatically show all your profiles for the website profile list in GA.

The default is to display 10 profiles and you can either 1. page through them (painfully) in sets of 10 per page or 2. Select from a pulldown how many you want to show at once.

Show 100 Profiles

But when you have a lot of profiles it becomes annoying to select “Show 100″ every time you see this screen.

So, I wrote this very simple greasemonkey script that watches for certain location.hrefs (URLs) and adds the parameter ns=100 to the end of the URL. The ns=100 parameter directs GA to show 100 profiles at once (which is the highest option in the pulldown).

If you don’t already have Greasemonkey installed you can get it here.

Then download and install the Show 100 script. (If you have greasemonkey installed, you should be prompted to install the script when you click on it. Otherwise download it and use the greasemonkey interface to add the script).

It is not a perfect solution but it has worked well for me so far, and it may help you put off that carpal tunnel surgery for a while longer. If you have a better or smarter way to accomplish the same thing, let’s discuss it.

UPDATE: André made a code suggestion (see comments) which I have incorporated into the script.  Now it will not add the &ns=100 parameter if there are 10 or fewer profiles.  Thanks André

-John

Last chance for NYC Google Analytics Training: Wednesday, June 4

Friday, May 30th, 2008

Getting Ahead w GAI worked and worked and worked with Bernadette, at the New York City Harvard Club (where we are having our Google Analytics training on Wednesday, 6/4/08) so that we could accommodate extra people. She is such a gem. I drive her crazy, I know…

If you are coming, now is the time to register. We’ll have two concurrent tracks: implementation and analysis.

Implementation Track: If you are a techie (or even if you aren’t a techie, but need to do the technicals to make your Google Analytics work well), you’ll want to hear John Henson talk about filters and profiles, goals and cross-domain tracking.

Analysis Track: If you’re an analyst (or even if you aren’t, but your company expects you to do that kind of work), you’ll want to hear us talk about how to make sense of all that Google Analytics data. (That’s me — I am speaking for the first three sessions of the day.) Traci Scharf will talk about creating a leaner, meaner AdWords program. Megan Kiel is going to join us from the Google Website Optimizer team to talk about testing your website.

At the end of the day, Jonathan Weber will talk about getting the whole organization on board. And we’re going to work and work and work to be sure your questions are answered.

Don’t worry, you’ll be able to pick and choose among the sessions, and if you have to miss a critical session, we’ll see if we can’t sit with you at lunch and go through the key points. Everyone will get copies of all the handouts, too.

So here’s the link to read all about the training, and here’s the link to look at the agenda.

Robbin

Goal Copy Extension Update

Tuesday, May 13th, 2008

If you don’t know what this is, have a look at my previous post, Copying Goals in Google Analytics

This version has 3 new features:
Menu Button
1. Ability to clear a goal
In the new Options pulldown button you have 4 “Clear Goal” items. Selecting one of these will clear the corresponding goal and reset the name to “Empty”

2. Autosave after Pasting a Goal
The extension can now automatically save a goal after you paste it. This can be toggled on or off from the Options button. It defaults to off (does not automatically save). If you turn it on, when you paste a goal into the goal form, it automatically submits the form and returns you to the previous page.

3. Paste All button
The Paste All button is used from the ‘Profile Settings’ page that displays the Edit links for your four goals.

Profile Settings Page:
Profile Settings Page

From this page, the Paste All button will:

Navigate to the Goal Settings: G1 form
Populate that form with the goal that is saved in the first slot
Save the goal

Navigate to the Goal Settings: G2 form
Populate that form with the goal that is saved in the second slot
Save the goal

Navigate to the Goal Settings: G3 form
Populate that form with the goal that is saved in the third slot
Save the goal

Navigate to the Goal Settings: G4 form
Populate that form with the goal that is saved in the fourth slot
Save the goal

If any goals have been “Cleared” from the Options pulldown button, those goals will be skipped in the Paste All process.

Installation

Open this link in Firefoxinstall_dialogxpi.jpg

Then click Install Now.

Depending on your setup, Firefox may want to download the file instead of installing it directly. Just select “Open With. . .” and choose Firefox from the list of applications.

Thanks again to everyone who helped with suggestions and with troubleshooting.

-John

Best GA tool ever: the Change (Delta) chart

Monday, May 12th, 2008

delta chartToday, I want to write about the GA “change chart.” You might even call it, the delta chart. Or, the red and green chart (Note: If you come to our Google Analytics Training Day in New York City, June 4 2008 at the Harvard Club, you’ll hear us talk about this specific topic right before lunch.) I am sure this chart has a great name, and I just don’t know what it is.

Here is where the chart capabilities sit (see screen shot at left) the best kept secret in Google Analytics. Notice how it is in the far right of the GA interface, immediately below the graph and above all the lines of reporting. The red arrow is mine, and points to exactly which chart I am loving - because you can get the regular grid, a pie chart, a bar chart, or — ta da! — the delta chart.

When you click on it, you suddenly have data in context. For example, consider this site, engineering-education.com. They work in two areas, statics and finite element analysis. I can use the delta chart to compare how well certain keywords performed, as compared to the rest of the keywords on keywords and GAthe site — like this the screenshot here. Notice how his branded keywords (mini FEA, minifea, etc) - and in fact, most things related to finite element analysis — do well, but a generic term like “engineering education” — which this site, would seem to want desperately — does not convert at all for FEA goals.

But that’s not all. No, that’s not all. (As the Cat in the Hat might say.) When you are in “compare date range” mode, the green and red bars automatically change to do a date comparison. So notice how referrals (in the screen shot below, which compares media this month with media last month) are just not working as well for this company as they dreferrals delta GAid last month. On the other hand, organic is way up, as a conversion rate. So now they have the context to go drill down and understand why they are “doing better” in organic and “doing worse” in referral. (A bonus for the SEO guy?)

Well anyway, now you have seen one of my favorite charts in GA. Come to NYC and learn more at our training.

Robbin

Wanted: GA Analysts who don’t do Regular Expressions

Friday, May 9th, 2008

Do you do this Regular Expression stuff in Google Analytics? If you don’t, I would really like your help. (Sorry, this is for newbies only.)

I worked with the documentation pros at GA to improve the Help Center documentation on Regular Expressions, but I can no longer look at it through newbie eyes. I still worry that the uninitiated will read and and think, “Huh?” but maybe I am wrong. I wrote another article, but the documentation people said, “Robbin, we think we have enough.” And maybe they are right. (That’s the part that I don’t know.)

So please go to this page in the GA Help Section (if you are new at it), and send me email, telling me how new you are to this, and whether it made enough sense for you to be able to get started with Regular Expressions. Send me email so that others won’t be influenced by your thoughts. Remember, the less you know about this, the more valuable your thoughts are.

Getting ahead with Google Analytics: June 4, 2008 in New York City

Tuesday, April 29th, 2008

double logoHave you ever attended an internet marketing conference that had just one lonely session on Google Analytics? Whenever I’m leading one of these sessions, people always come up to me afterwards and say, “Thanks — how can I learn more about Google Analytics? ” So after hearing this over and over again, we’ve created a day of Google Analytics training. It will be on June 4, in New York City, at the Harvard Club on 35 W. 44th Street.

The event will cover a range of topics in Google Analytics, from analysis to GA tips and tricks, with lots in between. (See the full schedule — and notice that we also have a session on Google AdWords and one on Google Website Optimizer). We’ll also offer implementation sessions, which will be very interactive, so bring your questions and let’s get them answered.

And, since I really hate when people hide the price — it costs $285. You can register now, and even if you have to cancel, we can refund your money in full until 8 days before the event. After that, you can transfer your registration to someone else, if you need to.

The good news about having this at the Harvard Club is that it is an intimate affaire. (OK, not that intimate, your spouse will not feel threatened.) The bad news is that because seating is limited, we really do have to put a cap on the number of people who can sign up. So if you think you’d like to attend, be sure to sign up now. (I know, I know, that’s what everyone says when they have an event. But I so vividly remember trying to go to the eMetrics Summit in 2005 and it was SOLD OUT.)

If you are coming, please feel free to send me email and tell me what you want to learn and what your questions are. I really want everyone who attends to start to get more value out of their Google Analytics — and we can do that best if we include the things you want us to teach about.

Registration Link
Email me your questions

Robbin

Stuff More Than One Value into GA’s User Defined Segment

Thursday, April 17th, 2008

The User Defined Segment Variable in Google Analytics allows us to give each visitor to a site a distinctive label. Member or Non-member, Male or Female, Large or Small. This value is then stored in a cookie called __utmv on the visitors computer. Each time the visitor comes to your site, the Tracking Code checks for a value in that cookie and sends it along with the rest of the data.

The More-Than-One-Value Problem

But sometimes you would like to keep track more than one piece of information in GA’s User Defined Segment. You might want to know when you have a Small Female Non-member or a Large Male Member.

Most of you already know that Google Analytics only gives us one User Defined Variable. At first glance, that isn’t an issue, we can just set our variable to ‘Small/Female’ and now we have more than once piece of information about that visitor, right?

But you don’t always learn every piece of information at the same time. And whenever you set the value of the variable, it overwrites the previous value.

Here is a technique (and the JavaScript) that I have used when I’ve needed to overcome this particular limitation.

How it Works

With the old version of the Tracking Code using urchin.js, we set the variable with:

_utmSetVar('someValue');

And in the new version using ga.js:

pageTracker._setVar('someValue');

But instead of using those, we’re going to use a new function:

superSetVar('someValue');

This function will check to see if the visitor already has ’someValue’ assigned. If the value is already there, the function doesn’t do anything. But if it is not there, it adds this value to the end.

For example, if we set two values in a row with superSetVar:

superSetVar('/eyes=blue');
superSetVar('/hair=blonde');

instead of the second value overwriting the first, and making the User Defined Segment Variable equal to ‘/hair=blonde’, with superSetVar it is equal to ‘/eyes=blue/hair=blonde’.

In this way, we can use the superSetVar function whenever we need to add a piece of information to the User Defined Segment Variable in the __utmv cookie, and each time, the new value gets added to the end.

Naming Conventions

This brings us to some naming conventions. You’ll notice that I’m using the format /name=value for my variables. Aside from helping us visually in the GA reporting interface, and giving us a little something extra to work with when setting up filters, it also assists us in our next task - unsetting a value.
[This naming convention is required in order for everything to work as advertised. However, feel free to alter the code within the super_set_var.js to suit your own needs.]
With the original GA functions, we don’t need to unset our variable, since every time we set a value, it overwrites the previous value — a sort-of built-in unset. So if you have a value of NonMember and later become a Member, the NonMember values gets overwritten and you just end up with ‘Member’. But if you used superSetVar you would end up with something like /status=nonmember/status=member.
Because of this we need to have another function, unSetVar. You could use it like this:

unSetVar('/status=');
superSetVar('/status=member');

The unSetVar finds any instance of ‘/status=something’ and deletes it. So if you wanted to change someone’s eye color:

unSetVar('/eyes='); // clears all /eyes=someColor
superSetVar('/eyes=green'); // adds '/eyes=green' to the end of the __utmv cookie

What value will show up in the reporting interface?
Sometimes figuring out what you’re going to see in the reporting interface is a little tricky. With this method of setting the User Segment Variable, it should work like this:
If the visitor does not have a value already defined, then the first value that you give them will be used.
This means that if you call superSetVar multiple times, the latter values won’t show up, until the user comes back for another session.
However, if the visitor already has a value for the User Defined Segment Variable when they arrive at your site, then that value will be used. If you set additional values, they won’t show up in the GA Reporting Interface until the users next session.

Implementation:

1. Download super_set_var.js

2. Copy it to your web server.

3a. For the new version of the GATC, add the line in bold to your GATC after the call to ga.js, making sure to change the /path/to/super_set_var.js to the location on your webserver where you put that file in step 2:
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type=”text/javascript” src=”/path/to/super_set_var.js”></script>
<script type=”text/javascript”>
var pageTracker = _gat._getTracker(”UA-xxxx-y”);
. . .
</script>

3b. For the old version of the GATC:
<script src="http://www.google-analytics.com/urchin.js"
type="text/javascript"></script>
<script type=”text/javascript” src=”/path/to/super_set_var.js”></script>
<script type=”text/javascript”>
_uacct = “UA-12345-1″;
. . .
</script>

4. Use superSetVar(”/someName=someValue”); wherever you would have used pageTracker._setVar(”someValue”); or _utmSetVar(”someValue”);

Technical Note:
This implementation chooses to set the __utmv cookie with a pageTracker._setVar(’…’); that is associated with a ‘fake’ UA number. You could instead choose to alter the code to write the cookie by hand, or to use a _setVar(’…’); that is associated with the actual UA number for the account.

If you have any comments, improvements, alternatives, etc, please post them below. I’m sure some of you have had the opportunity to do this before, so share any pitfalls you’ve encountered or just tell me why your method is better than mine.

-John

Google Analytics: Worst Titles Ever

Saturday, April 12th, 2008

“Remember,” John McAndrew cautioned as we started a new project for the Association of Corporate Counsel, “The GA titles are deadly.”

This is so true. As much as I love Google Analytics, their report titles and labels just suck. (I hope you guys are listening.)

There are a lot of things GA does right. But if we are going to have an analytics package that is “democratic” — that all the people in the company can use, not just the Web Analyst — we need to have descriptive titles and labels. And they need to be things that the average Joe and Jane can understand. And we have to stop calling the same thing by different words in different places. (If we are going to call paid search “cpc” on the medium report, why do we have “paid” and “unpaid” in another?) Or as one person said to me in the all-day training I did on Monday, “That’s just Google Analytics’ way of tripping us up, right?” And, the sad part was: he was right.

(Here is a little more full disclosure, or maybe credit where credit is due. Back when LunaMetrics became a Google Analytic Authorized Consultant, I started bitching about the GA documentation, for the same reason. “If we have an analytics package for regular people,” I argued, “Shouldn’t we have drop-dead, knock-your-socks off documentation? The kind that everyday people can understand?” And since that time, we are getting there, thanks to Brett and Alden and a lot of other people whose names I don’t know. So all things are possible.)

OK, let’s roll up our sleeves, and just address the Seven Deadly Names and Titles. In reverse order, so that they get worse and worse…

DeadHostname vs Network Locationly Title #7: Network Location vs Hostnames. Some way, we have got to figure out how to indicate that “network location” is the visitor’s ISP and “hostname” is all the URLs that your site goes by in GA. So, for example, “Hostnames” is the report to go to when you want to know if you have subdomains setting cookies, or if some other site has stolen your code and uses it to muddy your analytics. On the other hand, Network Location is the place to go to when you think you might be able to learn what company the visitor came from. (This last part generally only works if the visitor came from a big company, like Toyota or GM, who is their own ISP.)

Deadly Title #6: Top Content. It is ALL content, not just top content.

Deadly Title #5: CPC vs Paid; Organic vs Unpaid. I would love to say, “Can’t we just go with one or the other? Let’s just call it paid search and unpaid search and forget the other stuff here.” Reality is not so easy, though, because this one is not just about titles, it is about cookies. To get less technical than that — this door of opportunity closed years ago. We just have to live with this one, and always remember that cpc means paid search, and organic means unpaid search.

Deadly Title #4: Visitor Loyalty. We have a set of reports called Visitor Loyalty, and then under that we have a specific report called Loyalty, too. So can’t we call the whole set Visitor Loyalty, and then call the report itself Frequency? Because that is what it measures, how many times they came.

Deadly Title #3: Navigation Summary: How visitors found your content. (I am only explaining/complaining about the subtitle, “How visitors found your content.”) This report describes how visitors got from one place on your site to the page you are interested in and where they went next, and NOT how they found your content from outside of your site. “Paths visitors used to get to and from your content” might be a little better.navigation summary

Deadly Title #2: Entrance Paths: Paths visitors used to get to your content. Well, that is just ridiculous, this subtitle is perfect, but it belongs on the Navigation Summary report (Deadly Title #3), not here in Entrance Paths. If you look at an Entrance Paths report, it starts out with *your* content and shows where they went next. In fact, this particular Deadly Title gets an extra point for deadliness, because this isn’t really about Entrance Paths at all: the page you are interested in might not be an entrance page. This is a report about where the visitor went after they looked at your page.

Entrance paths

The Winner!! Deadly Title #1: “Most people visited…” This is arguable the worst label we have in GA. Here you can see it:

most people visited

It is misleading in more than one way (which is why it scored for Deadliest Title.) As I pointed out when I did my loyalty experiments, this set of charts measures visits, not visitors. But using the word “people” gives the impression that it is the other way around.

Even if we pretend that the chart says, “Most visits happened only once,” or some other way to get rid of the word “people,” it would still be misleading. “Most” just describes the bar that is the longest. And it completely obscures how great that chart can be — we have an incredible report that puts visits into buckets of frequency, and then we dumb it down by saying, “Just look at the longest one.”

Robbin

Are your Top Content URLs Too Long?

Thursday, April 3rd, 2008

Google Analytics’ reporting interface often can’t display the entire URL for a pageview in the Top Content report.

Most browsers support the ability to override a web page’s CSS with a custom .css file. Here is how to use that feature in Firefox to let you see the full URL string.

(If you use IE, Opera, Safari, etc, just show this article to your favorite geek, and if you’ve been nice to them, they might help you out.)

The key is the userContent.css file. CSS placed in this file can override a page’s default CSS. This file resides in your /chrome directory. On my Windows XP computer, it is:

C:\Documents and Settings\Henson\Application Data\Mozilla\Firefox\Profiles\722qaf8f.default\chrome\userContent.css

If the file does not already exist, just create it in a text editor.

Add the following CSS to the userContent.css file to alter the display behavior in the GA reporting interface.


@-moz-document url-prefix(https://www.google.com/analytics/reporting/top_content)
{
.records td {
padding: .4em !important;
padding-bottom: 2.0em !important;
vertical-align: top !important;
}
.text_wrapper {
white-space: normal !important;
}
.text_wrapper .text_wrapper {
white-space: normal !important;
overflow: visible !important;
}
a { white-space: nowrap !important; }
}

And what do you get for your effort?

Top Content - Google Analytics

But John, that’s so much work!

If you don’t like working with userContent.css, try the Firefox extension Stylish:
https://addons.mozilla.org/en-US/firefox/addon/2108
Install. Select Write Style > Blank Style (from the status bar icon) and Paste in the above CSS.

Bonus: Per-site user stylesheet rules:
http://lists.w3.org/Archives/Public/www-style/2004Aug/0135.html

Happy Reporting,

John Henson

Google Analytics and the John/Avinash Show

Wednesday, March 19th, 2008

Wow, did you all see John Marshall’s dreamy new look in the five videos he and Avinash Kaushik created? John, you look awesome with contact lenses. BTW, if people didn’t see the blogpost or the videos, they were all about which referrer gets credit for a conversion when the visitor has looked at multiple sources before converting, and/or cleared cookies — a really great topic.

You may not have seen them for the same reason that I put this off for a full week: I am not a video fan. Sure, I do them when I have to, or when it is hard to understand something. But I am always dying to read - I feel like I can read 40 minutes of video in about 5-6 minutes. The question is always, will I come away with as great of an understanding?

I am probably the next-to-last person in the universe who would rather read than watch, so for that last person, here is a synopsis. I have also embedded the Google Analytics interpretations where that makes sense. Suggested reading time: 5.5 minutes.

Act I, whereby Avinash and John explain who gets credit for the sale with only one referrer. This was an easy situation: A visitor is looking a
the NYTimes online, clicks on a banner ad hosted by Doubleclick, goes to the site and purchases. If the Doubleclick ad is correctly tagged and all the pages on the site are correctly tagged, Doubleclick will get credit for the sale. This is true for all analytics packages, including GA.

Act II, whereby Avinash and John explain who gets credit for the sale with multiple referrers. This was a harder situation. Everything is correctly tagged. The visitor starts with the same NYTimes ad hosted by Doubleclick, he looks at a few pages, but doesn’t purchase. He comes back a second time using a paid search ad, and he looks at a few more pages. However, he still doesn’t purchase; instead, he bookmarks the product of interest. The third time, he uses his bookmark to come back and he purchases. Now, who gets credit for the sale? John and Avinash said, “Your analytics package will usually give credit to the last referrer, direct (none).” This might be true for many analytics packages, but I know it is not true for Google Analytics. In GA, a referrer always overwrites the last referrer, with one exception: direct (none) will never overwrite, or if you like, override, a prior referrer. It is possible in GA to avoid overrides/overwrites, but it is not possible to force GA to give credit to the bookmark. So to summarize: if someone comes on a banner ad, comes back on PPC, and finally converts using a bookmark, GA will not give credit to the bookmark — it will give credit to the last “real” referrer, which in this instance is a search engine’s paid ad. (John Marshall discussed this with me, and he pointed out that it is not clear that the way GA does it is the “right” way. This is arguable, but we weren’t go there now.)

Act III, whereby John and Avinash point out why all those different measuring tools you have show different results. Ok, we understand how your web analytics tool works, now, especially if it is Google Analytics. But what about all those other measurement packages you have? How does your DoubleClick report work, how does your paid search report work? After all, that person started with a DoubleClick ad, came back with a paid search ad, and converted on a bookmark. Well, strangely enough, everyone gives credit to themselves! Doubleclick takes all the credit for the sale, as does the paid search conversion tracking when you look at it using a tool like the conversion tracking that comes with Google AdWords or Yahoo Sponsored search.

So, (Act IV) John said, this is a great reason to use your web analytics to look at Time On Site - even though your analytics doesn’t give credit to all referrers, you can use Time on Site to understand how important those referrers might be.

Time on SiteHmmm. How would we do that with Google Analytics? The best way would be to create a special profile for each important campaign. Then you’d be able to use the time on site and depth of visit charts (under Visitors > Visitor Loyalty) to get a “bucketed” understanding of how many people referred by DoubleClick stayed for 3 minutes, 4 minutes, etc. Of course, you’ll still want to drill down to the adGroup and keyword level, and there you will only be able to look at averages, but it is better than nothing. And if you have one really important keyword, go ahead! create a profile for it.

Act V: Whereby John and Avinash discuss what happens when cookies get deleted, or privacy tools block cookies, etc. Doubleclick gets deleted, usually. Even your PPC tool’s cookie usually gets deleted. So by the time the sale happens, there really *aren’t* any cookies to take credit for the sale! And this is quite a wonderful revelation in my eyes, because now it explains why so many accounts have a potentially disproportionate amount of traffic in “direct”, even when all campaigns are coded correctly. In this situation - no cookies left to take credit - even Google Analytics will give credit to the sale to direct (none.)

Robbin