Direkt zur Hauptnavigation springen Direkt zum Inhalt springen
Alle Beiträge

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.