Google+ Local: It Really is a Game Changer

Google's Canary In a Coal MineThe conversion of Google Places pages to Google+ Local pages earlier this month was a game changer. Yes, it seems like Google comes out with something shiny and new every other day that can be termed a “game changer,” but this one actually is. Especially for small business owners whose profitability depends on the prominence of their position in a local Google search conducted by potential customers. And more changes are on the way. Big changes.

The Story

In short, what happened on June 1 was Google began the process of converting the business places pages that used to serve as a company’s primary presence in the Google search universe. Those Places pages, when verified by the owner and properly optimized with accurate information about the company, began to dominate many search results about two summers ago.

Google + Local

Now, instead of a Google Places page, companies will have a new Google+ Local page. Much of the same information will be included, but the presentation will be cleaner and – in theory – provide more social functionality for consumers. The five-star rating system Google used for customer comments has been replaced by a 1 through 30 Zagat rating system (think restaurant reviews, only for all types of businesses).

ZagatWhy You Should Care?

Why is it important for business owners to know this? Because this is more than a simple renaming of a product by Google. This is the proverbial canary in the social coal mine, and what happens next could very well shift our whole way of thinking about how we use the Internet for commerce. Google’s commitment to all things social kicked into full gear last year, with the introduction of the Google+ social network. Google+ for business followed, and now comes Google+ Local.

Google+ was greeted with relative indifference. Compared to the nearly 1 billion users on Facebook and 500 million on Twitter, the 90 million Google+ users barely register as a ripple. Business hasn’t ignored it as a way to interact with consumers, certainly, but any social media strategy inevitably begins with Facebook and Twitter (and, increasingly, Path, Pinterest and Instagram).

So, how might the introduction of Google+ Local change that for companies that rely on search position to create conversions and sales (in other words, just about every small business in existence)?

Unlike Google Places pages, Google+ Local pages will be indexed by search engines. This means a well-optimized Google+ Local page is now critical. You might have gotten away with setting up your Google Places page and then ignoring it, as long as your company’s website was optimized and filled with fresh, engaging content on a regular basis. You won’t be able to do that with a Google+ Local page, because this thing is going to show up in the search result. Although no one can predict just how prominent they will become in search results, especially in the ever-shifting world of mobile search, there’s every reason to believe a Google+ Local page might take precedence over your company’s own website. And even if that doesn’t become the case, it would still be foolhardy to ignore your Google+ Local page, because there’s another factor that is steaming our way.

The Longer Term Impact

That factor goes right back to Google’s very public commitment to social. Soon – Google isn’t saying when, exactly – the Google+ Local page will be directly tied to your company’s Google+ business page. As of now, the back end dashboard for the Google+ Local page will be the same as you used for your Google Places page. But that will change when the two become integrated, and there’s another social-related reason for that, as well.

Google Sign InGoogle wants people to sign in under their Google user names when they conduct Internet searches. The most important corporate asset Google has is the user data it collects as people use its products. In the past, people used to be able to interact with businesses on Google Places pages without being signed into a Google+ account. Now, if someone wants to make a comment on a business on a Google+ Local page, they must be signed into their Google+ account. This will eliminate the dreaded anonymous review, which seems great. But that cuts both ways, because people in their Google+ network will immediately know exactly what they think of the business, and potentially make buying decisions based on that opinion. A bad review written with an actual name attached carries much more weight than an anonymous shot that could have been written by a malicious competitor or disgruntled former employee.

The Facebook Threat

The tie-in between Google+ and Google+ Local reveals the real crux of it – Google isn’t trying to become the next Facebook. By tying Google+ personal accounts to Google+ Local reviews, and by tying Google+ Local to your company’s Google+ business page, Google is trying to become all things to all people.

And since Google is still the 800-pound gorilla of search, you need to pay attention to this inexorable shift to social. It matters to the bottom line now, and it’s going to matter a great deal more in the future.

Do you have a different take on this move by Google? Let me hear from you.

How to Implement _trackPageview() with Google Analytics new Asynchronous Tab

Tracking pageviews in Google Analytics
If you are planning your migration to the new asynchronous Google Analytics tag then you probably need to migrate your override of the _trackPageview() code you set up using the old non-asynchronous code.

Or perhaps you migrated your web analytics already and just realized that you didn’t code your new Google Analytics tag correctly.  Either way, here’s your answer.

Old code sample: Synchronous

var gaJsHost = ((“https:” == document.location.protocol) ? “https://ssl.” : “http://www.”);
document.write(unescape(“%3Cscript src='” + gaJsHost + “’ type=’text/javascript’%3E%3C/script%3E”));

var pageTracker = _gat._getTracker(“UA-1111111-11”);


New code sample: Asynchronous

var _gaq = _gaq || [];
_gaq.push([‘_setAccount’, ‘UA-1136567-11’]);
_gaq.push([‘_trackPageview’, ‘/landingpages/goal1.html’]);   (function() {
var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl&#8217; : ‘http://www&#8217;) + ‘’;
var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);

Why override your trackPageview?

If you don’t change the default _trackPageview()command then the page recorded into your Google Analytics reports will be the fully-qualified URL of the page with the tag.  This is usually fine for most implementations.  But there are times when you need to control the page name being logged.

Why do people override page name

  • Dynamic pages

Depending on your website’s technology, some pages (or the code that implements them) may show the same URL even though the pages are logically different and distinct to the website visitor.  In those cases you need to have your webserver also assign a unique page name to each of the logical instances.

  • Goal/thank you page

When you use goals you sometimes come across the need to define the goal in Google Analytics in advance of knowing the fully-qualified URL.  Thus you need to pre-define the URL and have the web page assign it regardless of the where the page eventually resides.

I’d be interested in your experience with _trackPageview().

  • Why do you use it over the default URL method?
  • Are there any other gotchas migrating to the new Google Analytics asynchronous tag?

Pump Up Your Website With These 25 No-Brainers

<span class="drop_cap">T</span>Whether you’re new to online marketing or a seasoned veteran, it sure is nice to see what others consider important when setting up or taking over the online marketing for a business and its website.

Below is my Top 25 list of things to do from Day One.

It’s a simple list and knocking them out is not really that hard after you’ve done each once.  So don’t let it intimidate you.

Start with the simple ones and move from there!

  1. Implement Web Analytics!
  2. Setup Google Webmaster Tools
  3. Setup Google Webmaster Tools for www and non-www
  4. Track 404 Errors – Pages Not Found
  5. Create 301 Redirects for pages not found
  6. Exclude yourself from Web Analytics (Google Analytics, Adobe Omniture SiteCatalyst, etc.)
  7. Create a mobile version of your site using MobiSiteGalore
  8. Test your page load times using Page Speed
  9. Create HTML, XML and geo sitemaps
  10. Archive your website using SurfOffline
  11. Audit broken outbound links  using Xenu Link Sleuth
  12. Use a trackable phone number
  13. Create robots.txt
  14. Implement Hcard
  15. Redirect non-ww to www
  16. Redirect index.html to /
  17. Claim your business on Google Places
  18. Create a favicon.ico for your website
  19. Confirm your website’s IP address is not blacklisted
  20. Add alt tags to your website images
  21. Validate the HTML used on your website
  22. Claim your business on, and
  23. Set up Google Alerts
  24. Validate Browser compatibility
  25. Set up site search within Google Alerts
  26. Set up a globally recognized avatar (gravatar)

My list is actually much longer than this, but these are my top 25.

Do you think they’re right?
What did I leave off?

Tell me in the comments below.

Visitor Insight with Site Search and Google Analytics

Site Search Google AnalyticsI don’t know about you, but I rarely use the site search box on any website.  If I’m searching, it’s on Google.

But I’m the exception.  Or if I’m in the majority, there are plenty of users who do use a website’s site search feature.

So let’s see how you can tie your site search into Google Analytics to derive some visitor insight.

Making the Connection

Site Search Configuration Options

Site Search Configuration Options - Click To Enlarge

Connecting the two is quite easy.  Presuming your site search produces a results page with the search string in the address (e.g. you just identify that parameter (‘s’ in the previous example) to Google Analytics.

To do this go into your Analytics profile settings, edit the profile and select ‘Do Track Site Search’ and enter your search parameter.

Site Search Menu Options

Site Search Menu Options - Click to Enlarge

From then on Google Analytics will track and report on your visitors’ site searches.  That’s where the gold comes out.  From your main Google Analytics report menu on the left, choose ‘Content’, then ‘Site Search’.

The Golden Ticket

You can now track:

  • How popular is your site search feature?  [Usage Report]
    • This could be a good or bad number depending on how important you consider site search.
  • How many people were not satisfied with their first results page and did a 2nd search (refined)? [Search Terms Report]
    • What terms did these visitors have in common?
  • Which search terms caused people to leave your site? Or stay much longer than the average visitor? [Search Terms Report]
  • Which search terms result in conversions? Which resulting pages result in conversions? [Search Terms Report]
  • Which internal page prompted the most searches? [Start Pages Report]
  • What were they really looking for? [Destination Pages Report]

No Search?

If you don’t have a search tool already integrated into your website, take a look at Google’s Site Search.  It’s simple, free and easily integrated with Google Analytics

Dead End Page – How To Track Error 404 – Page Not Found

Dead End - Page Not FoundLanding on a website and getting a 404-Page Not Found error is frustrating.  But owning the website with those errors can mean lost money.  If you’re not already tracking these errors, here’s your primer to start today.

If you’re here to implement 404 Page Not Found tracking and know why you need it, you can skip this first section.  If not, I’ll cut to the chase.  Tracking when your website visitors request a page that doesn’t exist has many advantages.  To do this is not just a nice feature to implement, it’s a requirement.  The downside to this is a very poor user experience.

  1. You may have links into your website from other sites that you aren’t aware of.  Those links may be pointing to non-existent pages on your website.  This has two major downsides:
    • Visitors hate 404 – Page Not Found errors.  They typically bail on the site rather than work to find out the real page they were meant to land on.
    • Search engines can’t pass any of their link love from the other site to yours.  Losing that love is a tragedy.
  2. The tactic of creating a custom 404 page is good business.  It forces you to consider the scenario and how you would like to be perceived should someone land on a dead page on your site.

The Code

Common Code

Regardless of your vendor you will need to either locate the current 404 page on your webserver or create one if one doesn’t exist.  This is where you’ll be creative and really consider the user experience with humor, information (sitemaps?) or redirects.

On this custom 404 page you will tag it like all of your other webpages with the following exceptions.  One for Google Analytics and for (Adobe) Omniture’s SiteCatalyst.

Google Analytics

For Google there are two tagging versions you can consider depending where you are in your timeline of migrating from their synchronous versions to their latest asynchronous version.

Note that as of this writing I personally have run into a significant problem with the asynch code and have rolled it back until it can be addressed by Google.

The code snippets below are your typical code snippets provided by Google Analytics with the addition of detailed trackPageview parameters.  These parameters allow your reporting to expose which page the visitors were trying to reach and where they came from.  See Google’s explanation of 404 tracking.

Old School: Synchronous code
var gaJsHost = (("https:" == document.location.protocol) ? " https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "' type='text/javascript'%3E%3C/script%3E"));

var pageTracker = _gat._getTracker("UA-xxxxx-x");
pageTracker._trackPageview("/404.html?page=" + document.location.pathname + + "&from=" + document.referrer);
} catch(err) {}
New school: Asynchronous code
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview', '/404.html?page=' + document.location.pathname + + '&from=' + document.referrer]);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);

Regardless of which version of code snippet you use, your reports will look similar to this.

Sample Resulting Report

google analytics 404 error pages not found report

Google Analytics Report - Click To Enlarge

The simplest way to view these reports is to create an advanced segment that sets the Page as containing “/404.html”, or whatever your custom 404 page URL begins with.  Make sure it is qualified as “contains” and not “matches exactly” or anything else.

After applying this advanced segment go to “Content-Top Landing Pages”, from there you’ll be able to see a report detailing each instance of the 404 error along with the intended destination page and the site the inbound link came from.


sample code


Do not set the s.pageName variable on this page!

From (Adobe) Omniture’s SiteCatalyst v14 Implementation Manual

SiteCatalyst pageType Implementation

SiteCatalyst pageType - Click To Enlarge

2.1.44 pageType

The pageType variable is used only to designate a 404 Page Not Found Error Page. It only has one possible value, which is “errorPage.” On a 404 Error Page, the pageName variable should not be populated.

Table: pageType Variable Parameters

The pageType variable captures the errant URL when a 404 Error Page is displayed, which allows you to quickly find broken links and paths that are no longer valid on the custom site. Set up the pageType variable on the error page exactly as shown below. Do not use the page name variable on 404 error pages. The pageType variable is only used for the 404 Error Page.

! NOTE: In most cases, the 404 Error Page is a static page that is hard-coded. In these cases, it is important that the reference to the .JS file is set to an appropriate global or relative path/directory.

Syntax and Possible Values

The only allowable value of pageType is “errorPage" as shown below.




SiteCatalyst Configuration Settings


Pitfalls, Questions and Tips

To capture other server-side errors (like 500 errors), use a prop to capture the error message and put “500 Error:

<URL>” where <URL> is the URL requested, in the pageName variable. By following this course of action, you can use Pathing Reports to see what paths caused users to generate 500 errors, and the prop will explain which error message is given by the server.
omniture sitecatalyst pages not found report

Omniture SiteCatalyst Report - Click To Enlarge

Tracking 404 Error Pages Improves Visitor Experience

This tactic has proven invaluable to me and my clients.  Over time we notice the number of visits to the custom 404 page go down because we create custom 301 redirects for each bad inbound link and redirect to the most appropriate page on the site.  This regular maintenance slowly firms up your website and in the end creates a better visitor experience.

How do you exclude yourself from Google Analytics or Omniture SiteCatalyst?

Google Analytics Exclude YourselfLast year I blogged on excluding yourself from web analytics reporting.  In particular, I dove into how to manage large numbers of IP addresses in your exclude filters for Google Analytics.  But the landscape has changed since then.  Now the methods need to be tweaked and there are some gotchas worth sharing on how to exclude yourself.


Depending on the size of your company, or more importantly the visitorship of your websites, the impact of internal visitors to your reporting could be huge and misleading.

Even for some of my tiny sites where I’m looking for traction in the early stages of life, I don’t want my footprints to be muddying up my web analytics.

Fortunately most web analytics packages allow you to remove, or at least hide, yourself and your visits.

When I refer to “my footprints” I’m really talking about me, my company, my client’s staff maybe even vendors.  Anyone that would be considered “internal traffic”.


The two most common methods for excluding yourself from your web analytics reports are: cookie-based and IP/domain exclusion.  There are pros and cons to each and that’s why Google Analytics and Omniture’s SiteCatalyst leave the decision up to you by providing you both options.

Cookie-based Exclusion

  • PROS:
    • For mobile computers or computers that regularly connect via dynamic IP addresses, this is the only method that works.
    • If there are devices on the same IP (not internal IP, but rather Internet-facing IP) as you then again you have to use cookies
  • CONS:
    • If your machine or software regularly deletes cookies (browsers can be configured to do this on closing) then you will need to continually re-add the cookies
    • Once a visit has been excluded via cookies, they cannot be retrieved.

IP/domain Exclusion

(Domain names just resolve to an IP address so they are lumped together for this purpose)

  • PROS:
    • If you do not have the ability to place cookies on the target devices (too many or remote) then you will have to exclude them via IP addresses or domains
    • You can use the filter on some profiles and not others. This allows you to have some reports with internal traffic excluded and others with the internal visitors included.
  • CONS:
    • You may not be able to inventory each and every one of your IP addresses, therefore leaving you open for contaminated web analytics reports.

Current Techniques

For Google Analytics, you need to go to your setup view and click on “Filter Manager >>”

Google Analytics Filter Manager

Google Analytics Filter Manager - Click To Enlarge

From there click on “Add Filter”

Google Analytics Add Filter

Google Analytics Add Filter - Click To Enlarge


There you will name the filter “Home Router” or “Corporate Office IP”, choose “Predefined Filter” and choose to either exclude based on IP address or domain.  It’s that simple.

Google Analytics Filter Types

Google Analytics Filter Types - Click To Enlarge

If you need to exclude many IP addresses, you need to dive into regular expressions which then lead you to the 225 character maximum and custom filters.  It’s not hard, but it’s also not 5 minutes of work.  I’ve built custom filter lists numbering over 30, encompassing over 200 IP addresses.  Fun times!


Here you’ll need a custom filter that Google has done a great job of explaining it in detail.

Google Analytics Cookie Filter

Google Analytics Cookie Filter - Click To Enlarge

Note the code needed on the exclude.html page had been updated with the latest asynchronous Google tracking code snippet.  Here’s the HTML code from a site that I have not yet upgraded to the latest code version.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="" xml:lang="en" lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Exclude Me</title>
<body onLoad="javascript:pageTracker._setVar('test_value');">
<p>This computer now has a cookie placed on it to exclude it from any Google Analytics reports.</p>
<p>If you delete your cookies, you will need to revisit/reload this page again.</p>

var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "' type='text/javascript'%3E%3C/script%3E"));

try {
var pageTracker = _gat._getTracker("UA-1111111-11");
} catch(err) {}

Update: Here’s how the code should look using the new asynchronous tag.  Note, I haven’t actually implemented this yet, but it’s pretty straightforward.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="" xml:lang="en" lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Exclude Me</title>
<body onLoad="javascript:pageTracker._setVar('test_value');">
<p>This computer now has a cookie placed on it to exclude it from any Google Analytics reports.</p>
<p>If you delete your cookies, you will need to revisit/reload this page again.</p>

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-1111111-11']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);


With Omniture’s SiteCatalyst, there may (and should) be a quicker way (please comment if you know it), but I manage it by logging in and going straight to “Exclude by IP”

Omniture SiteCatalyst Exclude by IP

Omniture SiteCatalyst Exclude by IP - Click To Enlarge


Here you’ll be able to add IP addresses one by one to your report suites.

Omniture SiteCatalyst IP Exclusion

Omniture SiteCatalyst IP Exclusion - Click To Enlarge

Two limitations: I don’t know of a way to add a domain exclusion, and if you want to exclude a large number of IP addresses, my Omniture account manager told me it would involve their professional services team ($$$).  I’ll have that need soon and I’m too stubborn to pay for something that should be free.


To enable cookie exclusion, on that same “Exclude by IP” you will see a very well-hidden link title “click here” (brilliant label) that will take your cookie “jar”.

Omniture SiteCatalyst Cookie Exclusion Option

Omniture SiteCatalyst Cookie Exclusion Option - Click To Enlarge

Here you’ll either see a button that says “Exclude” (your computer is not yet excluded and needs to have a cookie placed on it) or “Reactivate” (your computer already has the needed cookie placed on it).

Interesting!  When I went to take my screenshot I ran into an error.  I tried multiple browsers, report suites and computers.  For now you’ll need to trust me the button usually exists where “undefined” is below.

Omniture SiteCatalyst Cookie Exclusion Error

Omniture SiteCatalyst Cookie Exclusion Error - Click To Enlarge

A very big downside of Omniture cookie exclusion implementation is that you must log on to SiteCatalyst to place the cookie.  So you can’t have non-users just visit a page that places the cookie on their machine.  You have to either grant them access or log in yourself from their machine.


  1. Beware of automatic cookie deletions.
  2. Dynamic IP addresses, ISP changes and location growth can quickly invalidate your filters.
  3. Creating new profiles (Google Analytics) or report suites (SiteCatalyst) requires you to apply your chosen exclusion technique to them.  It will not occur automatically.

I hope this helps explain the two exclusion methods, two web analytics vendors’ implementation of those methods and a few of the hazards to avoid when implementing them.

Please leave comments if this was helpful (or not)!

Advanced Segments in Google Analytics – Examples to Get Started

Advanced Segments in Google Analytics solve a problem for me!

For all of my forward thinking in designing and tagging a client’s website to track and report on key performance indicators, inevitably there will come a need to dissect historical data prior to custom variable or profiles being implemented.

Advanced Segments Pulldown

That’s where the beauty of advanced segments (released by Google Analytics in late 2008) comes in to save the day.  This feature allows users to pull out subsets of their visitor data and view them as though they were the only data within all reports of Google Analytics.

For example, you already know from your default dashboard (shame on you for not customizing it yet for your needs, not those of the masses) what percentage of your visitors comes in directly (or through search or through referrals).  But wouldn’t it be nice to have many of the reporting tools available to you for just that advanced segment?

Google Analytics has useful predefined segments:

  • All Visits (the default  – what you’ve been viewing since Day One)
  • New Visitors
  • Returning Visitors
  • Paid Search Visitors
  • Non-paid Search Visitors
  • Search Traffic
  • Direct Traffic
  • Referral Traffic
  • Visits with Conversions
  • Mobile Traffic
  • Non-bounce traffic

These are some great advanced segments to get you started.  But the real value comes when you define your own segments tailored and personalized in a way no package could predict.

Examples from clients

Some were used one time to track down an issue or answer a single question; others are used regularly as part of my key performance indicator (KPI) strategy:

Here’s my shorthand: (Advanced Segment Friendly Name) = (syntax of the advanced segment definition)

  • Google Analytics Segments ListBlog Pages = Page starts with /blog
  • Indian Visitors = Country/Territory Matches exactly India
  • Non-Indian Visitors = Country/Territory Does not match exactly India
  • ABCkeyword = Keyword contains ABC
  • Keyword is DEF = Keyword Matches exactly DEF
  • Keyword is not DEF = Keyword Does contain DEF
  • Google Searchers = Source Matches exactly google
  • GHI LP = Landing Page Matches exactly /GHI
  • JKL conversions = Goal4 Completions Equal to 1
  • Campaign MNO = Campaign Matches exactly MNO
  • 404 Page Not Found Advanced Segment404 Reports = Page Contains /404.html
  • Visits With Site Search = Site Search Status  Matches exactly Visits With Site Search
  • Non-Customers = Page Does not match exactly /AAA/BBB
  • Non-Customers Non-Paid = Page Does not match exactly /AAA/BBB AND Medium Does not match exactly cpc
  • Firefox Browsers = Browser Matches exactly Firefox
  • Goal Completions = Goal1 Completions Greater than 0 AND Goal2 Completions…
  • Goal Starts = Goal1 Starts Greater than 0 …

BOLD ITALICS LETTERS are client-specific terms.

Each of these advanced segments can be turned on and combined with others to compare and contrast.  The power of this level of reporting is huge and should be exploited.

Once you’ve mastered Advanced Segments you’ll move to Custom Reports, Intelligence and then really get into the tagging of your visitors, events and conditions during their visits.  This will allow you to perform deep forensics and pull data and information that will drive fundamental business decisions.

Twitter Referrals and Web Analytics – A Broken Referral Link

Broken Twitter Referral Link

If you are obsessed about your web analytics or your customer’s web analytics as I am, then you may have noticed a problem where Twitter referral traffic is being recorded as direct entry traffic rather than referral traffic.

Don’t mess with my numbers, man!

I work hard to keep my numbers clean.  I do it for my sites, my employer’s sites and my customer’s sites.  Without this anal retentive attitude you cannot make higher level business decisions.  The supporting data is flawed so your assumptions are broken.

But that’s a rant for another day.  Just suffice it say that you need to constantly test your data to make sure it’s legit.

Who Can I Blame?

Web Analytics Referrals From Twitter

Here’s the problem in a nutshell. When you click from one web page to another the browser usually passes referral data to the receiving page.  That data is then recorded by your web analytics program so you can report on where your visitors arrive from.

In Google Analytics they break it down into 3 buckets initially, Direct, Search and Referral.  Now, if I tweet this blog post’s URL through Twitter, I want those click-throughs back to the site to be recorded as referrals from Twitter. Likewise when others retweet me I want them to also be recorded as referrals, not direct entries.

But the Twitter model has introduced a new presentation screen different from browsers.  HootSuite and TweetDeck are popular applications used to “dashboard” Twitter activity (along with Facebook and LinkedIn).  These applications and their tight relationship to URL shorteners, do not always pass the referral data (needed by web analytics tools) you would normally see if they had come from the domain via a browser.

If you want the down and dirty details behind it visit Danny Sullivan’s forensic work on it.

Make The Numbers Match!

Connecting Twitter Visitors In Web Analytics

Fine.  It’s a problem.  But you need to solve it, right?

Again in a nutshell: force the referral information to be preserved as visitors click through Twitter to your website.  This is done with link tagging.

  • Using Google Analytics, we can go to their URL builder and force-tag our link before we put it into our tweet.
    • Of course that gets really painful if you tweet more than once a week.  So check out Snip-N-Tag for an inline method of adding link tagging for Google Analytics.  Pain relieved!
  • Using Omniture’s SiteCatalyst, you can create a campaign in your report suite for all of your Twitter postings.  Then append the campaign id (e.g. s_cid) to every one of your tweets.  You’ll also need to further manipulate some of your variables to ensure they’re attributed to referral traffic, but that’s beyond this post.

I always try to include link tagging on every link I place out there.  Even ones that are not destined for one of my sites.  Nothing speaks to an analytics guy or gal more than looking in their report and seeing your traffic to their site jumping off the screen with campaigns names.

I should really share that treat here!  Next week.

New Google Analytics Tag – Faster, Better, Stronger

Google AnalyticsYesterday, Google announced their new Google Analytics tag to speed up page loads that will become the default code snippet provided for profiles.  This is right in line with Google’s new obsession with page speed.

Google Analytics New Asynchronous Code Snippet

While the new Google Analytics tag is very light, if you start to add a lot of scripts to a site like I do, they start to add up.  Allowing for the asynchronous loading (separate processing) of the tag your webpages will load that much faster and therefore the code snippet will not penalize your site speed nor your visitor’s experience.

I recommend you go back to all of your Google Analytics-tagged pages and change them out to this new snippet.  Likewise, you really need to look into the load times of your webpages.  It could be hurting your rankings.

Tracking web analytics goals on all of your websites

Do you have Google Analytics installed? I really don’t want to talk to you until you have it installed!

Install Web Analytics Now

That’s what I tell my friends and family before I’ll even entertain answering a question.  And now I’m telling you that.  If you were a potential customer or a professional acquaintance maybe I’d say it a little more nicely, but I really don’t want to talk to you until you do.

You’re going to ask me why your website isn’t bringing in new business, how to better use Facebook or Twitter, how much to spend on Google AdWords or how do you get to the #1 position on Google for the term “refinance”.

Are you watching them?

Look, if you don’t have any idea how people currently using your website, what could you possibly want me to do to help you?  Anything I did would be credited to some other marketing activity and you’d feel like I wasted your time and possibly your money.

So unless you and I both know where we are starting from, then we’ll never know if anything we’re doing is working.

By the way, if you don’t know what web analytics is, then we’re even worse off.  Go read some good sources and get back to me.  It’s not that hard, but you need to understand it at a high level.

OK, now you have your analytics installed.  I now want to know if people are doing (or not doing) what you want them to do on your website.

Web Analytics GoalsI’m talking about tracking goals

Goals that you have defined as valuable to you and your website.  I’m talking about:

  • Some magical time on your website. For example: 4 minutes looking around your website.
  • Viewing at least 8 pages of your website.
  • Filling out a contact form.
  • Buying a product.
  • Signing up for your newsletter.
  • Subscribing to your website’s RSS feed.
  • Viewed your “About Me” page.

Sure, web analytics track some great metrics out of the box like:

  • unique visitors
  • pageviews
  • bounce rates
  • keywords people used to find you
  • and a whole lot more

This brings me to goal of this post: set up goals on your website now. They’re free and can always be deleted later, but you will never be able to recreate them looking back.

In Google Analytics, you can set up 20 goals in each profile and create unlimited profiles.

So create your goals now

  • If you want to measure how many visitors spent at least 4 minutes on your website, then choose a goal type of “Time on Site”google analytics goal time on site
  • If you want to measure how many people viewed at least 8 pages of your website, then choose a goal type of “Pages/Visit”google analytics goal pages per visit
  • If your visitors fill out a form, then you should have (if not, change your form tool or add the redirect) a “Thank You” page.  That page is your URL destination in the goal page of Google Analyticsgoogle analytics goal form completion
  • If you sell a product, again you have a “Confirmation” page.  Use that as your URL destination.
  • If they sign up for a newsletter, then have use the confirmation page as your URL destination.
  • If you just consider it a success to view your “About” page (who wouldn’t, right?), then use that as your URL destination.
  • If you want to track those who subscribe, it gets a little hairier.  Ideally your feed supplier will have tracking capabilities linked into that support your web analytics tool.  If not, you could create a goal around those that click on the subscribe button (knowing they may never complete the subscription) using onclick=”pageTracker._trackPageview(‘/trackrss’); Check this out for more detail.

We can talk now

Now you’re tracking not just visits to your website, but interactions with your website.  But more importantly you are creating a baseline that will allow you to measure the impact of future changes.

If you don’t know where you are today, you’ll never know if you have moved tomorrow.

OK, so now we can talk.  Now I’ll take a look around and help you with your goals.