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.