尝试使用Google Analytics用户计时并且未记录任何结果

Bar*_*gan 7 google-analytics timing

我正在尝试使用GA用户计时来跟踪我们网站中ajax事件的持续时间.我有一个集中的ajaxCall函数,它封装了jQuery ajax调用方法.这似乎是一个理想的调用时间,因为几乎所有的ajax调用都通过这种方法.

我遇到的问题是GA似乎没有记录定时命中.

这是我用于我的ajaxCall方法的代码:

function ajaxCall(url, data, fnSuccess, dataType, fnFailure)
{
    if (!fnFailure)
    {
        fnFailure = function(jqXhr)
        {
            var lastDitchHtml = window.getCriticalErrorDialog("An error occurred during the ajax call.");
            window.showCeebox(lastDitchHtml, 120, 350);
        };
    }

    var a = $('<a>', { href : url })[0];

    var startTime = getTimestampMilliseconds();

    $.ajax({
        cache : false,
        async : false,
        url : url,
        type : 'POST',
        dataType : dataType,
        data : data,
        success : fnSuccess,
        error : fnFailure
    });

    var endTime = getTimestampMilliseconds();
    var duration = endTime - startTime;

    window.ga('send', 'timing', 'AjaxCall', a.pathname, duration);
}
Run Code Online (Sandbox Code Playgroud)

以下是getTimestampMilliseconds方法的代码:

function getTimestampMilliseconds()
{
    if (window.performance)
    {
        return window.performance.now();
    }
    else
    {
        return new Date().getTime();
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经使用javascript对象为选项尝试了发送的替代语法,如下所示:

window.ga('send', {
hitType : 'timing',
timingCategory : 'AjaxCall',
timingVar : a.pathname,
timingValue : duration});
Run Code Online (Sandbox Code Playgroud)

window.ga('send', {
'hitType' : 'timing',
'timingCategory' : 'AjaxCall',
'timingVar' : a.pathname,
'timingValue' : duration});
Run Code Online (Sandbox Code Playgroud)

我已经确认信标是通过Chrome Google Analytics调试器插件和Fiddler发送给GA的.Fiddler显示对GA的请求返回一个小图像和200 OK结果.

我已经等了整整24小时才能显示结果而没有任何结果.

我已经确认网页浏览量和事件跟踪得很好,只是没有计时请求.

任何帮助将不胜感激.

Bar*_*gan 7

我的一位同事进一步调查了答案.

我写的getTimeStampMilliseconds函数返回一个带小数部分的值(例如,450.98761),这显然是Google API不喜欢的.使这一点复杂化的事实是谷歌根本没有返回任何类型的错误代码,导致我们认为一切都还可以.

更改代码只在定时调用中传递整数毫秒修复了问题.