LoginSignup
45
47

More than 5 years have passed since last update.

Google AnalyticsをRails 4のTurbolinksに対応させる

Last updated at Posted at 2013-07-21
  1. <head>要素内にトラッキングコードを置く(<body>に置いたスクリプトは毎回実行されるので二重に送信されてしまう)
  2. 以下のスクリプトを追加、もしくはgoogle-analytics-turbolinks gemを使う
google-analytics-turbolinks.js.coffee
$(document).on 'page:load page:restore', ->
  # Universal Analyticsの場合
  if window.ga?
    ga('set', 'location', location.href.split('#')[0])
    ga('send', 'pageview')

  # 標準のアナリティクスの場合
  if window._gaq?
    _gaq.push(['_trackPageview'])
  • Turbolinksでページを読み込んだとき(とキャッシュから復元されたとき)page:changeイベントが発火するので、ここでPV送信メソッドを実行
  • page:changeは通常の遷移時にも発火してしまうため、page:load page:restoreでTurbolinksでの遷移と履歴復元時にPV送信メソッドを実行する
  • Universal Analyticsではなぜか正しいパスが取得できず元のURLのまま送信されてしまうため、ga('set', 'location')を使ってlocationを指定することで対処した

参考にしたページ

45
47
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
45
47