我想在我的項目中加入Google Analytics以知道有多少人訪問我網站的頁面,因爲您只需複製代碼並粘貼到網站中,您想要分析的每一頁。谷歌分析一個頁面中的訪問者數量ajax
我的問題是這樣的,在我的網站中我使用的是ajax,我唯一的頁面是索引頁面,其餘的索引頁面被加載爲div。即使我使用ajax,它是否會被計數,我的意思是當他們訪問某個頁面時訪問的次數會被計算在內?
我想在我的項目中加入Google Analytics以知道有多少人訪問我網站的頁面,因爲您只需複製代碼並粘貼到網站中,您想要分析的每一頁。谷歌分析一個頁面中的訪問者數量ajax
我的問題是這樣的,在我的網站中我使用的是ajax,我唯一的頁面是索引頁面,其餘的索引頁面被加載爲div。即使我使用ajax,它是否會被計數,我的意思是當他們訪問某個頁面時訪問的次數會被計算在內?
每次當您使用ajax加載頁面時,您都可以告訴GA將其計爲單獨的URL。應該在頁面AJAX更新結束時運行的代碼的示例:
_gaq.push(['_trackPageview', '/some-page']);
https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide + https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiBasicConfiguration#_gat.GA_Tracker_._trackPageview
_trackPageview(opt_pageURL)
爲GATC(谷歌分析跟蹤主邏輯碼)。如果啓用了鏈接器功能,則會嘗試從URL中提取Cookie值,即 。否則,它會嘗試從document.cookie中提取 cookie值。它還根據需要更新或創建Cookie ,然後將它們寫回文檔對象。收集 要發送給UCFE的所有適當指標(Urchin收集器 前端)。
字符串opt_pageURL
可選參數,指出哪些 頁面網址追蹤下指標。使用此選項時,請使用 開始斜槓(/)指示頁面URL。
是的,它可以計算一個Ajax調用。
JQuery的阿賈克斯例子:
該代碼會自動登錄你的應用程序中所有的jQuery AJAX請求,包括使用$.ajax()
,$.get()
,或$.post()
(和太)的。
這也將使用AJAX請求(例如 收藏插件等),以及爲所有的Rails 3個遠程鏈接和 形式(只要我們使用jQuery UJS驅動程序)的任何jQuery插件工作。
在頁面佈局或包含的js文件,添加下面的JavaScript:
更新,以確保_gaq定義和頁面加載。
(function ($) {
// Log all jQuery AJAX requests to Google Analytics
$(document).ajaxSend(function(event, xhr, settings){
if (typeof _gaq !== "undefined" && _gaq !== null) {
_gaq.push(['_trackPageview', settings.url]);
}
});
})(jQuery);
如果你在Rails 3應用程序中使用這個,你可以把這個在您的的application.js。
注意: -這裏假設您使用的是異步版Google Analytics(分析)。如果您使用的是較舊的同步 Analytics(分析)代碼段,你只需要與舊以pageTracker語法替換_gaq:
(function ($) {
// Log all jQuery AJAX requests to Google Analytics
$(document).ajaxSend(function(event, xhr, settings){
if (typeof pageTracker !== "undefined" && pageTracker !== null) {
pageTracker._trackPageview(settings.url);
}
});
})(jQuery);
另外,請注意你並不需要把裏面的JavaScript $(document).ready()事件。這是因爲你只是將一個函數綁定到回調函數,稍後在回調被觸發時運行;你實際上並沒有在DOM上執行任何代碼。
工作原理: jQuery在執行AJAX請求時觸發幾個本地和全局AJAX回調。本地回調觸發觸發AJAX請求的特定元素(即鏈接或表單),而全局回調則廣播給DOM中的所有元素,包括根節點,文檔。
所以,你只是將一個函數綁定到ajaxSend回調函數的根節點上。該功能然後使用Google Analytics功能手動記錄AJAX URL的頁面請求。
在相關說明中,如果您希望隱藏某個特定的AJAX請求,而不是將其全局AJAX回調廣播到其他DOM元素,則可以將global設置爲false。這也會導致我們的Analytics(分析)跟蹤跳過此請求。
$.ajax({
url: '/like-a-ninja',
global: false
});
(source)
我強烈建議閱讀以下爲好。
下面一個有非常詳細的解答和工作代碼示例。 How to extend google analytics to track AJAX etc (as per H5BP docs)
跟蹤AJAX鏈接點擊使用谷歌Analytics(分析)大衛·沃爾什:http://davidwalsh.name/ajax-analytics
HTML5樣板:在谷歌Analytics(分析) https://github.com/h5bp/html5-boilerplate/blob/v4.3.0/doc/extend.md
的一篇文章軌道jQuery的AJAX請求由@JangoSteve解釋how to track jQuery AJAX requests in Google Analytics。
希望它能幫助你。
我們有關於Ruby on Rails 4.1的網站,並使用turbolinks,它允許瀏覽網站而無需重新加載每個頁面。因此,我們遇到了GA問題。
所以我們在安裝事件偵聽器
document.addEventListener("page:change", (function() {
return GoogleAnalytics.trackPageview();
}
GoogleAnalytics.trackPageview = function(url) {
if (url) {
window._gaq.push(["_trackPageview", url]);
} else {
window._gaq.push(["_trackPageview"]);
}
return window._gaq.push(["_trackPageLoadTime"]);
};
原創教程是在這裏Google Analytics with Turbolinks而且其在CoffeeScript中公佈,但你可以使用Js2Coffee page
對於谷歌分析的較新版本轉換它,請使用以下代碼阿賈克斯跟蹤。將此代碼粘貼到新文件中,並將該文件保存到app/assets/javascritps/analytics.js中。還包括它進入的application.js
(function ($) {
$(document).ajaxSend(function(event, xhr, settings){
if (typeof ga !== "undefined" && ga !== null) {
ga('send', {
'hitType': 'pageview',
'page': settings.url
});
}
});
})(jQuery);
爲附加代碼動態進入Ajax調用
$.ajax({
type : 'get',
url : url,
data : {"curr_code": currency}
}).done(function(){
ga('send', {‘hitType': 'pageview', 'page': url });
});
欲瞭解更多詳細信息,請參考此鏈接http://tarungarg402.blogspot.in/2015/01/google-analyicts-wth-rails.html