Google Analyticsを使ったコホート分析で施策の有効性を検証する

サービスを成長させるためには、機能追加や削除、デザイン変更、広告など、様々な施策によって新たなユーザーを集客する必要がある。ある施策によって集客したユーザーの集団(コホート)の動向を時系列で分析する「コホート分析」により、その施策の有効性を検証することができる。

例えば、獲得ユーザーを月ごとに分け、再訪問者数をプロットしている(How to do Cohort Analysis in Google Analyticsより引用)。獲得した次の月になると、再訪問者は大幅に下がる様子がわかる。9月と11月の獲得ユーザーで比べると、11月の方が月を再訪問者数を保持できており、改善効果が見て取れる。

以下では、Google Analyticsを使い「初訪問した時期」でコホート分析するための具体的な手続きを紹介する。

(1) トラッキングコードの設置

Google Analyticsのトラッキングコードが以下だとして、

<script type="mce-text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-XXXXXXXX-X']);
    _gaq.push(['_trackPageview']);
    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
     })();
</script>

次のようなコードを追加して、ユーザーの初訪問日をyyyymmdd形式でカスタム変数に保存する。具体的には、2013年3月28日に初訪問していたユーザーは、カスタム変数名「FirstVisit」に、値「20130328」を保存する。

<script type="mce-text/javascript">
    var _gaq = _gaq || [];

    try {
        var f = function (d) {
            return d.getFullYear() + ("0" + (d.getMonth() + 1)).slice(-2) + ("0" + d.getDate()).slice(-2);
        };
        var c = document.cookie;
        var i = c.indexOf('__utma');
        var s = null;
        if (i < 0) {
            s = f(new Date());
        } else {
            var utma = c.substring(i, c.indexOf(';', i));
            if (utma) {
                var v = utma.split('.');
                if (v[2]) {
		    var date = new Date();
                    date.setTime(v[2] * 1000);
                    s = f(date);
                }
            }
        }
        if(s) {
            _gaq.push(['_setCustomVar', 1, 'FirstVisit', s, 1]);
        }
    } catch (e) {
    }

    _gaq.push(['_setAccount', 'UA-XXXXXXXX-X']);
    _gaq.push(['_trackPageview']);
    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
     })();
</script>

trackPageviewを実行するより前に、setCustomVarを実行する点に注意する(Recommended Practiceを参照のこと)。

(2) アドバンスセグメントを使った分析

Google Analyticsの左側ペインで、ユーザー>カスタム>カスタム変数、を選択し、カスタム変数 FirstVisit が取得できていることを確認する。もし、取得できていない場合は、Google Analyticsで閲覧している日付に間違いがないか、埋め込んだトラッキングコードに間違いがないか(正しく実行できていれば、__utmvというクッキーが作成されている)などを見直す。

スクリーンショット 2013-03-28 17.00.43

以下、「2013年3月に初訪問した人」の集団について分析するため、「FirstVisit の値が 201303 になっている人」を抽出するカスタムセグメントを作る。

右側ペインの上部の「アドバンスセグメント」を選択し、右下の「新しいカスタムセグメント」を押下する。

スクリーンショット 2013-03-30 1.49.18

下図のように「カスタム変数(キー1)」は「FirstVisit」と「完全一致」、さらに、「カスタム変数(値01)」は、「201303」と「前方一致」させる。

スクリーンショット 2013-03-30 1.50.34

これで、2013年3月に初訪問した人たちが、サイトにどれだけ再訪問し、どう利用しているかを把握できるようになる。

スクリーンショット 2013-03-30 1.58.36

参考にしたサイト:

アクセス分析の有意性を高めるためにKISSmetricsがコホート分析を導入 | TechCrunch Japan
http://jp.techcrunch.com/2011/09/24/20110923kissmetrics-helps-you-hone-in-on-stats-that-actually-matter-with-cohort-reports/

How to do Cohort Analysis in Google Analytics | Jonathon Balogh
http://jonathonbalogh.com/2012/04/01/how-to-do-cohort-analysis-in-google-analytics/

How to do Cohort Analysis in Google Analytics | Jonathon Balogh
http://jonathonbalogh.com/2012/04/01/how-to-do-cohort-analysis-in-google-analytics/

Google Analyticsで、新規訪問の日を記録するには? – QA@IT
http://qa.atmarkit.co.jp/q/2274

Custom Variables – Web Tracking (ga.js) – Google Analytics — Google Developers
https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingCustomVariables

カスタム変数を作るコードは、Gistにもあげておいた。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中