あとは目的と想像力で
さて、ブラウザが発生させるイベントと、それを検知する仕組みについて、非常に簡単に解説してきました。解説したことは非常に少ないのですが、「JavaScriptで何ができるのか」という事の、非常に基礎的な部分でもあります。それを以下に組み合わせて、目的の解析を行うかは、その戦略の建て方次第、想像力次第といったところです。
最後に、いくつかのイベントを組み合わせて応用した事例として、Google AdSenseがクリックされたことを検知するというサンプルを紹介します。そのサンプルは、以下で紹介されています。
Track Google AdSense Clicks via Google Analytics - Free AdSense Tracker
これはサンプルというか、ここで配布されているastrack.jsというスクリプトを読み込めば、簡単にAdSenseがクリックされたことを検知し、記録できる実用的なものなのですが、イベントを組み合わせるためのヒントにもなっています。
AdSense広告のHTMLは改変が許されていないので、それを改造してクリックされたことを検知することはできません。しかし、通常のAdSenseは、IFRAMEというタグを利用して、別のHTMLファイルをページ内に埋め込んだものになっています。そのことを利用して、IFRAME内にマウスカーソルが入った状態でそのページが閉じられた(つまり他のページに移動した)場合に、それをAdSenseのクリックとして記録する、ということを行っています。
その際の処理は、Internet Explorerとそれ以外のブラウザで異なっています。Internet Explorerの場合は、IFRAME自体にonclickイベントが使えるので、あまり複雑なことはせず、そこで検知をしています。
ただし、Firefoxのブラウザの場合、IFRAMEのonclickイベントが使えないので、代わりにonmousemoveでマウスの位置を捕捉してマウスが動く度に現在の位置をJavaScript内で記録しておき、onbeforeunload(FirefoxやInternet Explorerで用意されている、ページが閉じる直前に呼び出されるイベント)でページが閉じられる直前に、その位置をチェックしてIFRAMEの中だったら、urchinTrackerを呼び出します。

このように、あるイベントで何らかの値を保存しておき、それを他のイベントで利用してアクションを記録する、というのはなかなか便利な手法なのです。