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.