Czas działań użytkownika

Z tego przewodnika dowiesz się, jak mierzyć okresy za pomocą tagu analytics.js.

Przegląd

Badania wykazały, że skrócenie czasu wczytywania strony poprawia ogólne wrażenia użytkownika. Google Analytics udostępnia wiele zaawansowanych raportów, które automatycznie mierzą czas wczytywania strony i generują raporty. Możesz jednak mierzyć niestandardowe informacje o czasie, by mierzyć skuteczność konkretnej witryny.

Czasy użytkownika pozwalają programistom mierzyć okresy za pomocą biblioteki analytics.js. Jest to szczególnie przydatne dla deweloperów przy mierzeniu czasu oczekiwania, czyli czasu poświęcanego na tworzenie żądań AJAX i wczytywanie zasobów internetowych.

Implementacja

Działania związane z czasem działań użytkownika można wysyłać za pomocą polecenia send, podając hitType o wartości timing. Polecenie send ma taki podpis dla typu działania timing:

ga('send', 'timing', [timingCategory], [timingVar], [timingValue], [timingLabel], [fieldsObject]);

Pola czasu użytkownika

Tabela poniżej zawiera podsumowanie pól czasu użytkownika:

Nazwa pola Typ wartości Wymagane Opis
timingCategory plik tekstowy, tak Ciąg tekstowy służący do kategoryzowania wszystkich zmiennych czasu użytkownika w grupy logiczne (np. 'JS Dependencies').
timingVar plik tekstowy, tak Ciąg znaków identyfikujący zarejestrowaną zmienną (np. 'load').
timingValue Liczba całkowita tak Liczba milisekund, które upływają w czasie raportowania do Google Analytics (np. 20).
timingLabel plik tekstowy, nie Ciąg znaków, którego można używać, aby zwiększyć elastyczność w wizualizowaniu czasu działań użytkownika w raportach (np. 'Google CDN').

Przykłady:

To polecenie wysyła do Google Analytics działanie czasowe użytkownika, wskazujące, że załadowanie wszystkich zewnętrznych zależności JavaScript od bieżącej strony internetowej trwało 3549 milisekund:

ga('send', 'timing', 'JS Dependencies', 'load', 3549);

Pamiętaj, że tak jak w przypadku wszystkich poleceń send, pola przekazywane w parametrach wygody możesz też określać w polu fieldsObject. Powyższe polecenie można napisać ponownie w takiej postaci:

ga('send', {
  hitType: 'timing',
  timingCategory: 'JS Dependencies',
  timingVar: 'load',
  timingValue: 3549
});

Mierzenie czasu

Wysyłając dane o czasie działania użytkownika, za pomocą parametru timingValue określasz czas w milisekundach. Musisz napisać kod, który pozwoli uchwycić ten okres.

Najprostszym sposobem jest utworzenie sygnatury czasowej na początku przedziału czasu i kolejnej na końcu okresu. Następnie możesz porównać różnicę między tymi sygnaturami czasowymi, aby poznać czas.

Większość współczesnych przeglądarek obsługuje interfejs Navigation Timing API, który obejmuje metody wykorzystujące obiekt window.performance do pomiaru wydajności stron internetowych na podstawie danych o czasie w wysokiej rozdzielczości.

W tym przykładzie użyto metody performance.now(), która zwraca czas, który upłynął od rozpoczęcia wczytywania strony:

// Feature detects Navigation Timing API support.
if (window.performance) {
  // Gets the number of milliseconds since page load
  // (and rounds the result since the value must be an integer).
  var timeSincePageLoad = Math.round(performance.now());

  // Sends the timing hit to Google Analytics.
  ga('send', 'timing', 'JS Dependencies', 'load', timeSincePageLoad);
}

Uwagi na temat próbkowania

Google Analytics będzie próbkować trafienia w czasie podczas przetwarzania, aby zapewnić równomierny rozkład zasobów systemowych tej funkcji.

Częstotliwość próbkowania działań w czasie jest określana na podstawie łącznej liczby działań związanych z odsłonami, które miały miejsce poprzedniego dnia w przypadku danej usługi. W tabeli poniżej opisujemy, jak określa się częstotliwość próbkowania czasowego:

Łączna liczba działań odsłon (poprzedni dzień) Maksymalna liczba działań czasowych, które zostaną przetworzone
0–1 tys. 100
1000–100 000 10% łącznej liczby odsłon strony
100 000–1 000 000 10 000
1 000 000+ 1% łącznej liczby odsłon

Ograniczenie liczby wysyłanych działań

Aby uniknąć wysyłania działań Google Analytics, które nie będą przetwarzane, tag analytics.js umożliwia kontrolowanie odsetka działań wysyłanych za pomocą opcji konfiguracji sampleRate i siteSpeedSampleRate. Domyślnie pola te mają wartości odpowiednio 100% i 1%. Możesz dostosować te wartości, aby dokładniej określić liczbę działań, które Google Analytics przetworzy na podstawie średniej dziennej liczby odsłon.