Thursday, September 10, 2009

ga.js の勉強

ga.jsについて

ほとんど、分かってないけど、書く。

1. googleにhostされているga.jsをファイルをgetする
2. 展開されたga.jsは、windowオブジェクトに、_gatプロパティをくっつける
3. _gat.getTracker("UA-xxx-y")で、APIが公開されているオブジェクトを生成する。
4. それを使う。 TrackpageView()で、デ-タ送信(Gif-request)を行う。

送られるデ-タは、

http://code.google.com/intl/ja/apis/analytics/docs/tracking/gaTrackingTroubleshooting.html
にある。


cookieのデ-タなどは、utmccで送られる。utmccは新規campaign、utmcrは継続しているcampaign?
後は、e-commerce用のデ-タを送るものもある。Gif-requesteがcacheされないように個別のIDも振られている。

ga.jsのなか

難しい文法は使われてない(prototype, applyとか)ので、根気されあればと思うけど、一字の変数が大量に並んでいるので、苦しい。

大まかな概略は、 _gatオブジェクトが定義されて、
Fという変数に_gatは代入され、そこでさらに、いろいろなプロパティが追加される。

そのプロパティには、いろいろなconstructor関数が定義されており、
それらが、new F.hogeみたいな形で、いろんなオブジェクトが追加されている。

最初に呼ばれるのは、F._getTrackerで、 new F.qc(g, l)がreturnされる。
この返却値(pageTracker変数とする)には、いろいろなAPI(underscoreで始まるもの)が定義されており、それをユ-ザは使う。


元々の_gatオブジェクトで、定義された値なども、pageTrackerから引き出すようになっている。
API?でなくとも引き出せる。 検索エンジンの一覧などは、pageTracker.xd().Laなどで引き出せる。でも、APIから操作しないと想定しないエラ-になりそう。xd()で返されるオブジェクトには、windowオブジェクトへの参照もある。


InitDataは、デ-タを整形を整形するところ?

F.pc.l.Vで、デ-タ送信をしてる。google にデ-タを飛ばしながら、自分のところに、同じデ-タを飛ばすことも可能だが、二次利用?はたぶん規則に触れるような気がする。

0 comments: