Nutzertiming

In diesem Leitfaden wird beschrieben, wie Zeiträume mit analytics.js gemessen werden.

Überblick

Studien haben gezeigt, dass durch eine kürzere Seitenladezeit die Nutzererfahrung einer Website insgesamt verbessert wird. Google Analytics bietet eine Reihe aussagekräftiger Berichte, mit denen die Ladezeiten von Seiten automatisch gemessen und in Berichten dargestellt werden. Sie können jedoch auch benutzerdefinierte Zeitinformationen messen, um die Leistung Ihrer Website spezifisch zu messen.

Mithilfe von Nutzertimings können Entwickler Zeiträume mithilfe der analytics.js-Bibliothek messen. Dies ist besonders für Entwickler nützlich, um die Latenz oder die Zeit zu messen, die für die Durchführung von AJAX-Anforderungen und das Laden von Webressourcen aufgewendet wird.

Implementierung

Nutzertiming-Treffer können mit dem Befehl send unter Angabe des hitType timing gesendet werden. Der Befehl send hat die folgende Signatur für den Treffertyp timing:

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

Felder für Nutzertimings

In der folgenden Tabelle sind die Felder für das Nutzertiming zusammengefasst:

Feldname Werttyp Erforderlich Beschreibung
timingCategory Text ja Ein String zum Kategorisieren aller Nutzertiming-Variablen in logische Gruppen (z.B. 'JS Dependencies').
timingVar Text ja Ein String zur Identifizierung der erfassten Variable (z.B. 'load').
timingValue Ganzzahl ja Die Anzahl der Millisekunden während der verstrichenen Zeit für die Berichterstellung an Google Analytics (z.B. 20).
timingLabel Text nein Ein String, mit dem sich das Nutzertiming in den Berichten flexibler visualisieren lässt (z.B. 'Google CDN').

Beispiele:

Mit dem folgenden Befehl wird ein Nutzer-Timing-Treffer an Google Analytics gesendet. Dieser gibt an, dass es 3.549 Millisekunden gedauert hat, bis die aktuelle Webseite alle externen JavaScript-Abhängigkeiten geladen hat:

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

Wie bei allen send-Befehlen können die in den Convenience-Parametern übergebenen Felder auch im fieldsObject angegeben werden. Der obige Befehl könnte so umgeschrieben werden:

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

Zeit messen

Beim Senden von Nutzertimingdaten geben Sie im Parameter timingValue die Anzahl der Millisekunden an, die aufgewendet werden sollen. Es liegt an Ihnen, Code zu schreiben, um diesen Zeitraum zu erfassen.

Am einfachsten ist es, einen Zeitstempel am Anfang eines Zeitraums und einen weiteren Zeitstempel am Ende der Periode zu erstellen. Dann können Sie die Differenz zwischen den beiden Zeitstempeln ermitteln, um die aufgewendete Zeit zu ermitteln.

Die meisten modernen Browser unterstützen die Navigation Timing API, die Methoden für das Objekt window.performance zum Messen der Leistung von Webseiten über hochauflösende Zeitdaten enthält.

Im folgenden Beispiel wird die Methode performance.now() verwendet, die die Zeit zurückgibt, die seit dem ersten Laden der Seite vergangen ist:

// 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);
}

Überlegungen zur Stichprobenerhebung

Google Analytics analysiert während der Verarbeitung zeitliche Treffer, um eine ausgewogene Verteilung der Systemressourcen für diese Funktion zu gewährleisten.

Die Häufigkeit, zu der Treffer erfasst werden, ergibt sich aus der Gesamtzahl der Seitenaufruftreffer, die am Vortag für die Property erfasst wurden. In der folgenden Tabelle wird dargestellt, wie die zeitliche Stichprobenrate bestimmt wird:

Trefferanzahl für Seitenaufruf insgesamt (vorheriger Tag) Maximale Anzahl von Timing-Treffern, die verarbeitet werden
0–1.000 100
1.000–100.000 10% der Trefferzahl für Seitenaufrufe insgesamt
100.000–1.000.000 10.000
Mehr als 1.000.000 1% der Trefferanzahl für Seitenaufruf insgesamt

Begrenzen der Anzahl gesendeter Treffer

Damit keine Google Analytics-Treffer gesendet werden, die nicht verarbeitet werden, können Sie mit analytics.js über die Konfigurationsoptionen sampleRate und siteSpeedSampleRate den Prozentsatz der Treffer steuern. Standardmäßig sind diese Felder auf 100% bzw. 1 % festgelegt. Sie können diese Werte anpassen, um die Anzahl der zeitlichen Treffer, die in Google Analytics basierend auf der durchschnittlichen täglichen Anzahl an Seitenaufrufen verarbeitet werden, genauer zu schätzen.