参照元、参照サイトの日別データを取る

yahoo知恵袋の質問を見てたら、一日単位のリファラー(参照サイト?)が取りたいという質問があって、確かに欲しいデータだなと思ったので、手順を書きます。使うのは、カスタムレポートとセカンダリ-ディメンジョンの二つです。最後に、エクセル出力です。

カスタムレポート作成

ディメンジョンを日別にします。指標は、閲覧開始数、滞在時間、直帰率にしておきます。

カスタムレポート日別データ

サブディメンジョンは入れてもいいですが、入れなくてもいいです。とりあえず使いません。

レポートに戻ったら、セカンダリ-ディメンジョンを参照元にします。

日別データ カスタムレポーティング

これで、参照元のセッション数、平均対座時感、直帰率がでました。でも、検索エンジンはいらないですよね

検索エンジンと直帰をしたセッションをアドバンスフィルターで除きます。

WS000003

セカンダリ-ディメンジョンの参照元で絞り込みます。”文字を含まない” で、google|direct|yahoo|reader とします。

(*他のキャンペーンなども必要に応じて除いてもいいですし、最後のエクセルで除去してもいいです)

アドバンスフィルターを適用

フィルタリングできました。

これをファイルにエクスポートして、エクセルで開いてピボットにします。

WS000006

すかすかですが、エクセル上なので、データの絞り込みなどは容易だと思います。

このエクセルは試用版ですが、スライサーというのを使うと、

エクセル スライサー

フィールドを個別に選びながら表示できました。さすがエクセルですね。

参照サイトはわかったけど、そのサイトの”どのページ“から来たか分からないじゃないか?

ですよね。カスタムレポート作り直しましょう。

カスタムレポート 参照URL

サブディメンジョン参照URLを加えて、レポートを出した後に、特定の日を押すと(下図では3月1日)

WS000010

データはでましたが、今度はドメイン名が出てないです。。。参照URLは、”/” 以降の部分しか表示しません。(その場合、参照URLという名前でいいのだろうか???)

もちろん参照元 > 参照URLという形でカスタムレポ-トのディメンジョンを組み立てれば、クリックして特定のサイトのページ名はだせます。しかし、特定の日 > 特定のドメインで、そこに限定された参照URLが見られるだけです。という事は、一括した形でデータをエクセルに落とす事もできません。一日ごと  > サイトごと> にやればいいのですが、大変です。

Data Export APIを使う

Data Feed Query Explorerを使う

http://code.google.com/apis/analytics/docs/gdata/gdataExplorer.htmlに行って、

Data Feed Query Explorer で参照サイトとパスを同時に出す

上のidsの所には、通常のウェブで見てる時に、ブラウザのURLを見ると、id=xxxx とあるので、それを入れて下さい。プロファイルIDです。あとは、ブラウザをFireFoxにして、table2clipboardというAddOnを入れると、コピーしたものがエクセルにそのまま張り付きます。(* データ数が多いとブラウザが固まるかもしれません。数千件ぐらいのデータは気を付けるべきです)

エクセルに行くのは省きます。

Google Apps Scriptを使う

もちろん、他のスクリプト言語でデータを取り出してもいいです。Google Appsを使っているとGoogle Spreadsheetに apps scriptというエクセルでのVBAみたいなものがあるのですが、それだと、データを集めてspreadsheetにも出力できますし、同時にmailを送る事もできます。(Google Apps Scriptを使って、Google Analyticsのデータを出しているところ)

Google Apps scriptで、google analyticsのデータを出す

スクリプトの中で、MailApp.sendEmail()と書けば、メールも送信できます。

スプレッドシートなので、この図のB列とC列を足して上げれば、参照元のURL全体が表示され、訪問回数、直帰数、滞在時間などがでます。もちろん、コンバージョンなどもだせます。

と言うことで、Google Analyticsでデータの整理にお悩みの方は、データ整理のご相談の連絡を下さい。サイト運営は素人ですが、データの集計や整理を一生懸命やります。

カスタムレポートでもデータ出せるよ! という方法をご存じの方があれば、コメント頂けると嬉しいです。

アドバンスセグメントを使った上での、疑似目標到達プロセス

先週のアクセス解析ワークショップで、考えた事を元にこのエントリーを書いてます。今回のエントリーの内容としては、ROI revolutionの記事(funnels_on_the_fly_in_google_analytics)とほとんど同一です。参考にしました。

目標到達プロセスとアドバンスセグメント

目標到達プロセスで、目的達成を図示する

アクセス解析の目的は、ビジネスゴールの達成ができているのかを測定することです。もちろん、サイトによってゴールの種類はさまざまです。PVから始まって、直帰率、読んで欲しいコンテンツへの到達率、資料請求申し込み、商品販売、さまざまですが、解析の目的には、ゴールがついて回ります。ゴールの達成度を測るわけです。でも、その過程も評価できたら嬉しいです。Google Analyticsでは、この過程を図示する機能があります。目標到達プロセスと呼ばれるものです。(プロファイルごとに設定が必要です)

目標到達プロセス

* 数字の見方に気を付ける。途中のプロセスをすっ飛ばして、ゴールに来た奴はどうやってカウントしているかです。

  • 何もかもすっ飛ばしたものは、直接、横に表示される。
  • トップ(図の場合Home)に来て、途中を飛ばしてgoalしたもの。こういうものも、図の中では途中を経過しているように図示される。

となってます。フォームの離脱率など順番が保証されている場合は、心配はいりませんね。

数字の見方に気を付ける点はあるものの、ゴールの過程が図示されます。どこでセッションが切れている(到達してる)が分かりますので、離脱の多い所の改善を考えて、リンクの位置を変えようといった話につながります。

分析手段である、アドバンスセグメント

こうやって、道のりの過程を考えてデータを見る方法とは別に、ユーザ属性を仮定して特定の属性の人(セッション)の行動指標を見る事もGoogle Analyticsではできます。特定のセッションのみを抽出してレポートしてくれるアドバンスセグメントです。

検索してきたセッションはどうなんだろう? 特定のデバイスからのセッションはどうなんだろう? ページビューが5以上あるセッションはどうなんだろう? Google Analyticsで使うディメンジョン・指標のほとんどについて、セッションデータの切り出しができます。

目標達成プロセスがサイト全体でのセッションが、ゴールまでの到達(逆にいえば離脱)を見たのに対して、アドバンスセグメントでは、特定のセッション(複数)についていろんな指標面を見る、すなわち、これら(セッション)がいったいどんなものだったのかを見るわけです。目的達成のための調査をしてくれるわけです。

しかし、目標到達プロセスとアドバンスセグメントは同時に使えない

同時に使いたいですよね。僕もしたいです。でも、機能として出来ません。パフォーマンス上の理由なのか、特定の指標については、アドバンスセグメントが用意されていません。以前のエントリーで書いたユニークユーザー数もそうでした。

でも、セグメントしたデータでの目標到達プロセスを知りたいですよね?少し面倒ですが、やってみましょう。

アドバンスセグメントのテストを使った擬似的な離脱プロセス数

このサイトはデータが少ないので、分かり易いデータではないのですが、このサイトの3つのページ、what_are_visits…, top, profileで、what_are_visitsがランディングになったページで、profileをゴールとし、topをプロセスとします。what_are から topへいって、profileというイメージです(実は、それは出来ないのですが、便宜上そうさせておいて下さい、出すのは疑似的な数字です)

では、実際のデータをみていきましょう。

まずは、アドバンスフィルターでページ別セッション数をCHECK

特定の閲覧開始ページでのページ別セッション数

正規表現は覚えると便利です。僕も昔は、???でしたが、使えると便利です。Google Analyticsでは使う場面がチョコチョコ出てくるのが頑張りましょう。

それぞれのページがどれくらいのセッションを獲得したかが、ページ別セッションに現れます。”/”が9。”/profile”が4。ただこれは、ばらばらの数字で、ゴールの過程がどうかわかりません。ゴールに設定したprofileでは4セッションという目標を達成したのですが、トップの”/”が目標達成プロセスとして、何セッション数いたのかが不明です。

アドバンスセグメントの管理画面で、テスト機能を使う。

アドバンスセグメントの管理画面は、もちろん、設定をする場所なのでが、セグメントのテストを使うと、おもしろい数値が取れます。

セグメントのテスト1

上と同じ数字です。セッション数9ですね。

それではその中で、ゴールであるprofileまでは、どれだけのセッションが行ったのかというと、上の図に And条件を足して、

セグメントのテスト2

最終的には、セッション数1、、、です。上のセッション数9が、1になりました。最初にアドバンスセグメントで上位のコンテンツを見た時は、”/”が9セッションで、”/profile”が4セッションでしたが、両方を通過(到達)したセッションは、1となったわけです。

疑似的目標到達プロセス

整理しますと、/what_areで、169セッションありました。で、top と profileを同時に見られたセッションは、1セッションだった。

実際のプロセスなどで順番が仮定できる場合は、これでセグメントしたセッションで、離脱(到達)プロセスの数字が出せます。

Topがプロセスで、profileをゴールという順番を仮定すると、169 → 9 → 1となります。9/169=5.2%。最初に85%が離脱して、次に 1/9=11%なので、89%が離脱。

数字も1があったり、信頼性はないですが、フォ-ムなどのプロセスで分析できるデータをお持ちの方は、今回のような形で、セグメントされたセッションに対しての目標到達プロセスで見た離脱数を出せると思います。(プロセスの順番が想定できるものという条件になりますが)

まとめ

  • Google Analyticsで使う事の多い、アドバンスセグメントと目標到達プロセスがどういうものかの説明をしました。
  • その後、この二つは、同時に使う事ができない事を書きました。
  • 代替的手段として、アドバンスセグメントの条件を一つづつ増やす事で、疑似的(順番を仮定)に目標到達プロセス(プロセスでの離脱数)をだしました。
  • 順番さえ想定できれば、絞り込み条件を一つづつ増やす事で、3つ以上のプロセスにも適用が可能です。フォームなどの離脱プロセスを、アドバンスセグメントで見たいと思った場合に有効だと思います。

指標数値の補正とアドバンスセグメント

平均値が出発点になる

サマリ-画面で、いろんな数値を見る時に、多くの数値は平均値が出てきます。平均値に回数を掛ければ、全体の数字が出るわけですから、データをイメージする方法としては、とても合理的です。日常生活でも、平均にするといくら、というのは頻繁に出てきます。僕らは、どれくらいの確率で起きそう?と問われたら、過去の平均を即座に計算します。 webサイトなら、コンバージョン率。どれも、成功したものを試行回数で割った数字=平均値を議論のたたき台にしています。

それで、でてきた平均を元に、サイトには、毎日これくらいのユ-ザが来て、これくらいのペ-ジ数を見てくれると想像します。その後に、トラフィックをチェックしたり、特定ペ-ジの貢献度を分析したり、コンバージョンへの導線を見たりすると思います。

分布データが見れるモノもある

でも、平均は信用ならないので、実際のデータの散らばりぐあいが見たくなる時があります。Google Analyticsでは、個別のセッションがどういったモノかを見る場合は、リピート訪問数(*)にいくのがいいです。ここではリピートセッションに関する情報だけでなく、セッションの滞在時間分布、ページビュー分布が表示されます。あとは、前回セッションからの間隔日数、そのユーザの何回目かの訪問がでます。

*この名前の付け方はヘン(英語の方は:loyalty)だと思います。

分布データからは、中央値とか散らばりとかがわかる

分布データでは、自分の頭の中に、イメ-ジができます。これくらいのセッションが、こうなる、、と。平均値はこうだけど、実際にはこういう感じなのだな、、、とイメージを、ボンヤリながらも自分の記憶に保持する事が可能になります。

でも、言葉抜きのイメ-ジは人には伝えられない

議論したり、blogを書いたりするときには、言葉が大切です。ビジネス度が上がれば上がるほど、言葉・数字以外でなんとかする、、、とはいかなくなります。

平均値を少しはマシな数字にする

なので、なんとか、アウトプットする数字を、分布データ図からのイメージに近づけたいです。

方法としては、外れにある奴には退いてもらうわけです。アドバンスセグメントさんが、やってくれます

指標を使ったアドバンスセグメントの絞り込み

アドバンスセグメントの利用方法としては、ディメンジョン側での絞り込み(トラフィックタイプの限定、特定ページ群でのデータに絞る)事が多いのですが、指標側でも絞り込みが可能になっています。指標数字で、外れに居る奴には退いてもらいましょう。

1. イレギュラーなセッションに退いてもらう

Google Analyticsでは、データの整理が難しいページビューを、特殊なセッションとして処理しているようです。セッション中の外部ドメイン経由の流入を、

  • トラフィックとしては記録
  • コンテンツはなしとする

こういうセッションとして扱うようです。退いてもらうには、コンテンツに関する指標(ペ-ジ別セッション数、ページビュー、閲覧開始数)がゼロで見つけます。

WS000007 WS000008

ペ-ジビュ-、滞在時間などに変化が見られます。(こんなに違うのは、僕のサイトの計測がヘンだからです。普通はほとんど変わらないかもしれません)。

2.ペ-ジビュ-の多いものに退いてもらう

autopagenizeなどで閲覧してもらう時は、実態以上にペ-ジビュ-などが増えます間違いでした。でも、とりあえず、10ペ-ジ以上のものを外しましょう。

もちろん、10ペ-ジ以上のものを見るのもありです。

WS000010 WS000011

若干ですが、平均ペ-ジビュ-に変化がみられました。滞在時間があまり変わらないのは、10ページ以上のセッションが特殊という傍証かもしれません。

3.滞在時間の多いものに退いてもらう

僕のサイトはeventTrackを延々と出し続ける計測方法なので、ページが開いている限りは滞在時間がカウントされます。また、最終ページがカウント対象外になる事もないはずです。ただ、タブ型ブラウザで放置されているのも滞在時間にされているので、そういうのを除けておきます。

advanced_segment_wih_time_on_site WS000013

2割強のセッションが放置されるのは、多いような気がしますが、、、平均PVは、異常値なので、平均ペ-ジ別セッション数を出しますと、1.21(全体), 1.25(20分以下)で、放置セッションを含む全体の方がPVは少なめと、通常の数値とは逆転します。

まとめ

  • 平均値と分布図を見比べる必要性を書きました。
  • セッションに関する情報が、名前がヘンだけど、ユーザー > リピート訪問数 でみるとイイと書きました。
  • 言葉にならない分布図に代わって、平均値で議論するための前提として、外れた値を持つセッションを除外しました。
  • その方法として、アドバンスセグメントの指標で設定をしました。

今回の話は、アクショナブルでもないし、キーパフォ-マンスと直接関連するものでもないのですが、分析するときに、ワーキングメモリーに入る事が多い平均値には、留保を付けておく事の価値を書いたものだと思ってます。

だんだん、書くネタに行き詰まってる証拠かもしれません。(分析、解説記事まで昇華できなかった言い訳です)