- 2010年6月 2日 22:35
- 06.マメ知識
GAのトラッキングコードが2010年5月から非同期コードが標準になりました。
新型は現時点ではこんな感じ:
<script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-12345-6']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script>
対して、旧式というのは具体的には、ga.jsを読み込んでpageTrackerを定義、_trackPageview()をコールするという方式でした。こんな感じ。↓
document.write('<sc'+'ript src="http'+(document.location.protocol=='https:'?'s://ssl':'://www')+'.google-analytics.com/ga.js"></sc'+'ript>') var pageTracker= _gat._getTracker("UA-12345-6"); pageTracker._trackPageview();
だけど、この書き方が、ゴソっと変わったのです。
変更点:_getTrackerの廃止
最初にトラッカーオブジェクトを作る時のおなじみ、_getTrackerが廃止されました。でも実際はまだ使えてるみたい(旧式コードがほとんどなので当たり前か)。
新しいコードの追加
- _createTracker(opt_account, opt_name)
- _getTrackerByName(opt_name)
- _anonymizeIp()
getTrackerのかわりにcreateTrackerが用意されています。
var pT= _gat._createTracker("UA-12345-6","tracker1"); pT._trackPageview();
これは↓と等価です。
_gat._createTracker("UA-12345-6")._trackPageview()
トラッカーオブジェクトそのものに名前(ID)を付けられるということは、これまで正式にはサポートされていなかった複数のGAコードを同一ページに貼ることが許されるようになった、ということです。
ちなみに、そこで付けたIDをもとに「_gat.getTrackerByName("tracker1")」とやれば、トラッカーオブジェクトが直接参照できます。何がすごいって、pageTrackerっていう名前が実質必要なくなったということです。
個人情報保護(?)への取り組み
_anonymizeIp():
IPアドレスの最後のオクテットを削除することで、匿名性を高めたトラッキングをします。具体的には、地理情報が正しく計測できなくなるらしい。
「Web閲覧者の特定につながる情報を取り除くため、具体的なプライバシー保護策としてアピールできる。ただし匿名化によって解析精度がやや下がる」とのこと。会社サイトとかのプライバシーポリシーページに入れておくイメージでしょうかね。
Google側としては、こういう方法を用意することによって、データを収集するのはサイト側の責任であり、ツールを提供しているにすぎない、と言えるから、使わないにしても重要なメソッドなのかも。
_gat._anonymizeIp();