Hallo,
ich habe mich gerade neu angemeldet um hier mal eine Frage loszuwerden.
Und zwar habe ich auf dem Dashboard die Widgets “Besuche nach Seitenanzahl” & “Besuche nach Besuchsdauer” eingerichtet.
Entgegen der Anzeige “Besuche in Echtzeit” zeigen diese beiden Widgets meines Erachtens andere Werte an, nämlich immer die geringsten.
Foto als Beispiel:
Ich vermute, dass bei diesen Anzeigen sämtliche Bots mit 1 Sekunden mitgezählt werden.
Hier mal mein Tracking Code, der eigentlich Bots nicht erfassen sollte, wie ich ihn mir nach einigen Beispielen hier zusammengesetzt habe:
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['disableCookies']); // Ab sofort verteilt Matomo keine Kekse (Cookies) mehr
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
_paq.push(['enableHeartBeatTimer', 5]); // Matomo bekommt Herzrasen: Der "Herzschlag" von Matomo wird auf alle 5 Sekunden erhöht
setTimeout(function() { // ← Timeout 1 second
var u="https://www.example.com/matomo/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d = document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type = 'text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); }, 2000); // ← Timeout 2 seconds
setTimeout(function() { // ← Timeout 2 seconds
_paq.push(['ping']); // ← Ping after 2 seconds
}, 2000); // ← Timeout 2 seconds
window.addEventListener('beforeunload', function(e) {
_paq.push(['ping']);
});
</script>
<!-- Matomo Image Tracker-->
<noscript><img referrerpolicy="no-referrer-when-downgrade" src="https://www.fmb.de/matomo/matomo.php?idsite=1&rec=1&action_name=FMB+GmbH" style="border:0" alt="matomopixel" /></noscript>
<!-- End Matomo -->
<!-- Video Tracking Code -->
<script>
document.addEventListener("DOMContentLoaded", function(event) {
var videos = document.getElementsByTagName("video");
for (var index = 0; index < videos.length; ++index) {
var video = videos[index];
video.addEventListener("playing", function() {
_paq.push(['trackEvent', 'video', 'play', this.currentSrc]);
}, true);
video.addEventListener("pause", function() {
if(this.currentTime < this.duration){
_paq.push(['trackEvent', 'video', 'pause', this.id, this.currentTime]);
}
}, true);
video.addEventListener("ended", function() {
_paq.push(['trackEvent', 'video', 'completed', this.id, this.currentTime]);
}, true);
video.addEventListener("seeking", function() {
_paq.push(['trackEvent', 'video', 'seek', this.id, this.currentTime]);
}, true);
video.addEventListener("error", function() {
_paq.push(['trackEvent', 'video', 'error', this.id]);
}, true);
}
});
</script>
<!-- End Video Tracking Code -->
Kann mir vielleicht jemand die starken Unterschiede erklären?
Oder kann man den Code noch optimieren?
Vielen Dank im Voraus,
VG Wolfgang