はじめに
今までGoogle Analytics(以下、GA)はQiitaでしか使ったことがなかったのですが、先日QiiTrendを公開した時に、GAではページアクセス以外にも色々な情報を収集できることを知りました。
よくわかっていない部分もあるのですがGAで収集できる内容と、QiiTrendでの使い方を紹介します。
尚、ここではGAの設定方法やサイトに組み込む時の具体的なコードは載せていません。
公式ドキュメントにわかりやすく書いてあるのでそちらを参照してください。
GAで収集できること
GAでは以下のようなデータを収集できるようです。
ページ トラッキング
- ユーザーがページを表示したことを記録します。
- ここでいうページとはURLに紐づいた画面のことです。
- 記録したデータは、GAのレポート>行動>サイト コンテンツ>すべてのページなどで確認できます。
アプリやスクリーンのトラッキング
- スクリーンビューを記録します。
- ダイアログなどURLと紐づいていないものの表示を記録するためのものだと思います。
ソーシャル インタラクション
- ページに設置したソーシャルボタン(Twitterのツイートなど)のクリックを記録します。
- 記録したデータは、GAのレポート>集客>ソーシャル>概要などで確認できます。
イベント トラッキング
- URLの変更を引き起こさないユーザー操作を記録するのに使用します。
- 記録したデータは、GAのレポート>行動>イベント>概要などで確認できます。
カスタム速度
- AJAXリクエストの時間の測定などに使用します。
- 記録したデータは、GAのレポート>行動>サイトの速度>カスタム速度の画面で確認できます。
例外のトラッキング
- サーバー接続エラーなど、クライアント側で発生したエラーを記録できます。
QiiTrendでやっていること
QiiTrendのフロントエンドはReact.js+react-routerで実装していて、GAはreact-gaというモジュールを使ってアクセスしています。
QiiTrendでは以下の情報を収集しています。
ページビューの記録
QiiTrendにはトップページ(/)とトレンドチャートのページ(/trend)の2つのページがあるので、この単位でページビューを記録しています。

イベント トラッキング
イベントトラッキングとして以下の内容を記録しています。
- 外部リンクへのアクセス
- メッセージ表示

APIレスポンスタイムの記録(カスタム速度)
QiiTrendでは検索クエリーを追加したり表示オプションを変更するとAPIをコールしてデータを取得するのですが、一度に取得できなかった時には数秒おきに再試行を繰り返します。
この最初のAPIコールから最終的にデータが取得するまでの時間をカスタム速度として記録しています。

検索クエリーと表示オプションの記録(サイト内検索)
QiiTrendでは検索クエリーと表示オプションを以下のようにURLのクエリーパラメータとして設定しています。
?mode=ratio&period=4&query=tag%3Apython&unit=yearly
これをGAのビュー設定でサイト内検索として設定することで、どんな検索クエリーが実行されているのかを確認しています。

