[Node.js] Server SideでGoogle Analytics (Universal Analytics)を使ったアクセス解析

nodejs_universal-analyticsアプリのアクセスをGoogle Analyticsでトラッキングするための覚書。

環境:nodejs v0.10.24, express 3.4.8

2013年からGoogle Analyticsの新バージョン「Universal Analytics」が使用可能になり、APIも刷新されて、より使いやすくなった。

既に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 >