registrieren registriertes Mitglied


Anzeige

Anzeige

HowTo: Mit Matomo/Piwik mehr und besser tracken als mit Google Analytics

Schreibt hier alles zum Thema Website- und Conversion Tracking sowie Tipps zu Google Analytics, Matomo, Piwik und anderen statistischen Hilfsmitteln.
supervisior
PostRank 9
PostRank 9
Beiträge: 2092
Registriert: 26.06.2006, 09:11

Beitrag supervisior » 27.06.2020, 12:27 HowTo: Mit Matomo/Piwik mehr und besser tracken als mit Google Analytics

Für alle jene, die bereits Matomo aka Piwik verwenden, aber auch für diejenigen, die Google Analytics verwenden, hier mal ein kleines HowTo, wie man mit Matomo noch besser tracken kann. Nicht nur besser als mit Google Analytics, sondern auch vor dem Hintergrund, dass seit einiger Zeit auch Matomo von Adblockern geblockt wird. Je nach Verbreitungsgrad von Adblockern fehlen also auch bei Matomo immer Zugriffe, was bei GA eher noch ausgeprägt sein dürfte.

Und nur als Randbemerkung für die GA Anhänger, wie man das mit Adblockern und GA lösen kann, gibt es für GA natürlich einen Workaround, aber dieser Workaround ist ein 3-schneidiges Schwert, weil man sich damit mehr Daten einfängt als einem lieb und recht sein kann. Man trackt damit zwar deutlich mehr, aber unweigerlich auch zu viel. Bei Matomo gibt es dafür eine bessere Lösung, die ohne die access_log auskommt. Egal womit, ist das aber ein anderes Thema und diente nur als Anmerkung.

Thema dieses HowTo ist nun also wie man mit Matomo mehr tracken kann, um auch bei Verwendung eines Adblockers die Zugriffe trotzdem erfasst bekommt. Dafür ist eine kleine, aber entscheidende Ergänzung am Trackercode notwendig und sollte deswegen von jedem durchgeführt werden.

Original Tracker Code:
***************************

Code: Alles auswählen

<!-- Matomo -->
<script type="text/javascript">
  var _paq = window._paq || [];
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//www.domain.com/matomo_verzeichnis/";
    _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);
  })();
</script>
<!-- End Matomo Code -->
Modifizierter Tracker Code:
***************************

Code: Alles auswählen

<!-- Matomo -->
<script type="text/javascript">
  var _paq = window._paq || [];
  _paq.push(["setRequestMethod", "POST"]);
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//www.domain.com/matomo_verzeichnis/";
    _paq.push(["setTrackerUrl", u + "mtbp"]);
    _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+'mtbj';
    s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Matomo Code -->
Der modifizierte Tracker Code enthält 2 Änderungen:

Code: Alles auswählen

  _paq.push(["setRequestMethod", "POST"]);
Die Änderung der Request Methode kommt von den Matomo Entwicklern selbst und habe ich deswegen einfach nur übernommen. Diese Änderung würde eigentlich schon genügen, um die Adblocker auszutricksen, aber nachdem ich das nicht mit allen Adblockern testen konnte, gibts dafür die nachfolgende Ergänzung.

und

Code: Alles auswählen

    _paq.push(["setTrackerUrl", u + "mtbp"]);

Code: Alles auswählen

    g.src=u+'mtbj';
Wie man unschwer erkennen kann, wurde anstelle der Matomo Datei Namen jeweils ein Alias eingefügt. Der Alias verhindert, dass dadurch größtenteils die $_GET Parameter verborgen werden. Diese wiederum dienen manchen Adblockern dazu zu erkennen, ob auf der Seite ein Tracking Script läuft. Damit das dann auch funktioniert, braucht es eine Rewrite Rule in der .htaccess in der auch Matomo liegt. Die Alias Namen können frei gewählt werden. Es ist jedoch darauf zu achten, dass die Namen unterschiedlich sein müssen.

Code: Alles auswählen

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^mtbj matomo.js
RewriteRule ^mtbp matomo.php
</IfModule>
Ergänzend zum obigen falls man in Matomo auch <noscript> Aufrufe erfassen will. Dazu muss aber klar sein, dass damit keine Bots erfasst werden oder solche Aufrufe bei denen der Code nicht gerendert wird, was oftmals missverstanden wird.

Original Tracker Code für <noscript>
************************************

Code: Alles auswählen

<noscript><p><img src="https://www.domain.de/matomo_verzeichnis/matomo.php?idsite=1&amp;rec=1" style="border:0;" alt="" /></p></noscript>
Modifizierter Tracker Code für <noscript>:
***************************

Code: Alles auswählen

<noscript><img src="https://www..domain.de/matomo_verzeichnis/mztb" style="border:0;" alt="" /></noscript>
Auch dafür braucht es eine zusätzliche Rewrite Rule in der .htaccess in der auch Matomo abgespeichert ist.

Code: Alles auswählen

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^mztb matomo.php?idsite=1&amp;rec=1
</IfModule>

###############################################

So, hier noch ein kleines Extra für Matomo Nutzer, die bei der Verwendung von Anzeigen zur Monetarisierung einmal wissen wollen wie sehr sich Adblocker auf die Anzeige von Anzeigen auswirkt. Voraussetzung dafür ist einmal mehr Matomo und jQuery. Dieses Extra setzt die obigen Änderungen voraus, weil wenn Matomo geblockt wird, kann auch nichts aufgezeichnet werden.

Step 1:
***********

Code: Alles auswählen

var e=document.createElement('div');
e.id='vVqYfFXPnoEx';
e.style.display='none';
document.body.appendChild(e);
Den obigen Code in einer .js Datei abspeichern und nach Möglichkeit im domain_root ablegen. Wichtig ist dabei der Datei Name.

Code: Alles auswählen

dfp.js
Dieser Dateiname ist wichtig, weil so gut wie jeder Adblocker darauf anspringt und den Aufruf deswegen blockt. Der Code an sich ist harmlos und versucht nur am Ende der Seite einen DIV Container zu generieren, aber auch display:none gesetzt wird, sodass dieser Container keinen Einfluss auf die Anzeige hat.

Ergebnis dieses Code Schnipsels würde dann so aussehen.

Code: Alles auswählen

<div id="vVqYfFXPnoEx" style="display:none"></div>
Step 2:
***********
Die dfp.js muss nun eingebunden werden. Diese muss im <head></head> passieren und muss zwingend vor dem jQuery Aufruf mit dem Code des Steps 3 eingebunden werden.

Code: Alles auswählen

<?php
$dblck = 'adblock';
if (!isset($_COOKIE[$dblck])) {
	echo '<script defer src="https://www.domain.de/dfp.js"></script>';
}
?>
Step 3:
***********
Der letzte Schritt besteht darin einen Event zu tracken, wobei der Event dadurch erzeugt wird, das festgestellt wird, ob der besagte DIV Container vorhanden ist oder eben nicht. Abhängig davon werden unterschiedliche Werte generiert, die sich dann mit Matomo aufzeichnen lassen. (Matomo -> Verhalten -> Ereignisse) Das Tracking Event wird nur immer einmal je Besucher und Aufruf aufgezeichnet bis die Lebenszeit des Cookie abgelaufen ist, was im konkreten Fall die Sitzungszeit ist.

Code: Alles auswählen

$(document).ready(function() {
    if (document.cookie.indexOf("adblock") == -1) {
        if (document.getElementById('vVqYfFXPnoEx')) {
            _paq.push(["trackEvent", "Adblocker", "active", "false"]);
        } else {
            _paq.push(["trackEvent", "Adblocker", "active", "true"]);
        }
        document.cookie = "adblock=1;path=/;secure"; 
    }    
});
##############################################

Die obige Anleitung funktioniert und hab ich schon seit längerem Einsatz. Wenn es jemand umsetzen will und es nicht funktioniert, habt ihr irgendwo einen Fehler drin. Testen konnte ich es nur mit dem ublock origin Adblocker, sollte aber auch mit allen anderen Adblockern funktionieren. Funktonieren tut es nicht, wenn im Browser der Privacy Modus genutzt wird.

##############################################

[UPDATE]

Hier noch eine kleine Ergänzung, die unabhängig des obigen in den Tracker Code integriert werden kann. Dabei handelt es sich um den sog. Heartbeat Timer. Eine optionale Funktion, welche die Verweilzeit auf jeder einzelnen aufgerufenen Seite misst. Ohne diesen Timer bekommt man nur die gesamte Zeit einer Sitzung. Voraussetzung für diese Funktion ist das Heartbeat Timer Plugin, das man über System -> Plugins nachinstallieren muss.

Der Heartbeat Timer löst dabei auch noch das 0 Sekunden Problem, wenn ein Besucher nur 1 Seite aufruft.

Zusätzlich muss der Tracker Code noch wie folgt ergänzt werden:

Code: Alles auswählen

_paq.push(["enableHeartBeatTimer", 5]);
Der Zahlenwert hat im Gegensatz zu früheren Matomo Versionen keine Relevanz mehr. Aus Gründen einer geringeren Serverlast ist man dazu übergegangen einen sog. PING nur dann an den Server zu senden, wenn eine aufgerufene Seite entweder verlassen oder die Seite gewechselt wurde. In früheren Versionen diente dieser Wert für einen Intervall Ping, der jedoch zu Lasten einer höheren Last ging und Shared Hostings damit Probleme bekamen.

[UPDATE]

Version 2

Hier kommt eine 2te Version, die vielleicht sogar besser ist als die erste. Nicht jeder der Werbung blockt oder überhaupt seine Privatsphäre schützt, nutzt dazu einen Adblocker. Noch ein Stück weit wirkungsvoller ist der Private Modus, aber wenn dieser Modus genutzt wird, wirkt die erste Funktion nicht. Von daher weist die 1ste Version Lücken auf. Deswegen eine 2te Version, allerdings nur dann nutzbar, wenn man Adsense verwendet. Wer kein Adsense verwendet, aber dafür Google Analytics, muss die URL für

Code: Alles auswählen

var a = $('script[src*="google_analytics_script_url_hier eintragen"]').length;
ändern.

Code: Alles auswählen

$(document).ready(function() {
    if (document.cookie.indexOf("adblock") == -1) {
            setTimeout(function() {
                var a = $('script[src*="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"]').length;
                if (a === 0) {
                    _paq.push(["trackEvent", "Adblocker", "Active", "true"]);
                    console.log("not loaded!"); 
                }else{
                    _paq.push(["trackEvent", "Adblocker", "Active", "false"]);
                    console.log("loaded!"); 
                }
            }, 2000);
        document.cookie = "adblock=1;path=/;secure"; 
    }    
});
Zuletzt geändert von supervisior am 03.07.2020, 20:38, insgesamt 1-mal geändert.

Anzeige von:

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


supervisior
PostRank 9
PostRank 9
Beiträge: 2092
Registriert: 26.06.2006, 09:11

Beitrag supervisior » 30.06.2020, 13:20 HowTo: Mit Matomo/Piwik mehr und besser tracken als mit Google Analytics

Nur für den Fall, dass der Leser die Tragweite dieser Änderung nicht fassen erfassen sollte. Durch das Erfassen von Aufrufen, die ohne dieses HowTo, quasi im Verborgenen bleiben, ergibt sich nicht nur eine Erhöhung der Zugriffszahlen von roundabout PLUS 30% (bei mir Projekt übergreifend gemessen), sondern hat auch Auswirkungen auf die Sitzungszeit und die Absprungrate. Das kommt schlichtweg durch das Prinzip zustande, wie eine Statistik funktioniert.

Leif Eriksson
Administrator
Administrator
Beiträge: 42
Registriert: 01.09.2017, 09:12

Beitrag Leif Eriksson » 30.06.2020, 15:27 HowTo: Mit Matomo/Piwik mehr und besser tracken als mit Google Analytics

Vielen Dank fürs Teilen!

supervisior
PostRank 9
PostRank 9
Beiträge: 2092
Registriert: 26.06.2006, 09:11

Beitrag supervisior » 30.06.2020, 16:54 HowTo: Mit Matomo/Piwik mehr und besser tracken als mit Google Analytics

Leif Eriksson hat geschrieben:
30.06.2020, 15:27
Vielen Dank fürs Teilen!
Auch wenn's böse klingen mag, aber leichter kann man einem Kunden nicht garantieren seine Zugriffszahlen um 30% zu steigern..... ;)

Benutzeravatar
arnego2
PostRank 9
PostRank 9
Beiträge: 1994
Registriert: 23.02.2016, 13:55
Kontaktdaten:

Beitrag arnego2 » 30.06.2020, 19:28 HowTo: Mit Matomo/Piwik mehr und besser tracken als mit Google Analytics

supervisior hat geschrieben:
30.06.2020, 13:20
ergibt sich nicht nur eine Erhöhung der Zugriffszahlen von roundabout PLUS 30% (bei mir Projekt übergreifend gemessen),
Zugriffszahlen oder eher die Absprungrate verringern?
Arnego2 <Webseiten Umbau ab 80 Euro>

supervisior
PostRank 9
PostRank 9
Beiträge: 2092
Registriert: 26.06.2006, 09:11

Beitrag supervisior » 30.06.2020, 19:38 HowTo: Mit Matomo/Piwik mehr und besser tracken als mit Google Analytics

arnego2 hat geschrieben:
30.06.2020, 19:28
supervisior hat geschrieben:
30.06.2020, 13:20
ergibt sich nicht nur eine Erhöhung der Zugriffszahlen von roundabout PLUS 30% (bei mir Projekt übergreifend gemessen),
Zugriffszahlen oder eher die Absprungrate verringern?

Zugriffszahlen erhöhen und Absprungrate verringern. Nur für den Fall, dass das womöglich in seiner Gänze nicht klar geworden ist. Faktisch ändert sich an der Menge der Zugriffe nichts. Dass sich diese Zahlen aber trotzdem ändern, liegt schlichtweg daran, dass wenn durch einen Adblocker keine Erfassung möglich ist, dann fehlen diese Zugriffe einfach, sind aber trotzdem vorhanden, bzw. werden durch die obige Lösung nur sichtbar gemacht. Ergo ändert sich dadurch die ganze Berechnung der Statistiken.

Letztendlich wird dadurch nur sichtbar, was vorher fehlte, klar?

supervisior
PostRank 9
PostRank 9
Beiträge: 2092
Registriert: 26.06.2006, 09:11

Beitrag supervisior » 03.07.2020, 20:38 HowTo: Mit Matomo/Piwik mehr und besser tracken als mit Google Analytics

Es gibt jetzt eine 2te Version

supervisior
PostRank 9
PostRank 9
Beiträge: 2092
Registriert: 26.06.2006, 09:11

Beitrag supervisior » 11.07.2020, 16:09 HowTo: Mit Matomo/Piwik mehr und besser tracken als mit Google Analytics

SuchMaschine1 hat geschrieben:
11.07.2020, 15:32
Vielen Dank für den Tipp.
Da is aber noch Luft nach oben, will heißen, dieses HowTo ist fokussiert auf Adblocker. Es gibt noch andere Wege als Adblocker, um das Tracken zu blocken. Unabhängig davon mal über die Zeit auch alle anderen Werte beobachten, die sich dann auch und teilweise noch viel intentsiver auswirken.

Micha_Es
PostRank 5
PostRank 5
Beiträge: 270
Registriert: 23.03.2008, 20:29

Beitrag Micha_Es » 20.07.2020, 10:31 HowTo: Mit Matomo/Piwik mehr und besser tracken als mit Google Analytics

Auch ich möchte mich bedanken!

supervisior
PostRank 9
PostRank 9
Beiträge: 2092
Registriert: 26.06.2006, 09:11

Beitrag supervisior » 20.07.2020, 11:15 HowTo: Mit Matomo/Piwik mehr und besser tracken als mit Google Analytics

Micha_Es hat geschrieben:
20.07.2020, 10:31
Auch ich möchte mich bedanken!
Wenn möglich, gib mal Rückmeldung, wie sich das bei Dir auswirkt. Bei mir kommts mir vor grad vor als würde ich eine fast komplett andere Seite tracken.

Micha_Es
PostRank 5
PostRank 5
Beiträge: 270
Registriert: 23.03.2008, 20:29

Beitrag Micha_Es » 20.07.2020, 14:44 HowTo: Mit Matomo/Piwik mehr und besser tracken als mit Google Analytics

Gerne,
nur geht das bei mir im Moment nicht so einfach, da ich mit Matomo aktuell eine AMP-Version Tracke und da verhält es sich noch anders...
Ich melde mich aber, wenn ich Matomo auch auf der normalen Version einsetze

supervisior
PostRank 9
PostRank 9
Beiträge: 2092
Registriert: 26.06.2006, 09:11

Beitrag supervisior » 20.07.2020, 15:18 HowTo: Mit Matomo/Piwik mehr und besser tracken als mit Google Analytics

Kenne mich mit dem AMP Zeugs zwar nicht aus, aber lassen sich AMP Seiten überhaupt aufrufen wenn Adblocker|Privacy Protection usw. genutzt werden? Google lauscht doch überall mit!

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag