Google Analyticsで、ユーザーごとにその新規訪問の日を記録して、その期間によってユーザーをグルーピングして数値などを見たいです(いわゆるコホート分析)。
Google Analyticsには最初から「新規とリピーター」という項目は用意されているのですが、これは新規の訪問について、滞在時間や直帰率などのふるまいを見るためのもので、ユーザーに紐づけた分類には使えないようです。
なので、 How to do Cohort Analysis in Google Analytics | Jonathon Balogh を参考にして、カスタム変数に新規訪問の日を記録しようと思いました。
しかし、いつが新規訪問なのかというのがよくわかりません。Analytics側ではデータに出ているのだから判別できているはずなのに。
苦し紛れに、Analyticsのcookieがなければ新規訪問なのだという仮定で、このようなコードを書いてみました。
var utma = document.cookie.split(';').filter(function (s) {
return s.trim().indexOf('__utma=') == 0;
});
if (utma.length == 0) {
// First Visit Cohort
var date = new Date();
date = new Date(date.getTime() + (date.getTimezoneOffset() + 540) * 60000);
var y = String(date.getFullYear());
var m = String(date.getMonth()+1); m = (m.length == 1 ? '0'+m : m);
var d = String(date.getDate()); d = (d.length == 1 ? '0'+d : d);
_gaq.push(['_setCustomVar', 3, 'First Visit', y+m+d, 1]);
}この仮定は合っているのでしょうか?それとも、もっといい方法があるでしょうか。
