Dank des Kommentars von Thomas zum Artikel Piwik und der Datenschutz hier auf redirect301.de habe ich mir das Cookie-Problem bei der Verwendung von 1st Party Cookies in Piwik nochmal näher angesehen und augenscheinlich auch eine Lösung gefunden.
Aber von vorn – und bitte kommentiert, falls ihr euch ebenfalls mit diesem Thema befasst.

Das Unabhängige Landeszentrum für Datenschutz Schleswig-Holstein ver­öffentlichte am 15. März 2011 ihre „Hinweise und Empfehlungen zur Analyse von Internet-Angeboten mit Piwik“ auf www.datenschutzzentrum.de. Hier wurde unter Punkt 3.6 „Lebensdauer von Piwik-Cookies setzen und verringern“ beschrieben, wie man als an Datenschutz interessierter Webmaster die Cookie-Lebensdauer von 2 Jahren auf die hier genannten 2 Stunden herab setzt. Ob ich damals einfach diese Aussage als „korrekt“ angesehen und diese Konfiguration so übernommen hatte oder ob ich wirklich Tests mit den Cookies durchgeführt habe, weiß ich nicht mehr.

Die alten 3rd Party Cookies bei Piwik

Ab Version 1.2 setzt Piwik auf 1st Party Cookies (siehe Changelog). Somit wird wohl mit Einführung dieser Version das hier beschriebene Verfahren zur Verringerung der Cookie-Lebensdauer hinfällig geworden sein. Die hier und bei der ULD beschriebene Konfiguration greift nämlich nur bei den 3rd Party Cookies. Kaum jemanden ist seit dem wirklich aufgefallen, dass Piwik fleißig Cookies mit 2 Jahren Lifetime setzt, obwohl „man sich sicher ist“, diese in der Konfigurationsdatei deaktiviert zu haben.

Die Cookie-Gültigkeitsdauer direkt im Tracking-Code

Direkt im JavaScript-Code für die Piwik-Einbindung, dem Tracking-Code, lassen sich die entsprechenden Einstellungen zur Cookie-Lifetime-Behandlung setzen. In diesem Beispiel habe ich diese Zeit auf 604.800 Sekunden (7 Tage) gesetzt. Natürlich wäre auch „0“ möglich, womit beim Schließen des Browsers das Cookie gelöscht wird.

<!-- Piwik -->
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://analytics.weihmann.de/" : "http://analytics.weihmann.de/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 12);
piwikTracker.setVisitorCookieTimeout('604800');
piwikTracker.setSessionCookieTimeout('0');
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="http://analytics.weihmann.de/piwik.php?idsite=12" style="border:0" alt="" /></p></noscript>
<!-- End Piwik Tracking Code -->

Achtung!

Wichtig sind hierbei diese beiden Zeilen an der richtigen Stelle im JavaScript-Code, also vor piwikTracker.trackPageView();:

piwikTracker.setVisitorCookieTimeout('604800');
piwikTracker.setSessionCookieTimeout('0');

Wie lange sollte die Cookie-Lifetime sein?

Das Setzen einer Zeit von 2 Stunden, wie die ULD es beispielhaft empfohlen hatte, halte ich für sinnlos. Zumindest bei meinem Surfverhalten ist es recht unwahrscheinlich, dass ich eine Webseite besuche, irgendwann den Browser schließe und vor Ablauf von 2 Stunden nochmals dieser Webseite einen Besuch abstatte. Wer also die wiederkehrenden Besucher erkennen möchte, sollte an dieser Stelle (aus meiner Sicht) mit 7 bis 30 Tage o.ä. arbeiten. Aber das sollte jemand festlegen, der sich ganztägig mit dem Thema Datenschutz befasst und sich möglichst auch mit Webanalyse auskennt.

Die Cookie-Lifetime im Browser überprüfen

Baut die beiden zusätzlichen Funktionen in euren Tracking-Code ein. Nehmt einen beliebigen Browser und löscht alle Cookies (das vereinfacht die Suche nach den Piwik-Cookies, nehmt ggf. nicht euren Standardbrowser) und ruft die entsprechende Webseite auf. Jetzt können die beiden Piwik-Cookies, und vor allem deren Gültigkeitsdauer, näher betrachtet werden.

Piwik setVisitorCookieTimeout: Cookie Lifetime 604.800 Sekunden

Piwik setVisitorCookieTimeout: Cookie Lifetime 604.800 Sekunden

Piwik setSessionCookieTimeout: Cookie Llifetime Session

Piwik setSessionCookieTimeout: Cookie Llifetime Session

Einen Test habe ich bereits vorbereitet. Unter www.piwik-cookie-lifetime.redirect301.de befindet sich eine kleine HTML-Seite mit dem angepassten Code. Hier könnt ihr schon mal einen Blick auf die Cookies werfen, bevor ihr das bei Kundenprojekten versucht.

Bitte hinterlasst einen Kommentar mit den eigenen Erfahrungen. Ich habe diese Piwik-Konfiguration im Test-Einsatz und leider im Piwik-Forum nur spärliche Informationen zu diesem Thema finden können. Wäre also schön, wenn man sich gegenseitig ein paar Tipps geben könnte …