Staram się używać czasów użytkownika GA do śledzenia czasu trwania wydarzeń ajaxowych na naszej stronie. Mam scentralizowaną funkcję ajaxCall, która hermetyzuje metodę wywołania ajax jQuery. To wydawało się idealnym miejscem do ustawienia czasu połączeń, ponieważ prawie wszystkie nasze wywołania ajaxowe przechodzą przez tę metodę.Próba wykorzystania czasu Google Analytics i brak zapisywania wyników
Problem, który mam, polega na tym, że GA nie wydaje się rejestrować trafień w czasie.
Oto kod używam dla mojej metody 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);
}
Oto kod dla metody getTimestampMilliseconds:
function getTimestampMilliseconds()
{
if (window.performance)
{
return window.performance.now();
}
else
{
return new Date().getTime();
}
}
Próbowałem alternatywną składnię dla wysyłania przy użyciu obiekt javascript dla następujących opcji:
window.ga('send', {
hitType : 'timing',
timingCategory : 'AjaxCall',
timingVar : a.pathname,
timingValue : duration});
i
window.ga('send', {
'hitType' : 'timing',
'timingCategory' : 'AjaxCall',
'timingVar' : a.pathname,
'timingValue' : duration});
Sprawdziłem, że sygnał nawigacyjny jest wysyłany do GA za pomocą dodatku Google Chrome Debugger i narzędzia Fiddler. Fiddler pokazuje, że żądanie do GA zwraca mały obraz i wynik 200 OK.
Czekałem pełne 24 godziny na pojawienie się wyników i nic.
Uwierzyłem, że odsłony i zdarzenia śledzą dobrze, po prostu nie są to wnioski dotyczące czasu.
Każda pomoc zostanie bardzo doceniona.
Nie widzę żadnych problemów z Twoim wydarzeniem. Czy przypadkiem odfiltrowujesz swoje IP z profilu? – Blexy
Nie wierzę w to. Inne żądania działają dobrze, w tym odsłony strony i rzeczywiste zdarzenia trackera, a nie tylko zdarzenia związane z synchronizacją. – BardMorgan