GoogleAnalyticsでサイト分析

GoogleAnalytics を使ってスマートフォン向けのエンタメサイトの分析を行う過程で得たノウハウを書き留めるブログです。

GoogleAnalytics の画面でクロス集計をする方法

GoogleAnalytics でクロス集計表をカスタムレポートで作る方法を見つけたのでメモ。
ページビュー数を会員の年齢と性別でクロス集計する場合です。

  • まず、カスタムレポート新規作成します。

f:id:libra017s:20130414223441j:plain

  • レポート名は適当に設定します。指標にはページビュー数を設定します。ディメンションには年齢(カスタム変数2)を設定します。性別をネストで指定する必要はありません。

f:id:libra017s:20130414223447j:plain

  • カスタムレポートが作成されたら、表示形式を変更します。初期は『表形式』なので『ピボット形式』に変更します。

f:id:libra017s:20130414223504j:plain

  • ピボット形式に変更したら、ピボットに使用するディメンションを変更します。初期では、プライマリディメンションがピボットに設定されています。

f:id:libra017s:20130414223508j:plain

  • ピボットに使用するディメンションを性別(カスタム変数3)に変更します。これでクロス集計表が完成しました。

f:id:libra017s:20130414223512j:plain

  • 分析のたびにクロス集計表を作るのは面倒なので、シュートカットを作っておきます。

f:id:libra017s:20130414223517j:plain

  • ショートカット名は適当でかまいません。

f:id:libra017s:20130414223521j:plain

  • 以降は、左メニューのショートカットからアクセスできます。

f:id:libra017s:20130414223525j:plain


以上です。クロス集計で訪問者理解を深めましょう。

事例で学ぶウェブ解析【フォトグラファー検索サイトの巻】に参加してきました。

昨日、ミヤザキカク社さん主催の『事例で学ぶウェブ解析【フォトグラファー検索サイトの巻】』に参加してきました。

この勉強会はどういうものか、ということをざっくり書くと、

『サイトのアクセスデータを見て、改善点を見つけ、改善提案資料を作り、参加者の前で発表する』

というウェブ解析の一連の流れをコンパクトに凝縮した、ウェブ解析担当者には是非参加をお勧めする勉強会です。

昨日のイベント詳細は下記をご覧下さい。
http://webmarketing.doorkeeper.jp/events/2567


この勉強会の素晴らしい点をいくつか上げると下記の5点です。

  1. 実際に稼働しているサイトのアクセスデータを扱うので、生の情報に触れられる
  2. サイトの運営担当者が参加されるので、改善提案を担当者に向かって伝えることができ、その場でフィードバックも頂ける
  3. 講義形式ではなく、プレゼン形式なので改善立案・資料作成・プレゼンの勉強になる
  4. 少人数なので、一人一人の発表とフィードバック、それらに対する議論を深く行える
  5. 参加者は、アクセス解析SEO/広告・サイト運営等の実務担当者が中心なので、参加者の数だけ改善の着眼点や施策提案があり、気付きが多くとても刺激になる

普段の業務ですと、よく知っている自社・他社サイトを対象にして、計測する場所や問題を感じている場所をある程度絞った上で分析を始めたり、リソースやサイトの仕組みの都合により改善提案の幅が限られている場合が殆どですので、どうしても『作業』になりがちです。
しかし、この勉強会では、初めて見るサイトに対して分析を行い、制約条件をあまり気にせず改善提案ができるので、『創造』の部分が強くウェブ解析の楽しさを改めて実感出来ます。


さて、勉強会の内容はどうだったかというと、参加者全員が思い思いの発表を行い、議論が白熱した1時間30分でした。

一例を挙げると下記のような物がありました。

  1. GoogleAnalytis のデータを元に課題を見つけ、ターゲットユーザ像を想定し、スマートフォン向けに最適化されたLPを作る改善提案
  2. GoogleAdwords のキーワード調査ツールで流入キーワードの検索ボリュームを調べ、有益なスモールキーワードを見つけ、オーガニック流入数を倍にする改善提案
  3. サイトが伝えたい価値が伝わりにくい事を示し、サイトの価値をキラーコンテンツとして用意し、一見さんでもサイトを利用しやすくするコンテンツを用意する改善提案
  4. あえてGoogleAnalytics のデータを見ずに、サイトがユーザに提供できる付加価値を考え、ユーザがサイトを利用したくなるようにするコンテンツを用意する改善提案
  5. 主要以外の流入元の内容からサイト訪問者のモチベーションを想像し、サイトが提供しようとする価値とユーザが求める価値の溝を見つけ、溝を埋めるコンテンツやUIを用意する改善提案

参加者の発表を聴く度に、『そういうアプローチもあったか(あるのか)』と気付く事が多く、有意義な時間でした。


未経験者優先で参加者が埋まるのですが、是非機会があれば次回も参加したいです。


なお、ミヤザキカク社さんでは、『プレゼン合同自主トレ』という勉強会も企画されているそうです。興味のある方は是非検索してみて下さい。


補足:
勉強会後は近くのロイホで食事会でした。
その際に話題に上がっていた、『GoogleAnalyticsが付与するユーザIDを用いたミクロ分析の方法』については、このブログでより具体的に扱う予定です。

『アセットの共有』で大量のカスタムレポートを一括で共有する

GoogleAnalytics でウェブ分析を行う上で、『カスタムレポート』や『アドバンスセグメント』は欠かせません。様々な分析を行って行くにつれ、それらが大量に増えて行きます。

便利な機能ですが、少し使いにくい点もあります。設定がユーザ(Googleアカウント)に紐付く点です。

分析担当者が自分一人の場合には、あまり問題になりません。しかし、いざ業務を引き継ごうとした時、例え共有機能があったとしても大量のそれらを1つ1つ共有するのは大変です。
(余談ですが、私が分析業務を引き継ごうとした際には、それらが計48個ありました)


そんな時便利なのが『アセットの共有』です!


2013年1月16日に、GoogleAnalytics の UI が大幅に変更されましが、その際に追加された機能です。
(新しいUIを眺めていたら発見したのでそうだと思っています)

『アセットの共有』を使えば、大量の『カスタムレポート』や『アドバンスセグメント』を一括で共有できます。

早速試してみます。

  • 『アナリティクス設定』 > 『アセット』を表示します。『アセットの共有』が新たに追加されました。

f:id:libra017s:20130118231047j:plain

  • 『アセットの共有』をクリックすると、カスタムレポートやアドバンスセグメントの一覧が表示されます。

f:id:libra017s:20130118231050j:plain

  • 一度で共有できるのは最大20個までです。共有したい設定を選択したら『共有』をクリックします。

f:id:libra017s:20130118231104j:plain

  • 見慣れた共有用URLが表示されます。

f:id:libra017s:20130118231106j:plain

  • 共有したい相手のブラウザにURLを入力して貰うと共有確認画面が表示されます。共有先のプロファイルを選択し、『作成』をクリックします。

f:id:libra017s:20130118231139j:plain

  • 『カスタムレポート』や『アドバンスセグメント』がまとめて作成されます。

f:id:libra017s:20130118231149j:plain


『カスタムレポート』や『アドバンスセグメント』の共有が面倒だと思ったら、是非『アセットの共有』を試してください。共有がとても楽になります。

カスタム変数の反映はcookieで確認する

『カスタム変数』便利ですよね。

Analytics側(HTML側)では取得できないがシステム側ならば取得できる値をカスタム変数に記録し、
ディメンションやセグメントに利用することで、訪問者をより深く分析できます。

たとえば、以下のような使い方があります。

  • 会員/非会員を記録して非会員の利用傾向を把握し、入会率向上の改善点を検討する。
  • 訪問日(1~31)を記録して日別での訪問傾向を把握し、施策の投入日を検討する。
  • 訪問者識別IDを記録してサイト内行動を訪問者単位で把握し、訪問者理解をより深める。

便利な『カスタム変数』ですが、以下のような不便な点もあります。

  1. 一度記録されたデータは削除・更新できない。
  2. 最大で5個(ユーザ定義値を使えば6個)までしか使えない。
  3. 管理画面で反映を確認出来るまで時間が掛かる。

1,2 に関しては、分析上の目的と得たいデータを考えて設計しなければなりません。

Analytics の標準で取得できないデータだからといって無闇に記録せず、
『得られるであろうデータをどのようにサイト改善に活かすか』まで考えると良いです。

3 に関しては、cookie情報を参照すれば、反映を待つより速く記録された値を確認できます。

カスタム変数の値は『__utmv』に、以下のような形式で保存されます。

__utmv = siteID .| CustomValueNum = key = value = CustomValueLevel |

記録された値は、以下のようになります。

__utmv=12345678.|1=user=会員=1|

この値から、12345678 のIDを持つサイトにて、1 番目のカスタム変数に user というキー名で 会員 という値を ユーザレベル で記録した、という事が読み取れます。
なお、実際の値はマルチバイト文字列がHTMLエンコードされています。

PCブラウザの場合は、cookie マネージャー系のアドオンを入れておけばブラウザに保存された cookie 値を確認出来ます。
スマートフォンでは、『AngelBrowser』で確認できます。
メニュー > その他 > ブックマークレット > クッキーを表示する の順で表示出来ます。

cookie 活用し、カスタム変数のテストを効率良く進めましょう。

ショートカット機能を使う

GoogleAnalytics に新しい機能『ショートカット』がリリースされたので、早速使ってみました。
まだβ版ですが、とても便利というのが率直な感想です。

この『ショートカット』は、特定のレポート画面にボタン1つでアクセス出来るようになる、文字通りのショートカット機能です。

早速、ショートカットを作成してみます。
現時点(2012年9月時点)では、「ユーザ」「広告」「トラフィック」「コンテンツ」の4種類のレポートで使用可能です。

今回は、【コンテンツ > ページ】 で、トップページへの会員の訪問回数を計測出来るように設定した画面でショートカットを作成します。
『ショートカット』ボタンは、各レポート画面のメニューバー(?)に追加されています(下図)。

f:id:libra017s:20120905211854j:plain

『ショートカット』ボタンをクリックすると、ショートカット追加ウィンドウが表示されます(下図)。

f:id:libra017s:20120905211849j:plain

ショートカットの名前を入力して「OK」をクリックすれば、ショートカットが作成されます。
ショートカットは、【メインメニュー > ホーム > 左メニュー > ショートカット】からアクセス出来ます。
作成したショートカットは、登録した名前で自動的に左メニューへ並べられます(下図)。

f:id:libra017s:20120905211850j:plain

【ショートカット > サマリ】をクリックすると、ショートカットの一覧が表示されます。(下図)
ここでは、ショートカットの削除ができます。修正は無いので間違った場合は作り直して下さい。

f:id:libra017s:20120905211856j:plain

【ショートカット > ショートカット名】をクリックすると、登録したレポート画面が表示されます(下図)。

f:id:libra017s:20120905211857j:plain

ただし、登録時したレポート画面に遷移するわけでは無く、【ホーム】内にレポートが再現されるという点に注意して下さい。
なお、画面右上の分析期間と分析精度は復元されないので、別途手動で設定する必要があります。
シュートカットは何個でも追加出来るようなので、ある程度レポーティング作業がルーティン化して、いつも見る画面が決まってきたら、ショートカットを追加してみましょう。

最後に、ショートカット機能の便利な点を改めてまとめておきます。

この機能が真価を発揮するのは、フィルタやセグメントやセカンダリディメンションを活用し、カスタマイズを重ねたレポート画面を表示する場合です。

フィルタやセグメントの設定は保存しておくことができず、別のレポート画面に遷移したときに消えてしまいます。
フィルタ設定が1,2個ならば毎回手動で設定するのもアリです。
しかし、設定可能上限(18個~20個程度)まで設定している場合は再設定するだけで大変です。

フィルタやセグメントの設定情報はURLに含まれています。
ですので、ブラウザでレポート画面にブックマークしておけば一応の復元は可能でした。
また、URLだけを保存しておき、アドレスバーにコピペして復元することも出来ました。

ただ、URLにはアカウント情報も含まれているので、分析担当者が複数人いる場合(アカウントが複数ある場合)は、URLを共有出来ませんでした。
次善の策として、URL中のフィルタ設定部分だけを切り出して共有することも出来ましたが、Analytics のレポート画面のURL構造に慣れていないと、少し難しい方法でした。

とは言え、ショートカット機能が追加されるまでは、URLのコピペがフィルタルールを復元する唯一の方法でしたので、ショートカット機能の意義は大きいです。

今回追加された「ショートカット」は、以前から手間だったレポート画面の共有を容易にする便利な機能です。
いつも利用する画面や、複数人で確認したい画面では積極的にショートカットを作成すると後々幸せになれると思います。

ショートカットをうまく使い、分析作業を効率化しましょう。

trackEvnet()のデータ反映時間は約20分

GoogleAnalytics を使って訪問者のサイト内行動をトラッキングするには、trackEvent()が便利です。

trackEvent()は、category, action, label, value 計4つの引数フィールドを持ち、category, action, label に文字列、value に数字を入れること以外に制限がありません。
ですので、設計次第で訪問者の様々な行動をトラッキングするのに使えます。

非同期トラッキングコードでは、以下のように設定します。

_gaq.push(['_trackEvent', 'category', 'action', 'label', 1]);

私が GoogleAnalytics を設定しているサイトでは、trackEvent() を使用して、訪問者のボタンクリックをトラッキングしています。

サイト内では定期的にキャンペーンを実施していて、訪問者にはキャンペーンへの応募条件としてメールアドレスの登録をお願いしています。
メールアドレスを登録するために空メールを送信してもらうのですが、この送信ボタンに trackEvent() を設定することで、送信ボタンを設置しているページに訪問してくれた訪問者のうち何名がボタンクリックをしてくれたかを計測しています。

設定は、以下のようになっています。

_gaq.push(['_trackEvent', 'BlankMail', 'click', 'send_blank_mail', 1]);

さて、trackEvent()を初めて設定したときに気になるのは、『データの反映までにどれくらい掛かるのか』です。
設定が自由な分、自分の設定が正しく実行されたのか気になりますし、もし正しくなければすぐに直さなければなりません。
しかし、正しく実行されたかどうかは、データが反映されるかどうかでしか判定出来ません。
そのとき、trackEvent()を実行してから反映されるまでの目安時間が分からないと、解析中なのか間違っているのか判断出来ず、非常にやきもきします。
意図通りに実行されなかったのに、明日には反映されているだろうと簡単に考え、翌日確認したら反映されていなかった日には、設定のスピード感に欠けますし、徒労感は想像以上です。

GoogleAnalyticsのドキュメントを読むと『データ反映には約24時間要する』と書いてあります。
また、有識者のブログを見ると『4時間ぐらいで反映される』と書かれている方も居ます。
しかし、今回検証したところ、trackEvent()については『イベント実行後20分以内で反映される』ことが分かりました。

以下は、イベント実行前のキャプチャー画像です。

f:id:libra017s:20120830223019j:plain

label に send_blank_mail と設定したイベントが、この時点で13回実行されている事が確認できます。
また、右下とみると、レポートの生成時刻が 22:08 である事も分かります。

ここで、同じイベントを1回実行しました。
そして、以下が10分後のレポート画面のキャプチャー画像です。

f:id:libra017s:20120830223024j:plain

label に send_blank_mail と設定したイベントが、1回増えて14回実行されている事が確認できます。
レポートの生成時刻は、10分後の 22:18 です。

今回は10分で更新される事が確認できましたが、過去に試したときは15分くらいの時もありました。ですので、余裕を見て20分もあれば更新されるという目安を付けるに至りました。

trackEvent() を設定してイベントを実行させた後、20分経ってもGoogleAnalytics の〔コンテンツ > イベント > サマリー〕でデータの反映を確認出来なければ、設定ミスを疑うと良いと思います。

設定を確認する際は、以下の点を見直してみると良いです。

  1. '_trackEvent' でクォーテーションとアンダーバーの間にスペースが入っていないか。
    • ' _trackEvent'になっていませんか?'_trackEvent' と ' _trackEvent'は別物です。
  2. value フィールドをクォーテーションで囲っていないか。
    • value フィールドには数字を記入します。クォーテーションで囲ってしまうと文字列になります。
  3. 括弧の閉じ忘れや行末宣言忘れは無いか。
    • JavaScriptでは、コーディングミスがあると以降の処理が実行されなくなるだけです。

もちろん、サイト規模によって反映時間は変化します。ですので、一度ご自身のサイトでの反映時間を把握しておくと、後々幸せになれると思います。

trackEvent()をうまく使ってユーザの行動を把握し、効果的にサイト改善を行っていきましょう。