Google Analyticsで「ラストタッチ」以外のコンバージョン要因を調べよう
2010年1月上旬に公開したWhiteboard Fridayの「Kill the Head or Chase the Tail(英語記事)」で、ランドと僕はまず、どんな種類のキーワードが検索ユーザーによる自社ブランドの発見につながり、ゆくゆくはビジネスのコンバージョン率を向上させるかを的確に見極める方法について論じた(ヒント:どんな解析結果が出ていようと、それはたぶん、ブランド名を含んだ検索語句ではないはずだ)。そこで今回は、Google Analyticsを使って、中長期的に自社のビジネスを発展させるキーワードをより正確に探す方法を1つ紹介しようと思う。
ではここで、「マルチタッチ解析追跡」を紹介しよう。
僕らが目にしてきた解析レポートはすべて、ブランド名を含んだ検索語句が最もコンバージョン率が高いということを示しているが、それについてよく考えてみよう。つまり、最終的にコンバージョンにつながったユーザーはブランド名による検索からやってきた、という意味では正しいけれど、最初に君のサービスを見つけるのにブランド名が使われたわけではないということだ。戦略を立てるにあたっては、コンバージョン獲得につながる「訪問者獲得」の経路を、より詳しく把握する必要がある。
たいていの解析パッケージは、ラストタッチ起因モデルをデフォルトで使用している。つまり、コンバージョンをもたらしたのは、コンバージョンしたアクセスそのものの参照元(リファラー)ページであるという考え方だ。だが僕らは今回、ファーストタッチ起因モデルか、マルチタッチ起因モデルに注目して、訪問者が繰り返しサイトを訪れるうちに、訪問者の検索行動がどのように変化していくのかを見ていこう。
もし「すぐに使える」マルチタッチ追跡解析パッケージに興味があるなら、ジョン・サンタンジェロ氏がYOUmozセクションに投稿したGoogle Analyticsに代わる選択肢に関する記事(英語記事)を読むことをお薦めする。
Google Analyticsにおけるファーストタッチ追跡
Blogstormのパトリック・オルトフト氏は、ラストクリック起因モデルからの脱却について書いている(これについては僕も、スコットがWhiteboard Fridayでリンクを張ってくれた「すべてのSEO担当者が知っておくべき解析」というプレゼンテーションの中で説明している)。ただしこの方法は、Google Analyticsのutm_nooverrideというパラメータを利用するので、ランディングページのURLがパラメータまで含めて正確に把握できる場合にしか使えない。メールやPPC広告由来のトラフィックを追跡するには有効だが、オーガニック検索のトラフィック追跡では役に立たないんだ。
オーガニック検索のトラフィックでファーストタッチ追跡を実行するには、もうちょっと複雑な方法が必要になる。
僕はプレゼンテーションの中で、setVarという関数とsuperSetVarというカスタム関数のことに触れたけれど、Google Analyticsのチームは昨年10月に発表したアップデートで、setCustomVarという新しい関数をリリースした。今ではこれが最も使える機能となっている。今回の目的のためには、訪問者レベルの変数を追跡したい。
まず、Google Analyticsの追跡コードで、__utmaというクッキーの有無を調べよう。これがあれば、そのユーザーは、リピーター(Returning Visitor)だということになる。そして、これがなかった場合は、訪問者レベルのカスタム変数を2つ用意し、変数名はそれぞれ「original referrer」(初回訪問時のリファラ)と「original landing page」(初回訪問時のページ)としておこう。それぞれにJavaScriptのdocument.referrer変数とlocation.pathname変数の値を代入する。このとき、解析の別のところで使ったカスタム変数とスロットが重複しないよう注意すること。
※Web担編注:上記のことを実際に行うJavaScriptのサンプルを紹介しておく。例はスロット1にoriginal referrerを、スロット2にoriginal landing pageを割り当てている。ただし、編集部でテストしたところ、状況によってoriginal referrerがうまく保存されない例があった。
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxxx-x']);
if (document.cookie && true == function(){
var cookies = document.cookie.split(';');
var cookie_len = cookies.length;
for(var i=0; i < cookie_len; i++){
if ('__utma' == cookies[i].split('=')[0].replace(/^(\s+)|(\s+$)/g, '')) return false;
}
return true;
}()){
_gaq.push(
['_setCustomVar', 1, 'original referrer', document.referrer, 1],
['_setCustomVar', 2, 'original landing page', location.pathname, 1]
);
}
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script');
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
ga.setAttribute('async', 'true');
document.documentElement.firstChild.appendChild(ga);
})();
</script>
<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-xxxxxx-x");
if (document.cookie && true == function(){
var cookies = document.cookie.split(';');
var cookie_len = cookies.length;
for(var i=0; i < cookie_len; i++){
if ('__utma' == cookies[i].split('=')[0].replace(/^(\s+)|(\s+$)/g, '')) return false;
}
return true;
}()){
pageTracker._setCustomVar(1, 'original referrer', document.referrer, 1);
pageTracker._setCustomVar(2, 'original landing page', location.pathname, 1);
}
pageTracker._trackPageview();
} catch(err) {}</script>
次に、Google Analyticsのプロファイルにフィルタを追加して、生の参照元情報から検索に使われたキーワードを取得しよう。その場合、このようなPPCキーワードの詳しい情報が得られるフィルタが使える(見てわかるとおり、PPCトラフィックしかフィルタリングできないというわけではない)。初回訪問時の(参照元とランディングページの)URLを抜き出して別の変数に保存しておくといいかもしれない。
※2010-03-14 記事初出時点で、上記カスタムフィルタの設定方法を解説していましたが、この方法では、求める結果を得られないようです(コメント参照)。上記の文の末尾にあるように、初回訪問時のリファラからキーワードを抽出してカスタム変数に追加しておく方法が適切なようです。
こうした設定をしておけば、任意の初回訪問時のURLについて、初回訪問時の検索キーワードによるコンバージョンレポートを出力し、ファーストクリック起因モデルに基づいたコンバージョン情報を調べられる。たぶん、このとき得られるコンバージョンレポートは、通常のコンバージョンレポートより、はるかにロングテール傾向が強くなっていて、ブランド名による検索がかなり少なくなるはずだ――それでも、各種宣伝やオフラインのマーケティングなどがあり、ファーストタッチでいきなりブランド名を検索する人もいるので、ゼロにはならないだろうけど。
コメント
フィルタ1はただしい?
はじめまして。
いつも勉強させていただいております。
フィルタ1について分からないので、教えてください。
フィルタ1はoriginal referrerからorganic検索のキーワードをカスタムフィールド1に格納する意図だと思いますが、"カスタムフィールド1"から取得できるのでしょうか?
というのはカスタムフィールドはフィルタ上の入れ物であって、_setCustomVarにセットした値が入るわけではないと思うからです。
またorganic検索に絞り込むのであれば、"フィールドBは必須"のチェックボックスはオンにはならないのでしょうか?
ご教示いただければ幸いです。
フィルタの使い方
ご指摘ありがとうございます。たしかにおかしいですね。
これだと、初回訪問時のキーワードは参照していなくて、単に毎回のキーワードを見ているだけですからね。大変失礼いたしました。
フィルタではカスタム変数を参照できないようなので、初回訪問時に、URLとリファラを保存するとともに、同様の方法でキーワードを抽出してカスタム変数に保存しておくのが正しいやり方のようです。本文を修正いたしました。
ご覧いただいた方、試された方にはご迷惑をおかけして申し訳ありません。
フィルタでカスタム変数を参照する方法をご存じの方がいらっしゃいましたら、ぜひお教えくださいませ。