Archive for April, 2010
Posted on April 29, 2010 by Jim Gianoglio
The following question arrived in our inbox recently:
“Thank you for a very good post on filtering traffic for tracking Google Products. However, this will not apply for #1-3 listings showing up on the 1st page of Google right? (and those usually account for most of the traffic)
To get around this I tagged my Google Product URLs as per Google Analytics URL Tagging Tool but found that all of my rankings instantly dropped significantly.
Do you have any other ideas on how to track Google Product traffic in Analytics?”
The post he referred to is Tracking Google Product Search Traffic. In that post, Jonathan gave two methods to track traffic from Google Product search:
- Campaign Tagging
- Advanced Filter
(***Using filters as a form of tracking is no longer a feasible way of measuring search traffic. Google changed the beginning of the URLs so they are the same on both regular search results and within Google Product Search, so a filter no longer works to bring you actionable data. However, campaign tagging is still an effective means of gathering data.)
The second method is the easiest to implement, but only shows you traffic that comes directly from the Google Product search pages. If you have products that are blended into the main Google results page (universal or blended results) this won’t help. Why? Because the filter looks for visits coming from www.google.com/products…. and changes the source to reflect that it’s a visit from Google Products. When a person clicks on your product listing in the main Google results, the referrer is just www.google.com and the filter does not apply, so the visit appears as google/organic.
The Solution
Apply both #1 and #2. By adding campaign tracking parameters to the URLs in your Google Base/Merchant feed, you will be able to track if they are clicking on your listing whether it’s coming from the main Google results or from the Google Product search results. And by also applying the advanced filter, you’ll be able to segment which set of results the visits come from.
But that still leaves the nagging problem of the mysterious dropped rankings that the emailer alluded to:
“To get around this I tagged my Google Product URLs as per Google Analytics URL Tagging Tool but found that all of my rankings instantly dropped significantly”
Oddly enough, something very similar happens when you use this method to track your Google Local Business Listings. Here’s the solution we’ve found to work for the local listings, which should have the same effect for product listings as well:
- For the product URL, submit a vanity URL, like www.greenwidgets.com/category/product/google-products
- Have the vanity URL 301 redirect to the product page with campaign tracking parameters, set off with the hash tag (#) instead of the question mark (?) (why use the hash tag?) For example: www.greenwidgets.com/category/product/#utm_source=google-product&utm_medium=organic&utm_campaign=product123
- Make sure you include pageTracker._ setAllowAnchor(true); in your Google Analytics code (here’s how)
I’ve tested this method for the local business listings and deem it safe, but have only been able to test it in a very limited fashion for Google Product listings. So before you go off and change thousands or product URLs and set up countless redirects, be sure to test it yourself on a smaller scale to be sure it works for you. Don’t say I didn’t warn you.
View Comments (4 Responses) | Categories: Google Analytics, Web Analytics
Posted on April 23, 2010 by Jonathan Weber
In Part I of this series on custom variables, we looked at why you might be interested in using them. Now, let’s take a look at how you actually implement them with code on your site.
Set a custom variable
The code for custom variables is really easy, it’s just a single function. (If you ever used the old user-defined segment function _setVar, the implementation is pretty similar, except there are a few extra parameters.) Here’s what it looks like:
pageTracker._setCustomVar(index, name, value, scope)
Here’s what the four parameters mean:
index is a “slot” that the variable gets put in, because you can have multiple custom variables. It can be a number from 1 to 5. How to use a slot becomes a little complicated, so we’re going to examine it in more depth later.
name and value work together to identify the custom variable. You might have “eyes” and “blue”, or “member” and “yes”, or “section” and “yes”. The name identifies what the variable is about, and the value is the label that applies. There’s a 64-character limit on the combined length of the name and value.
scope says whether the variable applies at the visitor, session, or pageview level. (See the discussion of scope in part I.) A scope of 1 is visitor, 2 is session, and 3 is pageview. The default is 3 if you don’t supply a value.
So, here’s a complete example:
pageTracker._setCustomVar(1, "eyes", "blue", 1)
This says, “Set the custom variable in slot 1 to eyes=blue, and apply that at the visitor level.” Makes sense, right?
Where do I get the values?
One of the most common questions with _setVar and _setCustomVar is, how do I fill in those values? In some cases, the values are the same for everyone to whom they apply (like “member”=”yes”). But for eye color, for example, how do I dynamically separately the blue-eyed people from the brown-eyed people?
Well, first off, you have to already know the information in some way, of course. You had people fill out a survey that asked what color their eyes are, or they filled it out on the form when they registered for your site or made a purchase. Whenever it happened, you captured the value and stored it somewhere — maybe a cookie, maybe a database, wherever that is.
Then, you want to dynamically fill that into the custom variable code. The exact details of how to do this depend on where the value is coming from and how your pages are built (ASP, PHP, etc.). But the basic approach is like this:
pageTracker._setCustomVar(1, "eyes", <<dynamically fill in eye color>>, 1)
Where does the code go?
OK, so once we’ve figured out the code, where does it go?
Just two guidelines here. First, put it on the page where it makes sense to capture it. If it’s the “member” custom variable, put it on the page that members get after they log in. If it’s the “section” custom variable (to record that they viewed the “widgets” or “about us” or “find a store” sections of the website), put the code on the pages in each of those respective sections. If it’s eye color, probably the easiest place is the page where you’ve collected that information.
Second, it’s important that you put this code before a _trackPageview (or _trackEvent) on the page, because the custom variable information gets sent along with the pageview.
We’re halfway there
So, this is all the information you need to record a custom variable. But we still haven’t talked about this “slot” thing. We’re going to leave that to Part III, because it gets a little complicated.
Want to learn more about custom variables? Attend a day of our GA Training in NYC, June 8-10. $499/day.
View Comments (3 Responses) | Categories: Google Analytics
Posted on April 20, 2010 by Christina Keffer
Recently, I gave a presentation about this topic at SMX in Toronto. I’m going to get a little more mileage out of said presentation by posting the slides and detailed notes here on the LunaMetrics blog.

The difference between Traditional Link Building and Social Media Link Building
The biggest difference between a Social Media link building campaign and a traditional link building campaign is the type of links we’ll be going after.

With traditional link building campaigns, the focus is on links that will help your site RANK higher. Links that pass on link juice, enhance page rank and trust rank and generally improve the strength of your domain. If the links also drive traffic — great. The logic is Links lead to Rankings which in turn leads to Traffic.
Social media links are a horse of a different color. Our goal is to create links that will likely be tagged nofollow and therefore pass very little link juice or provide any benefit to rankings at all. The end result will be the same as ranking higher: Loads and loads of targeted traffic to the site. The logic here is Links lead directly to Traffic.
For the record, I am not saying that ranking is not important. Let me state my opinion here boldly so that I may never be misquoted: Rankings are important! Ranking high for targeted keywords drives lots of awesome traffic to your site! A social media link building campaign should augment your current link building efforts, not replace them.
A Quick Definition of Social Media Sites

The best definition of a Social Media site, or Social Media platform, as they’re sometimes called, is in the slide above. I stumbled across it one day and then totally forgot who said it so unfortunately I can’t cite the original. (If you said this contact me and I’ll link to you!) This definition covers a broad spectrum of sites: Sharing and Community sites are ones like Facebook and Myspace. Review Sites include Yelp and Citysearch. Popularity sites like Digg and Redit rank your content against other content.
Promo sites might be one of the most overlooked social media platforms EVER. They’re sites that post promo codes and deals. Thunderfap, though ineptly named, is one of the best examples of a promo site. Microblogging sites include Twitter and Tumblr. Blogs and Forums are self explanatory. The ones you’ll focus on depend on your industry.
Planning your Social Media Campaign

- Research: The first step to planning your social media campaign is researching where your demographic hangs out online. Are your potential customers (readers, investors, contributors etc.) Tweeting their fingers off or are they lurking around a forum? Or a little of both with some Facebook thrown in. Narrowing down your target sites will go a long way to help you streamline your campaign and ensure that you’re not focusing your efforts on sites that are useless to you.
- Building Your Persona(s): The second step is creating your persona. For the purposes of this blog, a social media persona is a character you create to represent the brand you’re promoting. Unless you’re promoting yourself, you should create a social media persona around your brand and not mix business with pleasure as it were. If you are a vendor and have several clients, lump them into verticals and create a personal for each vertical. For instance, if you have a restaurateur, a kitchen goods retail store and a food blogger as clients, these can all be lumped together in one vertical since the subject matter overlaps. Trying to maintain a persona for each client is a huge mistake because there is no way you can ever do them all justice and still have enough time in the day to take care of other obligations.
- Identify Your Targets: Your targets in this case are the people on the social media platforms that are most likely to disseminate the links that you post. On Twitter, a great target would be a Tweeter who talks about similar things, has a large following and retweets or links often. On Facebook, a related page or group could be a target. On Yelp, people who are dissing your competition can be targets. (Or people talking you down, surprisingly enough.)
- Build Relationships: It all comes down to this. You can’t speak into a void and expect anyone to listen to you. One must build firm relationships online in order to be heard when they speak. If you just randomly @ someone on Twitter with a promo, and they’ve never heard of you before, there is a much smaller chance that they’ll retweet or even follow your link.
- Choose the Best Pages to Link To: If your goal is to bring traffic in and convert it into sales, engaging product pages are the best pages to link to in your Social Media campaign. If your goal is to encourage inbound links of the traditional sort, you need to link to viral pages on your site. Either way, choosing the page to link to is as important as choosing who your targets are.
- Start Plugging, but Stay Classy: It’s important to obey good social media etiquette when you do start linking to your site and encouraging others to pass those links along and drive traffic for you. Don’t just shout about yourself all day, and for Pete’s sake, don’t spam your targets with tons of links. It’s annoying and it will ruin your credibility and destroy any chance of success.
Specific Strategies

This is a Shameless Tease. Now that we have all the theory down, stay tuned for my next post when we’ll put it into practice with specific techniques you can take right from this very blog and apply to your own personal campaign.
View Comments (5 Responses) | Categories: Conversion Science, Industry News, Writing for the web
Posted on April 15, 2010 by Jim Gianoglio
A question from the mailbag
Someone emailed a question to me the other day, and it’s something that’s been on my mind (because I’ve been experiencing some similar issues). Here’s the question:
When scheduling reports to come via email, I can’t seem to get the secondary column [dimension] to appear. Only the primary column [dimension] shows up. If I Export the report it will show up, but only when I schedule the report does it not show up. Do you have any idea why? Is this a bug in GA?
* words in italic are mine
I ran a few quick tests to see what information will come through in emailed reports. Here are the test reports I set up:
- Test 1: Keyword Report > including date comparison; pivot by source showing visits and pages/visit; and secondary dimension set to landing page.
- Test 2: Same as Test 1 with the addition of two advanced filters (to exclude specific keywords AND include only visits with greater than 1 page/visit)

- Test 3: Keyword Report > using the following advanced segments: All Visits, New Visitors, and Returning Visitors (no date comparison, pivot charts, secondary dimensions or advanced filters)
When emailing reports through Google Analytics, you have two options: “Send Now” or “Schedule.” With the scheduling option, you can set it up to automatically email the report daily, weekly, monthly or quarterly.

I ran these reports and emailed them to myself first using the “Send Now” option, and everything came through in all three tests. (Click on thumbnails below to view larger)

Test 1

Test 2

Test 3
I also scheduled all three test reports to be emailed to me daily. Sure enough, this is where the data does its vanishing act. Here are the same three test reports as above, only this time they were from scheduled emails:

Test 1 - Scheduled

Test 2 - Scheduled

Test 3 - Scheduled
I’ll save you the time of looking through each report to figure out what’s there and what isn’t – pivot charts and secondary dimensions DID NOT get included in the scheduled email reports. However, date comparisons, advanced filters and advanced segments came through just fine.
(Note: the test reports were set up to send in PDF format. You can also send as CSV, CSV for Excel, TSV and XML files. I haven’t yet tested to see if secondary dimensions or pivot charts come through in these other formats – I’ll update this post as soon as I find out. UPDATE: After setting up the scheduled reports to be sent in all formats – PDF, CSV, CSV for Excel, TSV and XML – I have confirmed that the secondary dimensions and pivot charts do not come through in any of these.)
View Comments (4 Responses) | Categories: Google Analytics
Posted on by Jonathan Weber
Google Analytics recently introduced custom variables as a way to keep track of information about your visitors beyond the stuff that Google Analytics already knows about them.
What is a custom variable?
GA already records whether someone is a new or returning visitor, from which country and city they’re browsing, from what campaign or keyword or link they arrived at your site, and more.

But sometimes you know other information about your visitors that you might want to keep track of in GA as well. Your CRM system might have demographic information about people, for example. (We’ll look at some more examples below.) If you stored this information in Google Analytics, with the use of Advanced Segments you could see whether males between 25-45 with kids were more likely to purchase than females 18-25 with no kids (or whatever).
Didn’t Google Analytics already have this?
Before “custom variables”, there was the “user-defined segment”. Notice the singular “segment” vs. plural “variables”. You used to have to do all sorts of contortions to store more than one value with this feature. Now, with custom variables, you can easily store multiple values.
(Please note: If you’re using the old user-defined segment, Google hasn’t announced that it will go away any time soon. But clearly custom variables are the way of the future.)
Scopes and how to use them
We’re not going to talk about the technical details of custom variables (we’ll save that for a later post). But I do want to talk about one important property that they have called “scope”.
The scope basically indicates to what level of detail in Google Analytics the variable should apply. The scope can be visitor, session, or pageview.
Visitor level variables are much like the old user-defined segment. They get stored in a cookie for the visitor and apply every time that visitor returns to the site. This scope is best used for properties that are intrinsic to the visitor, or at least semi-permanent. You might want to record such things as:
- Demographic information: age, gender, income, family, occupation, etc.
- Customer information: “member” or “subscriber” or “gold club”
- Original source information: how did they originally find out about us
Session level variables apply only to the single session (visit) during which they are recorded. They’re great for particular behaviors that occur during a visit, such as:
- Added an item to the shopping cart.
- Viewed a particular section of the site.
Pageview level variable apply only to the single pageview during which they are recorded, potentially including such things as:
- Marked a page as a “favorite”.
- Notified a friend about an article.
- Viewed another tab within a page.
(Note that using pageview-level variables potentially have some overlap with event tracking. It’s up to you which model works better for particular actions on your site.)
More about custom variables
Now that you have some idea about why you might want to use custom variables, we’ll talk about how to actually make use of them in later blog posts. Check back soon for another post in this series.
View Comments (5 Responses) | Categories: Google Analytics
Posted on April 9, 2010 by Christina Keffer
Measuring Online and Offline Conversions from Search.
Speakers
Andy Fisher
Ezra Silverton
Scott Duncan
Andy Fisher:
It’s almost impossible to map everything that people do before they get to your site. Most solutions don’t work.
There are many cases where being able to track site-side behavior is incredibly important. For instance deciding what kinds of products to sell.
Do you have a good SEM strategy? Do you have a good SEO strategy? Does everyone in your company agree on what a “conversion” is? Once you know these things, you’ll be able to start.
When you actually start to look at search sequences, you find that they’re more complicated, random and interesting than you thought.
Find out which offline/online things you can attribute sales to. Look at search sequences: i.e.
- saw and ad and typed search term in search bar
- get to site
It’s easy to attribute the sale to search even though it was the ad that originally triggered the search.
Some tools make attribution hard to judge attributions.
On site analytics are usually last click. Some are first click.
Conversion Attribution models:
- Last Click, Last view gets credit.
- First click gets credit.
- Equal Touch
Do search network attribution only.
TV had an effect on search traffic. In each silo, TV silo, network silo, ad silo, every click look like it should be attributed to them.
Ezra Silverton and Scott Duncan:
Ad campaign goes out across all media: Print, Radio, TV, Onilne. They’re pointed at
- Inbound calls (unique number)
- Website (unique url)
- Email (unique email address)
Every action online can be tracked, but what happens when someone calls you to convert?
ref:Code Analytics Product: Provides information on user’s online behavior including referral source, paths, keywords searched, pages viseted etc. in real time.
Case Study: George Brown College
They sell online technical training programs.
Multiple domains, print ads, SEO, SEM, Youtube TV Radio
Front door is lead generation which gets fed into the CRM tool MAximizer
Approximately 70% of people visit the website before contacting (calling, emailing or filling out web form.)
Campaigns push prospects to website address or phone to obtain info package or discuss with advisor.
Offline methods go to specific web pages on the site and a set of different 800# in order to track who comes in through which on or offline method.
Google Web Analytics to track website traffic.
Online ads are tracked through normal ways: Google Analytics tags email software tracking tags.
Hard to get a good idea of attribution from asking the clients how they got to the site because half the time they don’t know how they REALLY got there.
The sum of the ad tactics is more than the total. If they kill the TV line, other parts will suffer etc.
Andrea Hadley chimes in:
She overlaid GA paid search trending with her call center trending. She knew that people who bought the clients product after calling, so it was important that these trends matched.
Great panel discussion!
View Comments (No Responses) | Categories: Industry News
Posted on April 8, 2010 by Robbin Steif
Some of our most important pages just don’t get enough love, and shopping carts are certainly in that category. Too often, we just copy them from other company websites and don’t take the time to learn what works well for ourselves.
Here are ten ideas on how to put more time, though and love into your shopping cart (and increase your conversion rate.) Remember that they are just ideas; what works well for someone else might not work well for you.
- Make sure that your cart allows visitors to shop without registering. This one is a no-brainer. Sure, it’s nice to get the registration, but wouldn’t you rather get the order? Get a password from them as they fill out their info, and you’ve got their registration.
- If you do want to get registrations, give people a reason why they should bother. For example, you could keep track of what products they purchase and make it easy for them to reorder. Keep track of their gift ship-to addresses. Maybe a good place to start is to decide why you want a registration in the first place.
- On the one hand, your cart may need to accept a coupon or discount code. On the other hand, if visitors know there are discounts, they may leave and start looking for coupons. Perhaps you can have the best of both worlds by renaming it (“marketing code” or “key code.”)
- Reassure people at the right time. The visitor gets to the shopping cart and has doubts. Are they going to use my email address to send me lots of spam, he wonders? (So, link to your privacy policy right there.) Is my order secure, she wonders? (So, show off your Dasient Safesite icon or other similar “protection chicklet.”)
- Show a summary of what the visitor is buying on every screen of the shopping cart. There is nothing more infuriating than the requirement to type in a credit card without being 100% sure what product is in the cart.
- Speaking of every screen, try to get your shopping cart down to one screen. Clicks are precious – every time someone clicks is another opportunity for them to reconsider the purchase. But if you need too much information, a long cart can be intimidating — so with multiple pages, let them know where they are in the process.
- If your cart needs to include both a bill-to and ship-to address, be sure that the customer can check a box after the bill-to information is done to indicate that the ship-to information is identical.
- Don’t force the customer to enter information in a specific format. This is usually a problem in the telephone number field and in the credit card number field, where the shopping cart doesn’t want dashes or dots. In fact, when the customer uses dashes (or dots) it becomes much easier for him to enter the information correctly
- Your customer service phone number should be in your shopping cart so that people can call with questions and problems. If your company isn’t big enough to support a full-time customer service staff, you can discourage too many calls by including a phone number that is not toll-free, having your voicemail pick up the call during non-business hours (a lousy solution but better than none) and including your email address. Any contact information is better than no contact information at all.
- Don’t include your persistent navigation (top navigation, left navigation bar) in the shopping cart – instead, you need to have your branding without navigation. You want to close the sale. (You have to balance this advice with opportunities to up-sell and cross-sell and keep the customer feeling secure about you as a company.)
- Bonus: On the “Thank you for your order” page, suggest to customers that they go back to your site and purchase all the items that they forgot the first time.
Robbin
View Comments (1 Response) | Categories: Conversion Science
Posted on April 6, 2010 by Robbin Steif
Recently, a reader sent a question to me about ways to create a “member only” segment. He wrote this:
“I was wondering if I can create an advanced filter [emphasis mine] that would create a profile for subscribers (url containing /authenticated/) and non-subscribers?”
I like to use filters and profiles a lot. That is why this reader wrote me, and in his email (not copied fully here), he even referenced blogposts I have written about filters.
However, this particular problem is really a job for Advanced Segments. First, let me explain the issues that one usually faces, then let me explain why they don’t matter here:
The issues: One of the big differences (but not the only difference) between using Advanced Segments vs Profiles/Filters comes into play when you want to look at only specific pages. Example, only pages that include /blog/ or only pages that include /shopping/ etc. With profiles and filters, you can include just those pages. With Advanced Segments, you will get a segment of all visits that included a trip to the page(s) that are being included. Advanced Segments are arguably the most useful when you are looking to segment by type of user: only users who came from India, only users who arrived by an email click, etc.
Why they don’t matter here: This individual, who wrote me, wants to segment between member and nonmember, and notice he pointed out that the difference between them can be easily understood — members are those that visit a page with /authenticated/ in the URL. So all he needs to do is create an advanced segment at the page level, like the screenshot below. When the segment includes only visits to pages that include /authenticated/ in the URL, it really means it includes all visitors who included a trip to one of those pages in their visit. In this case, he will be able to harness the problem of Advanced Segments (it pulls in ALL the pages of a visit if it includes the specified page) and use it to his advantage (he WANTS to see all the pages of those visits.) The result will be that he’ll have an easy-to-create Advanced Segment with retroactive data.
Sidenote: One problem with this solution is that some members might visit the site and not visit a page with “authenticated” in the URL. A better solution might be to create a visitor-level custom variable that would get set whenever a member did visit an authenticated page. That implementation would mean that the member would have his “membership” stored in a cookie on the browser, and it would persist across many visits, including those where he didn’t visit an authenticated page.
Robbin
View Comments (1 Response) | Categories: Filters, Google Analytics
Posted on April 5, 2010 by Christina Keffer
LunaMetrics is hitting the road! In the next week, 3/5 of our office will be underway, speaking at various events.
Jonathan Weber will be speaking on a panel entitled “Data Data Everywhere: Drowning in a Sea of Analytics” at the NTen Nonprofit Technology Conference in Atlanta, GA.
Robbin Steif will be gracing attendees of the Open Educational Resources summit with her presence. She’ll be leading conversations around Google Analytics. This open learning initiative summit is funded by the Hewlett Foundation and Yale.
I will be speaking on a panel at SMX Toronto on a panel entitled “Link Building Strategies and Ranking Tactics.” I’ll be presenting on increasing traffic through social media. I’ll also be attending several really interesting discussions and liveblogging them right here on LunaMetrics’ blog.
See you ’round!
View Comments (No Responses) | Categories: Announcements
Posted on April 2, 2010 by Jim Gianoglio

April Fool’s Day is over and life on the interwebz has gone back to normal. We can go back to reading blog posts without questioning their validity. We can click on links without fear of being Rickrolled (go ahead – click on it, I dare you).
Our post from yesterday was fun, short, and completely 100% false. But it did give us a chance to do some testing (what kind of web analysts would we be if we didn’t throw in a bit of research?). In our Fool’s Day post, we linked to the Rick Astley music video – “Never Gonna Give You Up” – masking it as a link to an announcement from Google about things that would get your site banned. We linked to it in three places – the first paragraph, second paragraph and in the last sentence.
Side note: I thought it was bad when “The Wheels on the Bus” song got stuck in my head for a week. That was nothing compared to 2 days of Astley.
We tagged each link with an onclick event to see how many of you took the bait, and which bait you took. Here are the numbers:
Pageviews – 255
Unique pageviews – 171
Link 1 – 54 clicks
(anchor text: “Read the full announcement here”)
Link 2 – 23 clicks
(anchor text: “specific features listed”)
Link 3 – 19 clicks
(anchor text: “the announcement”)
Not surprisingly, the first link got the lion’s share of clicks. This is a good reminder for your next newsletter, press release, e-mail or blog post: put the important information (and links) at the top.
View Comments (No Responses) | Categories: Blog Analytics, Usability