Piwik EU Konform mit Cookies einsetzen

Ich arbeite gerne mit Open Source Software, neben meinem Job als Microsoft Consultant eine Abwechslung. Für Webseiten nutze ich mittlerweile gerne WordPress, so wie in diesem Blog. Damit ich weiß was meine Besucher interessiert, woher sie kommen und einige andere für die Seite wichtige Dinge (Auflösung, Techniken, Browser,…) nutze ich gerne Piwik. Der Grund dafür ist, die Daten bleiben bei mir, und nicht bei Google, die damit einen Besucher über diverse Seiten verfolgen können. Ja, auch du wurdest, von Piwik erfasst.

Piwik nutzt um Besucher wieder zuerkennen und zu sehen von wo nach wo die gesurft sind am liebsten Cookies. Es geht auch ohne, aber nicht so gut. Die EU-Richtlinie für Cookies gibt es schon länger, aber im Moment ist es in „Mode“ sich darum auch in Deutschland zu kümmern. Nach Meinung vieler Anwälte unnötig, ich wollte es trotzdem mal umsetzen.

Der erste Versuch war neben meinem Plugin für Piwik (WP-Piwik) auch noch das Plug-In „EU Cookie Law“ zu installieren. Leider mit mäßigem Erfolg, keine Cookies bis zur Zustimmung, außer von Piwik. Also quasi gescheitert.

Die Zustimmung setzt aber, wie sollte es anders sein, ein Cookie. Meine Idee war dann, warum nicht einfach prüfen, ist dieser Cookie da, dann darf ich. Dafür reicht ja ein einfach „if(!isset($_COOKIE[$cookie_name]))“ in PHP. Aber warum nicht noch etwas mehr? Piwik kann auch ohne Cookies, er erkennt zwar keine Wiederkehrenden Besucher, und einiges anderes klappt auch nicht mehr, aber immerhin…

Also, hier mal der Code den ich dafür in den Footer des Child-Theme integriert habe:

<!-- www.fabian-niesen.de for Piwik mit euCookie -->
<?php
$cookie_name = "euCookie";
if(!isset($_COOKIE[$cookie_name])): ?>
<!-- Piwik -->
<script type="text/javascript">
  var _paq = _paq || [];
  _paq.push(["disableCookies"]);
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//--PIWIKURL--/piwik/";
    _paq.push(['setTrackerUrl', u+'piwik.php']);
    _paq.push(['setSiteId', --PIWIKID--]);
    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+'piwik.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<noscript><p><img src="//--PIWIKURL--/piwik/piwik.php?idsite=--PIWIKID--" style="border:0;" alt="" /></p></noscript>
<!-- End Piwik Code -->";
<?php else : ?>
<!-- Piwik -->
<script type="text/javascript">
  var _paq = _paq || [];
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//--PIWIKURL--/piwik/";
    _paq.push(['setTrackerUrl', u+'piwik.php']);
    _paq.push(['setSiteId', --PIWIKID--]);
    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+'piwik.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<noscript><p><img src="//--PIWIKURL--/piwik/piwik.php?idsite=--PIWIKID--" style="border:0;" alt="" /></p></noscript>
<!-- End Piwik Code -->
<?php endif; ?>
<!-- END www.fabian-niesen.de for Piwik mit euCookie -->

Austauschen müsst nur noch –PIWIKURL– –PIWIKID–. Viel Spaß damit, und die Benutzung dieses Codeschnipsels erfolgt auf eigene Gefahr.


Beitrag veröffentlicht

in

von

Kommentare

Eine Antwort zu „Piwik EU Konform mit Cookies einsetzen“

  1. Danke dir für den Quellcode, ich werde ihn dann demnächst auch einmal bei mir einbauen.

    Gruß Christopher

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert