黄脳エンジニアメモ

仕事や趣味やらで調べたり試したりした情報をただただ書き並べてるだけ

*

[GoogleAnalytics]ページアクセスのトラッキング時に送信している情報を調べた

      2015/01/21

Googleアナリティクスで送信されている情報はどんなのがあるか調べた

Googleユニバーサルアナリティクスで、Webアクセスの記録をするには、htmlにトラッキングコードを追加することで記録される。このコードからどのような情報ががGAに送信されているか調べてみた。

正式にはこのトラッキング通信は「Measurement Protocol 」という名称らしい。

送信は http://www.google-analytics.com/collect? を使って送られている。

どのような通信が行われているかは、chromeブラウザを使って調べた。

Chromeのデベロッパーツールを「Ctrl+Shift+I」で起動し「Network」のタブで通信ログ表示のモードにする。種類選択は「All」にして「filter」に「google-analytics」を入れる。この状態で調べたいサイトのページをブラウザで表示すると「analytics.js」と「collect?~」の2つ通信ログがとれるので「collect?~」をクリックして詳細を表示させる。(下記はこのhttp://mil-o.jp/yb/)の場合。

Googleアナリティクスの通信ログ

 

URLのパラメータ部分はかなり長い(https://www.google-analytics.com/collect?v=1&_v=j31&a=~)ので、chromeのデベロッパーツールの右側部分をスクロールして「Query Strings Parameters」をみたほうがわかりやすい。

Google アナリティクスの通知情報

 

Google Analytics で送信されている内容の詳細

下記に送信されているパラメータの内容を調べた結果を記載した。

プロトコルバージョン (v)

「v=1」となっているのがプロトコルバージョンで将来仕様が変わったときに数字が変わると予想される。このときは1となっている。

ヒットタイプ(t)

「t=pageview」で記録の目的タイプで、記録するのがページビューのときは「=pageview」だが、イベント「=event」 や「=transaction」「=item」「=social」「=exception」「=timing」、スマホアプリのスクリーンビューでは「=screenview」がある

詳しくは「デベロッパー ガイド」を参照

ドキュメントのURL(dl)

「dl=http://mil-o.jp/yb/」ページのURLが入る、実際にはURLエンコードされて送られているため「dl=http%3A%2F%2Fmil-o.jp%2Fyb%2F」のようになっている。

ユーザ言語(ul)

「ul=ja」ページ?ブラウザ?が入いっている。

ドキュメントエンコード(de)

「de=UTF-8」ページの文字エンコードが入る。

ドキュメントのタイトル(dt)

「dt=黄脳エンジニアメモ」そのページのタイトルが入る、実際にはURLエンコードされて送られているため「t=%E9%BB%84%E8%84%B3%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%A1%E3%83%A2」となっている。

画面の色深度(sd)

「sd=24-bit」ブラウザの色深度が表示されているRGBが8bitずつのフルカラーなら24bit

画面の解像度画素数(sr)

「sr=1920×1200」ブラウザが動作している画面の画面解像度(画素数の横x縦)がセットされる

ブラウザの表示サイズ(vp)

「vp=1363×848」ブラウザでページを表示しているサイズがセットされる。

Java対応(je)

 

「je=1」Javaが動作するブラウザなのかをセットする。

Flashのバージョン(fl)

「fl:16.0 r0」Flashが動作する場合そのバージョンをセットする。

クライアントID(cid)

「cid=1040391367.1417159022」クライアント(ブラウザ)を特定するために割り当てたIDでCookieに保存されているものを送信している。具体的には_utmaや_gaのCookieの値。前半部分はブラウザに自動割り振りした乱数。後半は前半が乱数のため重複しないようにCookie設定した際の日時が入っている。

ユーザID(uid)

「uid=1」でこれはそのサイト毎でユーザを特定するためのユーザID。サイトが意識的に記録する設定をしないと送信されない。このサイトではWordPressで管理アカウントでログインしているためWordPressのユーザIDが送られている。

トラッキングID(tid)

「tid=UA-33884918-1」これはGAのスクリプトを埋め込む際にGoogleAnalitics設定で取得したサイトのトラッキングID。

キャッシュ防止用(z)

「z=1961060386」ブラウザや途中のプロキシやキャッシュサーバでキャッシュされいように、URLにランダムな値をいれてトラッキングがキャッシュされて阻止されないようにするため。

トラッキングCookie(_utma _utmz) ※旧バージョン移行目的?

「_utma=7187118.1040391367.1417159022.1419392500.1419406496.5」「_utmz=7187118.1419406496.5.5.utmcsr=mil-o.jp|utmccn=(referral)|utmcmd=referral|utmcct=/」各サイトのGA用のCoockieの「__utma」「__utmz」があれば(旧バージョンのGAのCookieが残っていれば)送られる。詳細は「GoogleアナリティクスのCookie」を参照。

トラッキングタイムスタンプ(_utmht) ※旧バージョン移行目的?

「_utmht=1421125768292」トラッキングを通知した時刻の値と思われる。hitの都度変わる値。上記の_utma _utmzがある場合にしか送信されていない。

調査したが不明なパラメータ

下記は調べたが用途がまだわかっていないものでわかり次第説明を追加する。
_v=j31
a=1185515626
_s=1
jid= 「値がない場合や 1749711884 のような数値がつくことがある」

httpヘッダ関係で送られるもの

上記はリクエストパラメータだがその他一応ブラウザが送信しているものを列挙しておく、user-agentは使われているかもしれない。

host:www.google-analytics.com
method:GET
scheme:https
version:HTTP/1.1
accept:image/webp,*/*;q=0.8
accept-encoding:gzip, deflate, sdch
accept-language:ja,en-US;q=0.8,en;q=0.6
cache-control:no-cache
pragma:no-cache
referer:http://mil-o.jp/yb/
user-agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36

 参考文献

Measurement Protocol のリファレンス

Measurement Protocol のパラメータ リファレンス

 - GoogleAnalytics, Web , , ,

  関連記事

no image
[GoogleAnalytics]Google アナリティクスのCookie

はじめに Googleアナリティクスはアクセス解析のために、ブラウザから様々な情 …

no image
[AjaXplorer]レンタルサーバのファイル管理

レンタルサーバのファイル管理するエクスプローラがほしい サーバにはレンタルサーバ …

no image
[AWS]ELBがURLで振り分けできない問題はCloudFrontでなんとかする

一般的なロードバランサではできるのにELBでできないURLでの振り分け AWSで …

no image
[Jmeter]負荷があまりかからない場合の対策

Webアプリケーションサーバの負荷上限を調べることになった。 利用者が増えていて …