Web Analytics Blog

Turn data into dollars.

GA Certified Partner

Our web analytics blog provides a space for us to educate our clients and visitors about how they can use analytics to gain insight into user behavior. As a Google Analytics Certified Partner and Google Tag Manager Certified Partner, our team is highly versed in Google’s products, but our knowledge isn’t limited to just those! On this blog, our analytics experts share a diverse variety of tips, tricks and techniques for a wide range of analytics platforms, as well as explore big picture concepts for tracking and measuring online success, and answering some of the questions commonly asked by clients and team members. To stay up to date on everything our analytics blog has to offer, subscribe to our feed.

August 6 2008

Rest in Peace, _initData.

by MoreVisibility

Take a look at the following two sets of Google Analytics Tracking Code. Can you spot the difference between the two?

Old GA.js Tracking Code:

<script type="text/javascript">
var gaJshost = (("https:" == document.location.protocol) ? "https://ssl." :
"http://www.");
document.write(unescape("%3C script src='" + gaJsHost + "google-analytics.com/ga.js'
type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-1234567-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>

New GA.js Tracking Code:

<script type="text/javascript">
var gaJshost = (("https:" == document.location.protocol) ? "https://ssl." :
"http://www.");
document.write(unescape("%3C script src='" + gaJsHost + "google-analytics.com/ga.js'
type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-1234567-1");
pageTracker._trackPageview();
</script>

As of very recently, the great folks at Google Analytics have removed the following line of code:

pageTracker._initData();

…and have modified the actual GA.js tracking file to execute this command automatically.

What this means for you:

Until Google Analytics makes some sort of announcement about it, this does not mean anything to you. There has been no interruption in the collection of data or the display of data in all of your Google Analytics Accounts. Also, it will not “hurt” you to keep _initData in your Google Analytics Tracking Code on the pages of your website. So, don’t worry, and don’t send in that request to your IT or Web Development team quite yet.

If you’d like to be proactive about it, simply remove:

pageTracker._initData();

from the GA Tracking Code on all of the pages on your website, and you should be good to go.

July 25 2008

Stuck between a ^ and a $ place

by MoreVisibility

We’ve been a blog for about six months now, and I’ve just realized something – I don’t think I’ve ever once talked about Regular Expressions! I know I’ve talked about Filters before, but I’ve never written about the language that they are created in. Shame on me! (Robbin Steif, whom I consider the authority on using Regular Expressions in Google Analytics, is probably understandably beside herself that this much time has gone by on this blog without mention of Regular Expressions. I’m sorry!)

Whoa…wait a minute…what do you mean “filters”…like, coffee filters?
Not quite. Filters are these neat options that you can enable in any one of your profiles in Google Analytics. They can allow you to block an IP address or a certain domain’s data from appearing in your reports. They can allow you to change the appearance of data in Google Analytics, and, if you’re creative enough, a whole bunch of other things.

So these “regular expressions” – is this how you create filters in Google Analytics?
POSIX Regular Expressions is the language that Google Analytics requires you to use to create filters. You also need to use Regular Expression language if you create a Goal using Regular Expression Match, or, if you want to use the filter tool at the bottom of any report table in Google Analytics to either view a group of items, or to find exactly a part of a word in a page or source.

There are about a dozen different characters that you can use to create filters and regular expression matched goals in Google Analytics, and to use with the filter tool toward the bottom of every report. You’ve probably seen them floating around the Google Analytics interface or somewhere online. Here are those symbols, what they mean, and how they are used. I promise to keep the geek (tech) talk to a bare minimum.

First, symbols that are known as “Wildcards” (because, like Jokers, they are WILD! :))

. – Yep, that’s right, a dot symbol is a character in regular expression language. It’s actually quite a powerful little fella – its definition is “match any”. So, for example, let’s say that in the filter tool at the bottom of your Keywords report table in GA, you enter in .ight and hit “go”. The report would show you any of the following keywords: sight, night, might, fight, and right. The dot symbol just says “Hey, give me anything that has “ight” as its next four characters, and I’m good to go!”. However, it would not match midnight, cat fight, or knight, as those three keywords do not have the same total number of characters (five) as .ight does.

* – The asterisk symbol is defined as “match zero or more of the previous items”. For example, if you typed mo*re into the GA filter tool and hit “Go”, you’d get back terms like moore (someone’s last name), mre (Meals Ready to Eat), and even if someone mistyped and used mooore (with three o’s). The asterisk matches all possible combinations of, in this case, the letter “o”, and it matches it zero or more times.

+ – The plus-sign symbol is almost the same as the asterisk symbol, with one exception – it needs one or more of the previous items. So, using mo+re in the filter tool would match more, moore, mooore, but NOT mre, like our asterisk symbol would.

? – Even pickier than the dot, asterisk, or plus-sign symbol, the question mark symbol only matches zero or one of the previous items. So, if you typed in moo?re, you would ONLY get moore and more in return. You would not get moooore or mre.

| – The pipe symbol is like the friend that always provides an alternate possibility to any possible situation. The pipe symbol basically means “and / or”. Typing in google|yahoo in the bottom filter tool of GA reports will bring up any traffic sources from google and / or yahoo. You can use it multiple times if you also choose, like apples|bananas|grapes|pears|peaches.

These next two symbols are called “Anchors””:

^ – This carat symbol matches anything that starts with your search term or search string. So, typing in ^/products (with the carat symbol as the first symbol in the string like my example) will match things like /products/toys.html, /products/cars.html, and /products/shirts.html. It would NOT match things like /category/products/index.html or /sub-folder/category/products.

$ – This dollar-sign symbol matches anything that ends with your search term or search string. So, typing in /products.html$ (with the dollar-sign symbol as the last symbol in the string like my example) will match things like /category/products.html and /directory/category/products.html. It would NOT match something like /products.html?id=123456. Oh, and don’t worry about that symbol for now – keep reading and I’ll explain.

These next few symbols are called “Grouping” symbols:

() – The parenthesis symbols creates an item, and is mostly used with our friend from above, the pipe symbol, which as you now know means “and / or”. For example, typing in (what|who|wher)ever will return whatever, whoever, and wherever back to you. Another example: astro(naut|logy|s) will return astronaut, astrology, and astros to you.

[] – The brackets symbols creates a list of items. So, typing [123456] will match anything that has a 1, 2, 3, 4, 5, or 6 in it. You should know that each character represents a different item in the list, so don’t use brackets for something like [google] – use the parenthesis instead.

– This dash symbol can be used in conjunction with the brackets symbols. It creates a range in a list. So, instead of having to type [123456], you can type [1-6], and it will match anything between 1 and 6. Something like [1-689] will match anything between 1 and 6, plus the numbers 8 and 9.

Finally, one very important symbol remains:

– The forward slash symbol stands for “escape”. Placing a forward slash in front of any one of the characters that we’ve talked about so far tells Google Analytics to treat that character like a normal character, and not like a regular expression symbol. This is extremely important for those of you matching goals or writing filters of your own – insert a forward slash symbol in front of any regular expression character that you have.

Using Multiple Regular Expression Characters at the same time

This is where regular expressions can really be used to your advantage. For example, let’s say you are in your keywords report, and you ONLY want to match the word more, and not morevisibility or nevermore. Using both anchor symbols – ^ and $, in front of and behind the word more, like ^more$ – will return exactly more, and nothing else. So, the title of this blog is a play on words, as I’m always trying to find something between the ^ and the $ symbol in my Google Analytics reports.

Another example that is used very frequently when using multiple regular expression characters at the same time is when people create filters to exclude data from multiple IP addresses. For example, let’s say two IP addresses from your office are 192.168.25.33 and 75.183.98.145. Your regular expression would look like this:

^192.168.25.33$|^75.183.98.145$

It looks like that because:

1. I am putting a symbol in front of every dot symbol, so that Google Analytics knows that the dot symbols in the IP address are part of the IP address, and not the regular expression dot symbol,
2. ^ and $ symbols surrounding each IP address, so that Google Analytics will match that exact IP address, and
3. A | symbol, which stands for “and / or”, so Google Analytics knows to match either one IP address and / or the other IP address.

Ready for a crazy-looking regular expression?

There is much more about regular expressions that I could write about. However, take what you have learned so far about Regular Expressions, set aside some time and play with the filter tool at the bottom of GA Reports (a great way to get comfortable using regular expressions and how they work), and when you’re ready, take a stab a figuring out what this regular expression does:

^63.212.171.([1-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-4]))$|^180.75.163.
(2[0-9]|30)$

I’ll tell you all about it in my next blog post.

July 17 2008

This types of stuff happens eh-veh-ree-DAY!

by MoreVisibility

In my latest, most desperate of attempts at trying to make our loyal blog readers think I’m hip by using titles that come straight out of popular phrases in rap songs (which is in conjunction with my last attempt with a blog post entitled “Tryin’ to make a dollar outta fifteen cent!“), I’d like to give you an idea of what the typical day-to-day life is like here for me at MoreVisibility. Every time I describe what I do to friends, colleagues, co-workers and even some clients, I talk about how being in Web Analytics is like being a private investigator or a federal agent of the internet. You gather data, compile statistics, find clues, compile some more data, interview a couple of people, and solve the mystery! Then you typically have to present your findings to your boss(es) and your clients, and then talk about where to go from there.

Here’s an outline of a typical day for me (which is sort-of a false statement, because no two days are the same, so there really is no such thing as a “typical” day…but you get the idea).

Date: Wednesday, July 9, 2008, Boca Raton, FL, USA (Temp: 91°)

7:04 AM – I have just woken up, and I’m already thinking about what I’m going to be doing for that day. Do I have an Analytics presentation to give? Do I need to check the coding on a site before it launches? What accounts will I be doing some investigating on? Do I have enough laundry to last until the weekend?

7:57 AM – I arrive at my office, turn on my computer, and see a yellow sticky note on my monitor that reads “Joe – Please see me about [Client]’s Top Landing Pages.”

8:01 AM – While my computer is loading and my email is downloading, I catch my co-worker who explains that our client is concerned that the exits from their homepage is too high. I suggest evaluating the page’s Bounce Rate and maybe a quick Navigation Summary to get a better idea of what is really going on with their homepage. I also mention something about A/B testing with Google Website Optimizer.

8:02 AM – I log-in to my Google Reader account and catch-up with the 60+ Web Analytics and Search Marketing blogs that I subscribe to, while simultaneously responding to emails with questions and discussions from co-workers.

8:41 AM – I am finalizing my speech for an in-person Analytics Presentation to one of our clients, when Amber (Client Strategist) buzzes me and tells me her client added an email address to their Google Analytics account, but they cannot log-in. She tells me she knows what the reason is: “The Email address is not a Google Account yet! It needs to be a Google Account in order to log-in with that Email address into their GA Account.” I start smiling, because that’s exactly right.

9:15 AM – I meet with Shawn, our newest co-worker, and begin to review all of the great things that is Web Analytics. Of course, I have to throw in my private investigator / federal agent simile. I also explain that Javascript-based programs like Google Analytics are only able to collect data from users who have both Javascript and Cookies enabled on their browser of choice. If they don’t, Google Analytics simply cannot track those individuals.

10:30 AM – I am out of water, and I’m starting to get hungry. I think about all of the different possible ordering options, and think how cool it would be if some of our favorite local take-outs would have an online ordering option, and imagine what I would give for a large turkey & swiss right now.

10:35 AM – I start to open up a brand new Google Analytics account for a new client. I provide our client with the necessary tracking code to be placed on every single page of the website. I also explain the many different options available, such as SiteSearch, Ecommerce, Benchmarking, and Filters that can be utilized.

10:59 AM – I receive a phone call from another client who asks me to explain the difference between A/B Testing and MVT (Multivariate Testing). We throw around some ideas of what to test and experiment back and forth, and we agree to launch an experiment using Google Website Optimizer for their AdWords Campaign’s landing page.

11:33 AM – Okay I am REALLY hungry right now and I can’t imagine being able to last another 27 minutes without eating something!

11:34 AM – Marni (another Client Strategist) sends me an IM that reads “It’s working!!!” She is referring to the neat advanced filter that we wrote which added the name of the source and the visitor type in front of the transaction ID in this particular client’s Ecommerce Report section. This is great news, as I’m sure the client will be very happy to hear about this.

12:00 PM – I’m about to grab my sunglasses and walk across the street when I see an Email come in that reads “GA Tracking Issue – Please Help!”, flagged as High Importance. Guess lunch is going to have to wait a while…

12:19 PM – Problem solved! Turns out there were two sets of Google Analytics tracking code on the same page, one urchin.js version and one ga.js version, which is bad news. I then proceed to solve another problem – my hunger.

1:10 PM – I return and find some great discussions starting up on the Yahoo! Web Analytics Forum. It’s really a great forum to check out whenever you can.

1:15 PM – My in person analytics presentation is in 45 minutes. I am very obsessive when it comes to presentations, as I like everything to be perfect, neat, and organized, so I visit our client’s website one more time, and find that they have repaired a bug in their shopping cart that was the focus of one of my main points in the presentation!! I think of a good way to still use this slide in the presentation.

1:38 PM – One of Khrysti’s (Director of Optimized Services) clients is in a bind. They cannot figure out why they are not seeing “yahoo / cpc” or “msn / cpc” in their Google Analytics profile, like they can for “google / cpc”. I reference my latest blog post about Google Analytics URL Coding, and I strut away confidently as I’ve capitalized on another opportunity to tell someone about my Analytics Blog. 🙂

2:00 PM – It’s showtime! Our clients have arrived, and I hand out my business cards and begin with introductions. It’s always great to be able to meet people in person and talk analytics, Site Search, and Shopping Carts to them. This particular client is using both Google Analytics and WebTrends, and they were really concerned about the differences in data between the two, even though they swear that they have everything installed properly. I explained that different analytics packages will always report different values for the same metric, no matter how perfect your installation and coding is.

3:32 PM – I come back and check my own Google Analytics profile for this blog, and I’m surprised to find so much referring traffic from European blogs! I love that someone in Austria and someone in the Netherlands is reading a blog written by someone half-way around the world. I know this because I frequently check my referring traffic reports, to see who is bringing me additional traffic.

4:00 PM – Another one of Khrysti’s clients cannot for the life of them understand why people type in such simple, generic words such as “shoes”, “belts”, and “hats” into their website’s search feature on their online clothing store. They believe something is wrong, broken, or not working correctly. I am pretty sure that their search function is working properly, but I go to their site and double-check with some test searches anyways. After I verify that it is working properly, I pick up the phone and begin to explain to the client that people have much different behavior (and level of tolerance!) when they perform keyword searches on Google or Yahoo vs. performing keyword searches on someone’s website. Again, I direct their attention to my blog by referencing my post about a website’s internal search function.

4:45 PM – My day is starting to come to a close. I like to take a few minutes each day and “spot check” different analytics accounts, just to ensure that everything is still running smoothly and data is being collected and displayed properly. I’m glad I did this, because an important Goal in one of April’s (Director of Strategic Accounts) clients’ accounts has stopped collecting data. After a test on the client’s website, it turns out that the Goal URL has been changed from “thankyou.html” to “thanks.html”. Websites are updated all the time, which is a good reason to routinely double-check your Goals to make sure they are working properly.

5:03 PM – I’m just about wrapping it up here and saying good night to everyone in the office. Out of nowhere, Danielle (my boss) catches me right before I walk out the door. She explains that a new client needs to speak with someone urgently (first-thing tomorrow morning) about what analytics platform they should choose between Omniture SiteCatalyst Hitbox (HBX) or ClickTracks. They also need help in defining new Key Performance Indicators for their executive team, and possibly setting up some custom reporting. I love to think about things like this, especially on off-hours, so I’m glad I have this opportunity.

7:00 PM – Analytics is going to have to wait a while – an episode of Law and Order is on right now that I’ve never seen before. 🙂

All in a day’s work. 🙂

© 2020 MoreVisibility. All rights reserved.