Nutzertiming

In diesem Leitfaden wird beschrieben, wie Sie Zeiträume mit analytics.js messen.

Überblick

Studien haben gezeigt, dass sich eine kürzere Seitenladezeit positiv auf die Nutzererfahrung auswirkt. In Google Analytics gibt es eine Reihe aussagekräftiger Berichte, in denen die Seitenladezeit automatisch erfasst und in Berichten dargestellt wird. Sie können jedoch auch benutzerdefinierte Zeitinformationen verwenden, um die Leistung Ihrer Website zu messen.

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

Implementierung

Treffer für Nutzertimings können mit dem Befehl send unter 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 aufgezeichneten 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 Nutzertimings in Berichten flexibler dargestellt werden können (z.B. 'Google CDN').

Beispiele:

Mit dem folgenden Befehl wird ein Nutzertiming-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 in fieldsObject angegeben werden. Der obige Befehl könnte wie folgt 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 geht dies, indem du einen Zeitstempel am Anfang eines Zeitraums und einen weiteren Zeitstempel am Ende des Zeitraums erstellst. Dann können Sie die Differenz zwischen den beiden Zeitstempeln ermitteln, um die verbrachte Zeit zu ermitteln.

Die meisten modernen Browser unterstützen die Navigation Timing API, die Methoden für das Objekt window.performance zur Messung der Leistung von Webseiten anhand von Zeitdaten in hoher Auflösung umfasst.

Im folgenden Beispiel wird die Methode performance.now() verwendet, die die Zeit zurückgibt, die seit dem ersten Laden der Seite verstrichen 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

In Google Analytics werden während der Verarbeitung zeitliche Treffer erfasst, um eine gleichmäßige Verteilung der Systemressourcen für diese Funktion zu gewährleisten.

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

Gesamtzahl der Treffer für Seitenaufrufe (vorheriger Tag) Maximale Anzahl von Zeittreffer, die verarbeitet werden
0–1.000 100
1.000–100.000 10% der gesamten Trefferzahl für Seitenaufrufe
100.000–1.000.000 10.000
Mehr als 1.000.000 1% der gesamten Trefferzahl für Seitenaufrufe

Begrenzung 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 % gesetzt. 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 anzunähern.