Sprache auswählen

Im Gegensatz zu Universal Analytics bietet die aktuelle Beta Version des Analytics App+Web Trackings bisher kein automatisches Tracking der Website Timings. Um die entsprechenden Daten dennoch auch mit App+Web Properties auswerten zu können, bietet dieser Artikel eine einfache Anleitung unter Einsatz von GTM für die Implementierung.

Um die Website-Timing Werte zu erfassen, nutzen wir einen selbst definierten Tracking-Event namens website_timing sowie dazugehörige Event Parameter für timing_name (Text) und timing_value (Zahl / Sekunden).

Die Browser Website Timing Werte selbst erhält man über die entsprechende JavaScript API. Diese stellt über die Variable window.performance.timing den Zeitpunkt des jeweiligen Browser-Ladevorgangs zur Verfügung. Um die jeweils benötigte Zeitspanne in Millisekunden zu berechnen, muss man dazu nur den requestStart Wert vom gewünschten Wert abziehen.

 

Somit erhält man beispielsweise die benötigte Zeit für das Laden der gesamten Seite mit folgnedem Code:

var timing = window.performance.timing;
var pageLoadedTime = (timing.loadEventEnd - timing.navigationStart)/1000000.0;

 

Um die vorhanden Website Timing Werte zu erfassen, wird folgender Custom HTML Tag verwendet, der beim Window Loaded Event ausgelöst werden muss:

<script>

var timing = window.performance.timing;

var domainLookupTime = (timing.domainLookupEnd - timing.domainLookupStart)/1000000.0;
var connectionTime = (timing.connectEnd - timing.connectStart)/1000000.0;
var serverResponseTime = (timing.responseStart - timing.requestStart)/1000000.0;
var pageLoadedTime = (timing.loadEventEnd - timing.navigationStart)/1000000.0;
var domCompleteTime = (timing.domComplete - timing.navigationStart)/1000000.0;
var domInteractiveTime = (timing.domInteractive - timing.navigationStart)/1000000.0;

dataLayer.push({'event':'websiteTiming','timingName':'domain_lookup','timingValue':domainLookupTime});
dataLayer.push({'event':'websiteTiming','timingName':'connection', 'timingValue':connectionTime});
dataLayer.push({'event':'websiteTiming', 'timingName':'server_response', 'timingValue':serverResponseTime});
dataLayer.push({'event':'websiteTiming', 'timingName':'dom_interactive', 'timingValue':domInteractiveTime});
dataLayer.push({'event':'websiteTiming', 'timingName':'dom_complete', 'timingValue':domCompleteTime});
dataLayer.push({'event':'websiteTiming', 'timingName':'page_loaded', 'timingValue':pageLoadedTime});

</script>

 

Anschließend muss man in GTM einen entsprechenden Tag vom Typ "Google Analytics: App + Web Event" anlegen, der beim GTM websiteTiming Event auslöst und der den Tracking Event bzw. die Parameter übergibt (bzw. zuvor noch den Trigger sowie die beiden benötigten DataLayer Variablen):

 

app+web timing tracking screenshot 1 

Abschließend richtet man in der App+Web Property noch die Parameter für den Event ein, damit diese erfasst werden und im Reporting Interface zur Verfügung stehen:

 

a w timing tracking screenshot 2 

Ein Beispiel-Reporting im App+Web Reporting Interface würde dann folgendermaßen aussehen (leider gibt es aktuell noch keine Calculated Metrics, insofern muss man aktuell noch die Timing-Werte durch die Anzahl der Events teilen, um die durchschnittlichen Zeiten zu erhalten):

 

a w timing tracking screenshot 3