How To Define Organic Search Engines In Google Analytics

Google Analytics partially addressed my request to set a default account / profile to view by setting it to none. At least there is no bias towards the first alphabetically listed account / profile.

Moving on with the topic I’d like to discuss: How do we add to the list of organic search engines recognized by Google Analytics? As you may know, there are 38 search engines recognized by Google Analytics.

Such search engines, when used to query terms that display our pages, will be classified under the non-paid (also known as organic) search results within Google Analytics Search Engine traffic search sources. Such report is similar to that shown in the image below:

But the list does not include new (Cuil), obscure or neither of the two such as Naver, so it’s puzzling to me why they’re not included. However, we can make these search engines appear as though Google Analytics recognized them using only one line of code.

First, we visit the search engine examine its search result URL. Say, we go to Cuil.com, and query something like “google analytics” for example.

Note the URL:

http://www.cuil.com/search?q=google+analytics

We then extract two elements in that URL, the search engine domain and the query paramater name, which is usually the variable that holds the search query value. In this case we use cuil.com as the search engine domain and q as the query parameter name.

Then, we use the method pageTracker._addOrganic(“cuil.com”,”q”); so now our Google Analytics tracking code will be able to recognize such URl pattern.

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-XXXXXXX-X");
pageTracker._addOrganic("cuil.com","q");
pageTracker._trackPageview();
} catch(err) {}
</script>

This is also helpful to use when segregating Google search results specific to country:

pageTracker._addOrganic(“google.com.hk”,”q”);
pageTracker._addOrganic(“google.com.sg”,”q”);
pageTracker._addOrganic(“google.com.ph”,”q”);
and so on.