[Node.js] Server SideでGoogle Analytics (Universal Analytics)を使ったアクセス解析
アプリのアクセスをGoogle Analyticsでトラッキングするための覚書。
環境:nodejs v0.10.24, express 3.4.8
2013年からGoogle Analyticsの新バージョン「Universal Analytics」が使用可能になり、APIも刷新されて、より使いやすくなった。
- An Easy Way to Upgrade to Universal Analytics - Analytics Blog
- Analytics Collection - Google Analytics - Google Developers
既にNPMからUniversal Analyticsに対応したモジュールを利用できる。
このモジュールはクライアントのユーザーエージェントを設定したり、ログインしたユーザーを識別する仕組みを提供してくれているので使いやすい。
サンプルコード
var ua = require('universal-analytics');
app.all('/1/*', function(req, res, next) {
var visitor;
var uuid, userAgent;// User-Agent of app client
userAgent = (req.headers) ? req.headers['user-agent'] : null;
// UUID for detecting app login user
uuid = (req.session) ? req.session.uuid : null;visitor = ua('UA-XXXX-XX', uuid, {
headers: {
'user-agent': userAgent
}
});
// Send to Google Analytics
visitor.pageview(req.url).send()// Continue
next();
});
アプリからログインした際にUUIDを生成して、セッションに保存しておく。Google Analytics側がUUID形式じゃないと受け取ってくれない。
var uuid = require('node-uuid');
req.session.uuid = uuid.v4(); // Used for Google Analytics
< Related Posts >