Hashing It Out: Referral Tracking

February 2, 2009

Using the hash mark (#) instead of the question mark (?)

Have you ever wanted to track the visits to your site from a specific link, but worried about the negative implications of using query parameters in the URL? (I know, it’s kept me up late at night too.) We recently talked with Mike Plummer, a Seattle-based web analyst at POP, about this topic and he gave us some ideas to chew on – thanks Mike!


Using tracking parameters in the URL is a great way to track visits from links on other sites, but it raises a couple of thorny issues: duplicate content and (possibly) devaluing the links to your site if they are perceived to be paid links. Let’s look at the first issue – duplicate content.

Duplicate Content (Duplicate Content)

Here’s a hypothetical example: Let’s say we are running a special promotion of giving away a lifetime supply of ice cream to all new clients. In fact, this (hypothetical) promotion is such a big hit, web analyst guru and all-around great guy Avinash Kaushik decides to blog about it and post links to our homepage.

Of course, being the analysts we are, we want to track the visits from those links, so we ask Avinash to add the following tracking parameters to the links:


Things are going great – we are able to segment the traffic to just the visits from those specific links, and see that visits from Avinash have an 87% conversion rate! In fact, readers of Avinash’s blog are so excited about our promotion (and they love ice cream so much) they all start bookmarking our homepage and linking to it on their own blogs and websites. The only problem is that they bookmark and link to the URL with the tracking parameters (who can blame them – they just copy and paste the address from the browser).

The problem is that the search engines view the URL with the tracking parameters as a different page than our homepage URL without the parameters. So the value of all the links to the URL with the parameters doesn’t count toward our homepage at all. (And we all know how important links are when it comes to ranking higher in the search results, right?)

What are we to do?

Anchors Away!

Instead of using a question mark (?) in the query parameter, set it off with the hash mark (#). Of course, you’ll want to modify your Google Analytics Tracking Code with pageTracker._setAllowAnchor(true); to track the parameters after the hash mark. Google’s documentation on this feature is a little confusing, so we’ll be covering the proper usage in a short follow-up post later in the week. (Update: As promised, here’s the follow-up post – “Campaign Tracking with _setAllowAnchor)

The great thing about this method is that when Google sees a URL with a hash mark, it ignores everything after the hash. So…






are all the same page in the eyes of Google. That means that when someone links to www.lunametrics.com/#utm_source=avinash&utm_medium=blog&utm_campaign=ic… it will be the same as linking to www.lunametrics.com as far as Google is concerned.

The Issue of Paid Links

Here’s what Google says about paid links:

Google and most other search engines use links to determine reputation. A site’s ranking in Google search results is partly based on analysis of those sites that link to it. Link-based analysis is an extremely useful way of measuring a site’s value, and has greatly improved the quality of web search. Both the quantity and, more importantly, the quality of links count towards this rating.


They go on to say that some SEOs and webmasters have participated in buying and selling links that pass PageRank in an effort to rank higher. That is in direct violation of their webmaster guidelines, and they have been getting more aggressive in detecting these paid links and devaluing them. (It’s only fair to include that Google isn’t against all paid links – as long as they are designated as being paid.)

In the last paragraph, they say “Google works hard to ensure that it fully discounts links intended to manipulate search engine results, such as excessive link exchanges and purchased links that pass PageRank.”

Let me put on my aluminum-foil hat for all you conspiracy theorists out there. There are some that believe that if Google sees campaign parameters in a URL that it’s a signal for a paid link. If that’s the case, then links to your site that include campaign parameters may not pass any PageRank to your page.

But there are certainly cases (like our ice cream promotion example) where we aren’t paying for the link, but want to be able to track it. Again, using the hash mark (#) instead of the question mark (?) should accomplish this.

There you have it. Now, who wants ice cream?