Google Analyticsを使ったoAutoPagerizeのデバッグログ

自分用のoAutoPagerizeにこんなコードを入れた(あくまで自分用、でもAnalyticsだから不特定多数でも使えないこともない利用規約的にアウトっぽい)。

function debug(message, siteinfo) {
	if(DebugMode) {
		var params = (function(site){
			var p = [];
			for (var k in site){
				if (k == 'data') {
					var data = site[k];
					for (var j in data){
						p.push(j+'='+data[j]);
					}
				} else {
					p.push(k+'='+site[k]);
				}
			}
			return p.join('&');
		})(siteinfo);
		var host = location.host;
		var href = '/siteinfo/errors/' + host + location.pathname + location.search + (location.search ? '&siteinfo=' : '?siteinfo=') + params;
		var s = 'http://www.google-analytics.com/__utm.gif?...&utmhn='+host+'&utmcs=UTF-8&utmsr=1280x1024&utmsc=32-bit&utmul=ja&utmje=1&utmfl=9.0%20%20r124&utmcn=1&utmdt='+host+'&utmr=-&utmp='+href+'...'; //...の部分はあえて省略しています
		new Image().src = s;
		//alert(s);
	}
}

launchAutoPagerでurlはマッチしたけど、nextLinkやpageElementのXPathをうまく取れなかった場合に(強引に)Google Analyticsにその記録を残していくっていうアイディアです。wedataのSITEINFOオブジェクトをパラメータに分解して、擬似的なURLにしてトラッキングしています。Google Analyticsがどうやってログを取っているかはFirebugのNetで調べればすぐにわかります。実質、utmpにURLを渡してあげるだけでokみたいです。あとはAnalyticsのページで、コンテンツ→ページ別の詳細から見ていけばOKです。

このログで、はてなブックマークのSITEINFOが http://b.hatena.ne.jp/entry/http://* なページに誤爆していることなどを発見( で、直した http://wedata.net/items/710?rev=4322 けど、正規表現イマイチ自信もてない )。
siteinfoにはwedataの個別ページへのURLも含まれているので、修正作業も大分楽になります。

元々のアイディアはGoogle SpreadsheetsにGreasemonkeyスクリプトとかの出力を保存する « kuから。