黄脳エンジニアメモ

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

*

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

      2015/01/13

はじめに

Googleアナリティクスはアクセス解析のために、ブラウザから様々な情報を取得してトラッキング(通知記録)しています。この情報のうち訪問者に関する情報はCookieでブラウザに保存しておいて、この情報も使っています。ここではどのようなCookieが使われているか調べた結果を備忘録としてメモしたものです。

ただしCookieを使っているのは従来のバージョンで、次のユニバーサルアナリティクスではGoogleで情報を管理するようになったため仕様が変わっています。詳しくは最後に記載。

使っているCookie(ユニバーサル版以前)

使っている(使っているがはわからないが保存されている)のは下記の5つのCookie。

  • __utma 訪問者情報
  • __utmb 訪問(セッション)情報
  • __utmc セッションテンポラリ用
  • __utmv 訪問者のセグメント用
  • __utmz キャンペーン用

Cookieは各サイトのドメインのCookieになっています(いわゆるファーストパーティCookie)なのでCookie自身は、GAに送られるのではなく、下記サイトのアクセスに送られます(ある意味無駄なんですが)。実際にGAに送るのはページに埋め込んだGAのjavascriptトラッキングコードがCookieを見て、ほかの情報(ページのタイトルとかURLとか)と一緒にhttpリクエストでGAに送ってます。

__utma 訪問者情報

このCookieは下記のような訪問者の情報が含まれています。いわいるユニークユーザを決めるための情報。下記の各情報の名称は正式なものではなく勝手に筆者が命名しています。Cookieがなかった場合は作成され、訪問(アクセスでなくセッション単位)の都度更新されます。

Cookieの有効期限

ブラウザに2年間保存されるようになっていました。訪問するたびに延長される動きをするので、最終訪問から2年間保存というのが正しいですね。

このためサイトに2年以内に再度訪問すれば同じ訪問者だと特定される。

含まれる情報

  • ドメイン識別ID
  • 訪問者(ビジター)識別ID
  • 初回の訪問日時
  • 前回の訪問日時
  • 今回の訪問日時
  • 訪問回数

訪問者と書いていますが実際の人間を特定しているものではなく下記のようにブラウザを訪問者とみなしています。逆に同じブラウザを他人が使っても区別できませんし、おパソコンやスマホを数台使っていた場合は別の訪問者として記録されてしまいます。

説明

「ドメイン識別ID」はドメイン名をハッシュ化した数値で保存されています、筆者がみたときは9ケタの数値。

「ビジター識別ID」はブラウザを特定する情報で乱数の9ケタ数値。単純な乱数ではぶつかる可能性があるので、実際には初回訪問日時とセットでユニークにしているようです。

「初回訪問日時」は初めてサイトにアクセスした日時のUNIX_TIMEの数値です。処理的にはこの__utmaがブラウザ上に無い(2年間経過した場合も含む)ときに初回訪問とみなすのでその日時。ビジター識別IDも同じタイミングで生成されるはず。

「今回訪問日時」は後述の__utmbが有効期限切れてなくなった場合(後述参照)更新されていると思われます。

「前回訪問日時」は上記の今回訪問日時の更新タイミングでこちらに元の今回訪問日時を転記していると思われます。

「訪問回数」は上記の今回訪問日時の更新タイミングでカウントアップしていると思われます。

 サンプル

某ニュースサイトを訪問したときにセットされたCookieは下記でした。

__utma: 261975709.914330279.1410500305.1419216468.1419397621.24

__utmb 訪問(セッション)情報

このCookieは下記のような訪問(セッション)の情報が含まれています。訪問(セッション)はページアクセスやログインのセッションとは関係ありません。GAでは30分以上アクセスがなくなった場合に訪問(セッション)が終わったとみなしています。下記の各情報の名称は正式なものではなく勝手に筆者が命名しています。Cookieがなかった場合は作成され、訪問中のアクセスで都度更新されます。

Cookieの有効期限

ブラウザに30分間保存されるようになっています。アクセス(ページ遷移)するたびに更新され期限が延長される動きをするので、最終アクセスから30分間保存というのが正しいですね。30分以上経過するとCookieは消滅し、前述の__utmaが更新され別の訪問とみなされることになります。

GAでは30分間アクセスがない場合訪問が終わったとみなしているこになります。

30分以上ページ遷移がないことが多いようなサイトではうまく計測できないことになります。flashプリとかWebアプリでページ遷移がない場合などは、自前で操作などのイベントをGAのAPIで送るようにすると詳細な解析ができます・

含まれる情報

  • ドメイン識別ID
  • 訪問中のページアクセス数
  • アウトバウンドカウンタ?
  • 訪問の開始日時

説明

「ドメイン識別ID」はドメイン名をハッシュ化した数値で保存されています、筆者がみたときは9ケタの数値。__utmaのものと同じ値でした。

「訪問中のページアクセス数」は同じ訪問の中でページ繊維を何回おこなったかのカウンタで、アクセスの都度カウントアップしています。

「アウトバウンドカウンタ?」この用途が不明です。

このデータはGAのトラッキングをカスタマイズするとアウトバウンドイベントを記録できるようになるらしい、その際にはアンカーにイベント処理を入れる必要あるとか。

いろんなサイトをみてみたのですが、数値は変化することがなく実際どうなのか不明でした。

「訪問の開始日時」は訪問が開始された(このCookieが無くて作成した)日時のUNIX_TIMEの数値が入っている。

他の文献ではページのアクセス時間だという記載があったりしますが、実際にページ遷移しても更新されなかったです。また、__utmaの今回訪問日時と同じ値が常に入っているので。訪問開始日時だと解釈しました。

サンプル

某ニュースサイトを訪問したときにセットされたCookieは下記でした。

__utmb: 261975709.8.10.1419397621

__utmc  セッションテンポラリ用

ブラウザを閉じたことを検出するためのCookie。以前はブラウザを閉じたら訪問(セッション)を終了したとみなしていたが、ブラウザを閉じてもセッションは30分以内なら訪問(セッション)継続するというポリシーになったらしい。このためほかの文献の情報ではこれは使われていないという情報あり。

Cookieの有効期限

なし、ブラウザ閉じると消滅。

含まれる情報

  • ドメイン識別ID

説明

「ドメイン識別ID」はドメイン名をハッシュ化した数値で保存されています、筆者がみたときは9ケタの数値。他の__utmaや__utmbと同じ。単にブラウザを閉じたかを検出するためなので特別な情報はもたせていないのでしょう。

サンプル

某ニュースサイトを訪問したときにセットされたCookieは下記でした。

__utmc: 261975709

 __utmv 訪問者のセグメント用

このクッキーは訪問者やアクセスの分類を行うための「ユーザ定義」「カスタム変数」を保存するためのCookieになっている。Cookieを使っているためなのか「ユーザ定義」は1つ、「カスタム変数」は5つだけ保存できる。

ユニバーサルアナリティクス版ではカスタム変数でなくカスタムディメンジョンとカスタム指標になって多くの情報を記録できるようになった(無料で50個)

Cookieの有効期限

ブラウザに2年間保存されるようになっていました。訪問するたびに延長される動きをするので、他と同様に最終訪問から2年間保存というのが正しいですね。

含まれる情報

  • ドメイン識別ID
  • ユーザ定義
  • カスタム変数

__utmz キャンペーン用

訪問の参照元に関する情報を記録するCookieです。参照元といってもリファラーをそのまま入れているわけではないです。成果を図るためなので、広告やgoogleやyahooなどの検索からなど特定の参照元から訪問があった時に更新されます。通常のリンクやブックーマークからアクセスしても値は変わらずに保持しています。

Cookieの有効期限

ブラウザに6ヶ月保存されるようになっていました。広告や検索サイトなどから訪問するたびに更新される動きをします。

含まれる情報

  • ドメイン識別ID
  • キャンペーンからの最終訪問日時
  • セッションカウント
  • キャンペーンからの訪問回数
  • キャンペーン詳細情報

説明

「ドメイン識別ID」はドメイン名をハッシュ化した数値で保存されています、筆者がみたときは9ケタの数値。他の__utmaや__utmbと同じ。

「キャンペーンからの最終訪問日時」キャンペーンページや検索サイトから訪問した際の日時のUNIX_TIME。キャンペーンや検索サイト以外からのアクセスでは更新されない。

「セッションカウント」違うキャンペーンから入るとカウントアップされるが「キャンペーンからの訪問回数」もおなじようにカウントアップされるがこちらのほうが数字は大きい。

「キャンペーンからの訪問回数」違うキャンペーンから入るとカウントアップされる。

「キャンペーン詳細情報」は下記の情報がセットされる

  • utmcsr (utm_source) ソース: サイト名、google、(direct)
  • utmccn (utm_campaign) キャンペーン: (organic)、(referral)、…
  • utmcmd (utm_medium) メディア: organic、referral、…
  • utmcct (utm_content) 広告の種類: リファラのパス
  • utmctr (utm_term) キーワード: 検索エンジンのキーワード
  • utmgclid アドワーズID

サンプル

某ニュースサイトをyahoo bing boogleから訪問したときにセットされたCookieは下記でした。検索サイト以外のアクセスを途中で行っても変化はしませんでした。

261975709.1419469289.27.16.utmcsr=yahoo|utmccn=(organic)|utmcmd=organic|utmctr=%E6%9C%9D%E6%97%A5%E6%96%B0%E8%81%9E
261975709.1419469596.28.17.utmcsr=bing|utmccn=(organic)|utmcmd=organic|utmctr=%e6%9c%9d%e6%97%a5%e6%96%b0%e8%81%9e
261975709.1419469898.29.18.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided)

Googleアナリティクス ユニーバーサルのCookie _ga

すでにGoogleAnalyticsはユニバーザル版へ移行が始まっています。

移行したサイトでこのクッキーの残骸が残っていることがあります。上記以外に_gaというCookieがあった場合にはユニバーザル版が使われていています。

またこのCookieの名前の_gaやCookieのドメインは変更ができるようです(ドメインのデフォルトはトップドメインから順番に試していくようです)。「デフォルトの Cookie 設定の指定」に記載があります。

Cookieの有効期限

ブラウザに2年間保存されるようになっています。GoogleAnalytcsの説明では「期間はヒットが送信されるたびに更新される」と書いてありますが、実際は更新はあまりされないです。2年あるのでそんなに更新しないでも問題ないからだと思いますが。この説明には期間の変更も可能という記載があります。セッションベースのCookieにしてしまうこともできるようです。

含まれる情報

従来のGoogleAnalyticsとは個違い、訪問に関する情報はなく単純にブラウザを識別するよなIDになっているだけです。実際の訪問者の情報や訪問情報などはすべてGoogleのトラッキングシステムに保管されてCookieにはいれなくなりました。

  • GoogleAnalyticsのCookieバージョン
  • ドメインの深さ
  • ブラウザ識別IDの乱数部分
  • ブラウザ識別IDの日時部分

説明

「GoogleAnalyticsのCookieバージョン」番号で2014年12月時点はまだ”1″のままです。将来の仕様変更を判断するためのものでしょう。

「ドメインの深さ」たとえば無指定のトラッキングコードを使うと mil-o.jp なら2です。tech.mil-o.jpのサイトでも2です。xxx.co.jpやyyy.xxx.co.jpは3になっています。ページのドメイン部分のどこを使うかを固定化するために使っているのかもしれません。

「ブラウザ識別IDの乱数部分」「ブラウザ識別IDの日時部分」はセットでユニークな訪問者IDになっています。最初の乱数だけだと重複がああるのでCookie作成の時刻も一緒につけている。

 - GoogleAnalytics, Web , , , , ,

  関連記事

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

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

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

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

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

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

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

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