ぼやき

0

Google Analytics って非常に多機能ですけれど、日本の検索エンジンにはあまり対応していないって知っていますか? 
→ Analytics ヘルプ: Google Analytics はどのような検索エンジンを認識しますか。

上記を見ると下記の検索エンジンに対応しているよう。

Google
Yahoo
MSN
Lycos
Ask
Altavista
Netscape
CNN
Looksmart
About
Mamma
Alltheweb
Gigablast
Voila
Virgilio
Live
Baidu
Alice
Yandex
Najdi
AOL
Club-internet
Mama
Seznam
Search
Wp
Onet
Netsprint
Google.interia
Szukacz
Yam
Pchome

ずらずらって書いたけれど、日本で使われているのは Google 、 Yahoo 、 MSN (Bing) くらいですね。その他のサーチエンジン経由の訪問は検索語句を取ってくれなくて、ただのリンク訪問になってしまうんです。つまり、 Google Analytics のトラフィックレポートで「検索エンジン」ではなくて、「参照サイト」に分類されてしまうんです。まあ、 Google 、 Yahoo! で検索エンジンの大半を占めていると思いますから、それでいいといったらそれまでですが。

Google Analytics に日本の検索エンジンを追加

そこで、その他の検索エンジンからの訪問も検索エンジンに登録する方法が公開されています。
→ Analytics 日本版 公式ブログ : 国内の検索エンジンをレポートに追加する方法

Google Analytics のトラフィックレポートで、これらの検索エンジンからの参照を認識するよう設定するには、トラッキング コードに下記の行を追加してください。
pageTracker._addOrganic("name_of_searchengine","q_var");
name_of_searchengine には、検索エンジンの名称を指定し、 q_var の値にはキーワードが格納されるクエリ変数を指定します。

いろいろなサイトを参考にコードを追加してみた。太字が追加したところ。

<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("blogsearch.google.co.jp","q");
pageTracker._addOrganic("blog-search.yahoo.co.jp","p");
pageTracker._addOrganic("blog.search.goo.ne.jp","MT");
pageTracker._addOrganic("images.google","prev");
pageTracker._addOrganic("biglobe","q");
pageTracker._addOrganic("nifty","q");
pageTracker._addOrganic("infoseek","qt");
pageTracker._addOrganic("rakuten","qt");
pageTracker._addOrganic("livedoor","q");
pageTracker._addOrganic("so-net","query");
pageTracker._addOrganic("fresheye","kw");
pageTracker._addOrganic("auone","q");
pageTracker._addOrganic("ocnsearch", "MT");
pageTracker._addOrganic("hi-ho", "MT");
pageTracker._addOrganic("odn","search");
pageTracker._addOrganic("eonet","search");
pageTracker._addOrganic("goo", "MT");
pageTracker._addOrganic("excite","search");
pageTracker._addOrganic("asahi","Keywords");
pageTracker._addOrganic("luna", "q");
pageTracker._addOrganic("lunascape", "p");
pageTracker._addOrganic("hatena", "word");
pageTracker._addOrganic("ecnavi", "Keywords");
pageTracker._addOrganic("mixi", "keyword");
pageTracker._addOrganic("twitter", "q");
pageTracker._addOrganic("pythagoras.bz","q");
pageTracker._addOrganic("dir.yahoo.co.jp","p");
pageTracker._trackPageview();
} catch(err) {}</script>

個人的には各ブログ検索からの訪問を知りたかったので、それらも追加してみた。

Google Analytics の JavaScript を外部ファイル化

それにしてもコード長すぎですね。ブログだけならテンプレートに 1 つ書き込めばいいだけだけれど、 HTML で手書きしているサイトにはきついわ。また検索エンジンを追加・削除したくなったら、いちいち全ファイルを書き換えなくちゃいけない。それに、ページが読み込まれる度に、長〜いコードをいちいち読み込むのはレスポンス的にも悪い。その上、 Javascript を HTML にそのまま書くのは、 W3C にも準拠してない。

ということで、 JavaScript の外部ファイル化してみました。参考にしたのは下記サイト。
→ HiGash.Net : Google Analytics のトラッキングコードを見直してみる
→ Insecure -Project IE- : Google Analytics の 解析コードを外部化する 

個人的には 2 番目に紹介したサイトのコードが気に入った( DOM 的にコードがしっかりしている)ので採用しました。そのコードに検索エンジンの追加をしたのが下記のコード。長い。(トラッキング ID は伏せてあります。)

var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
var header = document.getElementsByTagName("head")[0];
var scriptTag = document.createElement("script");
scriptTag.setAttribute("src", gaJsHost + "google-analytics.com/ga.js");
scriptTag.setAttribute("type", "text/javascript");
header.appendChild(scriptTag);
function analytics() {
try {
var pageTracker = _gat._getTracker("UA-XXXXXXX-X");
pageTracker._addOrganic("blogsearch.google.co.jp","q");
pageTracker._addOrganic("blog-search.yahoo.co.jp","p");
pageTracker._addOrganic("blog.search.goo.ne.jp","MT");
pageTracker._addOrganic("images.google","prev");
pageTracker._addOrganic("biglobe","q");
pageTracker._addOrganic("nifty","q");
pageTracker._addOrganic("infoseek","qt");
pageTracker._addOrganic("rakuten","qt");
pageTracker._addOrganic("livedoor","q");
pageTracker._addOrganic("so-net","query");
pageTracker._addOrganic("fresheye","kw");
pageTracker._addOrganic("auone","q");
pageTracker._addOrganic("ocnsearch", "MT");
pageTracker._addOrganic("hi-ho", "MT");
pageTracker._addOrganic("odn","search");
pageTracker._addOrganic("eonet","search");
pageTracker._addOrganic("goo", "MT");
pageTracker._addOrganic("excite","search");
pageTracker._addOrganic("asahi","Keywords");
pageTracker._addOrganic("luna", "q");
pageTracker._addOrganic("lunascape", "p");
pageTracker._addOrganic("hatena", "word");
pageTracker._addOrganic("ecnavi", "Keywords");
pageTracker._addOrganic("mixi", "keyword");
pageTracker._addOrganic("twitter", "q");
pageTracker._addOrganic("pythagoras.bz","q");
pageTracker._addOrganic("dir.yahoo.co.jp","p");
pageTracker._trackPageview();
} catch(err) {}
}
if (window.attachEvent) {
window.attachEvent("onload", analytics);
} else {
window.addEventListener("load", analytics, false);
}

こんな感じ。これを googleanalytics.js っていう名前で保存。 js ディレクトリにアップロード。

<script type="text/javascript" src=" あなたのサイト /js/googleanalytics.js">

上記コードを <head> 内の適当な場所(できれば CSS の読み込みのあと、 </head> の直前)に入れておしまい。

これでどんなに改変しても googleanalytics.js ファイルを改造すればいいだけなので楽ちん。

関連記事