(悩み中)OpenSocial jQuery Event Tracking というユーザ行動をトラッキングできるプラグイン

51 views
Skip to first unread message

なかじまん

unread,
Dec 15, 2009, 5:53:31 PM12/15/09
to OpenSocial jQuery Discussion
おはようございます。なかじまんです。

OpenSocial jQuery Event Tracking というプラグインを作りました。

作りとしては完成したもので、他に必要なことがあれば追加していけばよい
のですが、どうもインタフェースがしっくりこないので、気付きを期待してだら
だら投稿してます。

ソースと実例は、この changeset を見てください。

http://code.google.com/p/opensocial-jquery/source/detail?r=661

jQuery.autoTrack(); とすると、イベントを自動的にトラッキングして、外部デ
ータベース(今はOpenSocial Host)に記録しはじめます。後で、データベー
スを分析すれば、ユーザがどのような行動をしているか把握できるというも
のです。

トラッキングできるイベントは、次のとおりです。OpenSocial jQuery という
抽象レイヤがあってこそ実現できることなので、特徴的といえます。

* どのビューを表示したか、ビュー名とパラメータ
* どのビューに遷移したか、ビュー名とパラメータ
* どの外部サイトに誘導されたか、URL
* 外部サイトに何をリクエストしたか、ajax GET|POST と URL+QUERY_STRING
* コンテナンに何をリクエストしたか、ajax type="data" People, appData など
* どのリンクをクリックしたか、ラベルとリンク先
* すべてのイベントで、viewer_id, owner_id, 日時が判別できます

Google Analytics API を使えばいいんじゃない? という気もしますが、makeRequest
を使うことで viewer_id, owner_id など付加情報が得られて、ユーザのセッション
を追跡できるのが違うかなと考えてます。Analytics をガジェットで使うとなると、
Cookie セッションしか手段がなさそうなので、大丈夫かしらという懸念もあったり
してます。(ちゃんと調べてはいません)

気にしているところは、次のとおりで、インタフェースを見直そうといろいろ考え
てます。

* OpenSocial Host 以外のデータベースも選べるようにしたい
-- 選べるというのがいいか、実装を入れ替えられるのがいいか
* 特定のイベントだけをトラッキングできるようにしたい
-- jQuery の Global Event モデルに統合したいが、mixi の外部サイト誘導が...
* ユーザ行動のトラッキングが目的なのですが、デバッグ用途という誘惑もあり、
コンセプトがぶれてきてる

どういうことができれば実用になるのか、もう少し整理しないといけないですね。

なかじまん

unread,
Dec 16, 2009, 6:09:42 PM12/16/09
to OpenSocial jQuery Discussion
おはようございます。なかじまんです。

@joraku @nakajiman 見てみましたが、私も悩んじゃいました。
データの保存先もそうですが、トラッキングしたい内容もユーザーによって結構マチマチ
な気がします。(イベント間のマウス軌跡やスクロールもほしい!等)
どうせ色々変更されることが前提なら、あまり凝っても仕方ない気もしますね。
http://twitter.com/joraku/status/6724223086

というコメントをいただきました。

先リビジョンのソースコードは、click イベントの付加情報として、クリック位置
(ページ絶対位置)も蓄積しています。なので、蓄積データを使って、どのリンク
をクリックしたか、その位置も含めて再現できます。

ただ、コメントのとおり、現在はリンクの click イベントしかトラッキングしていま
せん。というのは、頻繁に makeRequest するのとの兼ね合いがあるためです。

より行動を記録するという方向性として mouseXxx イベントも記録するというの
も試してみたいので、まず仕組みとして、イベントをキュー化して、一定の量に
達したとき、もしくは必要なとき、まとめて makeRequest するようにしました。

ソースコードは、次の changeset を見てください。
http://code.google.com/p/opensocial-jquery/source/detail?r=662

ひとまず、マウスの軌跡を記録できるか試してみようと思ってます。
Reply all
Reply to author
Forward
0 new messages