Analytics Business Marketing Privacy Technical

Analysis of Google outbound link tracking

The X and the "up" icon added recently to Google results
The X and the "up" icon added recently to Google results

I noticed in the past two or so months, after Google upgraded their SERPs to enable users to rearrange and delete results (see thumbnail to right) that the outbound links Google was posting on SERPs were redirects through the site (meaning, they were tracking clicks on outbound links.)

Since I often search for something on Google, then “right-click”, “Copy” to get a link, I noted the links were not the actual links, but links. This went away shortly thereafter.

Today, checking again, they are using JavaScript to track outbound links (View Source on a SERP and examine the outbound links).

For example, one of our decent organic result page for the search “ROI Tracking” shows us as:

<a class="l" onmousedown="return clk(this.href,'','','res','4','')"
href="">Measure and manage your
PPC Marketing Campaign Performance with<b>...</b></a>

For this post, I’m going to focus on the technical breakdown of what “clk” is tracking.

clk generates an image-bug tracking call. The parameters to clk are:

  • 1st parameter: The URL you will be sent to (this.href)
  • 2nd parameter: Original Intention (Guess?) ()
  • 3rd parameter: Referring domain (from toolbar) or affiliate (Guess?) ()
  • 4th parameter: Where you clicked (res for Search Results, clnk for Cached links)
  • 5th parameter: The position of the result you clicked on (1, 2, 3, 4, etc.)
  • 6th parameter: “Extra” parameters to pass (probably for future compatibility or labs) ()

Based on the JavaScript code and a (very) cursory review of the Google site and our analytics logs, here’s an attempt to decipher what they’re tracking.

What Google is tracking

Google tracks your link with a query string to:

http://<google domain>/url?sa=T&source=web&oi=(Parameter 2)&cad=(Parameter 3)&ct=(Where you clicked)&cd=(Search Position)&url=(URL to be sent to)&ei=(Security Code)

Here’s the breakdown:

Google Parameter Meaning Examples
url The url you are clicking on
sa Big guess.
The tracking function on the Google site to invoke.

X appears for spelling corrections
T is for the link tracking
N is still unknown in meaning.

source Where the search originated from. web
oi Big guess.
The original intention of the search?
spell when the user misspells a word and corrects it with “Did you mean …”
coopctx found in log files.
revisions_inline when the user clicks “Searches Related to” on the SERP page
cad Big guess.
Appears to be a referrer, affiliate, or client token.
So far only seen with google maps, it is a number (6,7,8, etc.) which I’ll assume are Google internal map application identifiers.

It appears to be the search origination, when it begins with a letter, it’s a site: (extensive client of Google maps)

I have a feeling that when Google Toolbar automatically extracts an address from a web page and forward it to, this is the original domain.

ct The click location. res for results
clnk for Cached links in results
other codes TBD
ei Security code, encoded user identification, timestamp, or some combination of all three. This value is identical for all results on a page, but appears to change page to page.
cd Search result position 1,2,3,4, etc.

The parameters here apply for many of Google’s Referring URLs as well, so feel free to use these definitions as you see fit.

If you find this useful, please link or comment. If you have further information, I’d appreciate it if you’d share in via inbound links or comments.

11 replies on “Analysis of Google outbound link tracking”

[…] of the various parameters being used and newly introduced, Kent Davidson had put up this post Analysis of Google outbound link tracking about google’s use of JavaScript to track outbound links from the search results. He has neatly […]

I noticed &cad=h when searching today. It showed up while I was in Chrome and happened after copying the search terms from one tab to put them into another tab to search.

I’ve noticed the “ei” code before. As you say it is unique to a page hyperlink. You would think that when you click the “Next” button, you would use the same “ei” code but it uses a different one. Would be interested in any more that you find out about this.

Comments are closed.