Piwik/Matomo Tracking-Code in TYPO3 einbinden
Matomo — bis 2018 Piwik — liefert einen Zählcode, der auf jeder Seite stehen muss. In TYPO3 ist page.footerData der passende Ort: Das Skript landet am Ende des <body> und hält den Seitenaufbau nicht auf.
page.footerData.1730 = TEXT
page.footerData.1730.value (
<script>
var _paq = window._paq = window._paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u = "https://matomo.beispiel.de/";
_paq.push(['setTrackerUrl', u + 'matomo.php']);
_paq.push(['setSiteId', '1']);
var d = document,
g = d.createElement('script'),
s = d.getElementsByTagName('script')[0];
g.async = true; g.src = u + 'matomo.js';
s.parentNode.insertBefore(g, s);
})();
</script>
)Die runden Klammern machen daraus einen mehrzeiligen Wert; die schließende Klammer muss am Zeilenanfang stehen. Adresse und setSiteId ersetzen Sie durch die Werte aus Ihrer Matomo-Installation.
Was heute dazugehört
Die Einwilligung. Wann der Code überhaupt laufen darf, entscheidet nicht TypoScript, sondern Ihr Einwilligungsbanner. In der Praxis heißt das: Das Skript wird nicht fest eingebunden, sondern vom Consent-Manager nachgeladen, sobald die Besucherin zugestimmt hat. Welche Verarbeitung bei Ihnen zustimmungspflichtig ist, klären Sie mit Ihrer Datenschutzberatung — das hängt von der Konfiguration ab, unter anderem davon, ob Matomo Cookies setzt.
Das type-Attribut.type="text/javascript", wie es die erste Fassung dieses Beitrags noch enthielt, ist seit HTML5 überflüssig und kann entfallen.
Die Content-Security-Policy. Setzt die Website eine CSP, muss die Matomo-Domain in script-src und connect-src aufgeführt sein — sonst blockiert der Browser das Skript stillschweigend.
Geprüft mit TYPO3 14.