2014-03-28 123 views
2

我有'google-analytics-rails'gem,它很棒,但我也想跟蹤pdf的下載。我發現這個描述使用一個點擊通話這個link,但我不知道如何最好的整合rails的link_to方法。分析和跟蹤下載

<%= link_to 'Link Name', url_path(@url) %> 

回答

1

當我這樣做,爲客戶定製的實現,我採取同樣的做法@安德烈的回答,但我讓更廣泛的,以針對所有相關鏈接。

實際的代碼看起來像什麼取決於你的下載鏈接的實際樣子,以及你想要在報告中看到什麼,但這裏是一個針對某些下載鏈接和報告文件位置的示例(href屬性)

$(document).ready(function() { 
    $('body').on('click','a',function(event) { 
    /* download tracking */ 
     // add whatever download file extensions are relevant to you 
     var exts = ['pdf','doc','xls','xlsx']; 
     var p = new RegExp('\\.('+exts.join('|')+')$','i'); 
     var href = String(event.target.href)||''; 
     if (href.match(p)) { 
     _gaq.push(['_trackEvent', 'Link Clicks', 'Download', href]) 
     }  
    }); 
}); 

偉大的事情是,因爲這段代碼的目標是所有的鏈接,你可以擴展它以跟蹤其他類型的鏈接。您可能要跟蹤其他一些鏈接類型是點擊次數:

  • 導致一些其他的域(退出鏈接跟蹤)
  • 導致你擁有的另一網站(跨網域跟蹤)
  • 導致社交媒體網站(如Facebook,微博)
  • 調用社交媒體的動作(例如Facebook的喜歡/股)
  • 鏈接到您網站上的促銷活動(內部運動跟蹤)
  • 鏈接,調用特定的部件或​​相互作用對貴駟te(訂婚追蹤)
1

好,沒有測試過這一點,但它應該指向你在正確的方向......在軌使用非侵入式JavaScript(不像在鏈接中使用的內嵌JavaScript)。所以你把你的js文件(可以說my_ga.js)添加到app\assets\javascripts目錄中。 application.js文件將導致它自動包含在內。在my_ga.js文件中,您可以使用jquery來定位鏈接。喜歡的東西: 您的鏈接: <%= link_to 'Link Name', url_path(@url), id: 'pdf1' %> 你my_ga.js文件:

$(document).ready(function() { $('#pdf1').click(function() { ga('send', 'event', 'download', 'click', ‘Descriptive text here'); }); });