2014-09-25 98 views
0

我想在我的項目中加入Google Analytics以知道有多少人訪問我網站的頁面,因爲您只需複製代碼並粘貼到網站中,您想要分析的每一頁。谷歌分析一個頁面中的訪問者數量ajax

我的問題是這樣的,在我的網站中我使用的是ajax,我唯一的頁面是索引頁面,其餘的索引頁面被加載爲div。即使我使用ajax,它是否會被計數,我的意思是當他們訪問某個頁面時訪問的次數會被計算在內?

回答

-2

每次當您使用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。

1

是的,它可以計算一個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

希望它能幫助你。

0

我們有關於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

2

對於谷歌分析的較新版本轉換它,請使用以下代碼阿賈克斯跟蹤。將此代碼粘貼到新文件中,並將該文件保存到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