Rack::GoogleAnalytics

leehambley/rack-google-analytics

この Rack Middleware は、 production 環境のすべての HTML を返す URL に Google Analytics を組み込みたいというニーズがあったときに便利。以下サンプル。

Gemfile:

gem 'rack-google-analytics', :require => 'rack/google-analytics'

config/environments/production.rb:

config.middleware.use Rack::GoogleAnalytics, :tracker => 'UA-xxxxxx-x'

すべての layout ファイルに入れて回ったりしないので楽だし DRY。config.middleware.use を config/environments/production.rb に書くのがポイント。development.rb や application.rb に書けば、当然その環境でも有効になる。

この middleware は Google Analytics をすべてのレイアウトで間違いなく挿入する一つの方法になるのではと。(他の手段としては、個人的には、 application.js で require されるように asset pipeline 経由で書いてしまうのもアリだと思う)

ただし

Rack Middleware のレイヤーで HTML を操作することの是非は検討すべきかなと思うし、許容できる場合のみに使用すべきかと思う。

備考

類似品として grays/rack-google_analytics というのもある。(async で打てないので実用はむずかしいか?)