Pomiar czasu działania użytkownika za pomocą tagu gtag.js

Skrócenie czasu wczytywania strony może poprawić ogólne wrażenia użytkowników witryny. Na tej stronie opisujemy, jak wysyłać do Google Analytics informacje o czasie działań użytkowników.

Implementacja

Aby wysłać zdarzenie timing_complete, użyj polecenia event:

gtag('event', 'timing_complete', {<timing_parameters>});

gdzie <parametry_czasu> to co najmniej jedna para parametr-wartość. Rozdziel każdą parę przecinkiem. Na przykład to polecenie wysyła do Google Analytics zdarzenie czasu użytkownika, wskazujące, że wczytanie wszystkich zewnętrznych zależności JavaScript od bieżącej strony internetowej trwało 3549 milisekund.

gtag('event', 'timing_complete', {
  'name' : 'load',
  'value' : 3549,
  'event_category' : 'JS Dependencies'
});

Parametry czasu działań użytkownika

Ta tabela zawiera podsumowanie parametrów czasu działań użytkownika:

Nazwa parametru Typ danych Wymagane Opis
name string Yes Ciąg znaków identyfikujący zarejestrowaną zmienną (np. 'load').
value integer Yes Liczba milisekund, które upływają w czasie raportowania do Google Analytics (np. 20).
event_category string No Ciąg znaków do kategoryzowania wszystkich zmiennych czasu użytkownika w grupy logiczne (np. 'JS Dependencies').
event_label string Nie Ciąg znaków, którego można używać, aby zwiększyć elastyczność w wizualizacji czasu działań użytkownika w raportach (np. 'Google CDN').

Mierzenie czasu

Zdarzenie timing_complete wymaga parametru value, który określa czas między zdarzeniami wyrażony w milisekundach. Musisz napisać kod, który przechwytuje tę wartość.

Najprostszym sposobem jest utworzenie sygnatury czasowej na początku przedziału czasu i kolejnej na końcu okresu. Następnie oblicz czas, jaki upłynął między sygnaturami czasowymi.

Większość współczesnych przeglądarek obsługuje interfejs Nawigacja Timing API, który obejmuje metody wykorzystujące obiekt window.performance do pomiaru skutecznoś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 ładowania 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 event to Google Analytics.
  gtag('event', 'timing_complete', {
    'name': 'load',
    'value': timeSincePageLoad,
    'event_category': 'JS Dependencies'
  });
}

Uwagi na temat próbkowania

Google Analytics będzie próbkować zdarzenia czasowe, aby zapewnić równomierny rozkład zasobów systemowych na potrzeby tej funkcji.

Częstotliwość próbkowania zdarzeń związanych z czasem jest określana na podstawie łącznej liczby odsłon strony w danej usłudze poprzedniego dnia. W tabeli poniżej pokazujemy, jak określa się częstotliwość próbkowania czasowego:

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