Opt-Out mit Adblock


#1

Bei aktiviertem Adblock Plus (getestet in FF) wird das Opt-Out-iframe nicht angezeigt!
Viele User nutzen Werbeblocker und wir möchten auch (und gerade!) diesen die Möglichkeit geben, das Tracking zu deaktivieren! Es geht um Vertrauen und Transparenz.
Gibt es Möglichkeiten trotz Adblock dem Nutzer die Möglichkeit zu geben, frei zu entscheiden, ob er getrackt werden will?


Opt-Out nur für bestimmte ID (Webseite) Nicht für ganze Piwik Installation
#2

Hallo!

Ich habe eine eigene Opt-Out-Funktion eingebaut bei der der Code für PIWIK erst garnicht geladen wird wenn jemand den Besucherzähler deaktiviert. Und bei deaktiviertem JavaScript lädt PIWIK generell nicht. Allerdings nutze ich Semantik-UI. Dadurch brauche ich das iFrame nicht mehr. Der Schalter ist bei mir auf der rechten Seite (im footer-Tag), und somit von allen Seiten aus erreichbar. (Wer es sich anschauen möchte: www.rholtz-office.de)


function getCookieByName(cookieName) {
 var theCookie=" "+document.cookie;
 var ind=theCookie.indexOf(" "+cookieName+"=");
 if (ind==-1) ind=theCookie.indexOf(";"+cookieName+"=");
 if (ind==-1 || cookieName=="") return "";
 var ind1=theCookie.indexOf(";",ind+1);
 if (ind1==-1) ind1=theCookie.length; 
 return unescape(theCookie.substring(ind+cookieName.length+2,ind1));
}

var cookiePiwik = getCookieByName('piwikdisabled'); 

if (cookiePiwik == 'yes' ) {
    $("label[for='piwik-enabled']").text('Besucherzähler deaktiviert');
}
else { /* checkbox markieren wenn piwikenabled cookie nicht "yes" ist */
    $('#piwik-enabled').prop('checked', true);
    $("label[for='piwik-enabled']").text('Besucherzähler aktiviert')
        var _paq = _paq || [];
        _paq.push(["trackPageView"]);
        _paq.push(["enableLinkTracking"]);

        (function() {
            var u=(("https:" == document.location.protocol) ? "https" : "http") + "://www.seite.de/piwik/";
            _paq.push(["setTrackerUrl", u+"piwik.php"]);
            _paq.push(["setSiteId", "7"]);
            var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
            g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
        })();
}



$('#piwik-enabled[type=checkbox]').change(function() {
    date = new Date();
    date.setFullYear(date.getFullYear() + 20);
    if ( this.checked ) { /* wenn checkbox markiert, piwik laden */
        document.cookie = 'piwikdisabled=no; path=/; expires=' + date.toUTCString();
    }
    else { /* wenn checkbox nicht gesetzt, piwik nicht laden */
        document.cookie = 'piwikdisabled=yes; path=/; expires=' + date.toUTCString();
    }

    location.reload();
});

/* controls */

$('.ui.checkbox').checkbox();

Gruß, René


(Stefan Giehl) #3

Ich gehe mal davon aus dass der Adblocker, neben dem Opt-Out auch Piwik ansich blockiert. d.h. es findet auch kein Tracking statt, dass deaktiviert werden könnte…


#4

Das kann man verhindern indem man seine JS-Datei nicht “piwik.js” nennt. Denn so wie es aussieht erkennt AdblockPlus PIWIK nur anhand des Dateinamens. Und da die meisten Programmierer die Standardbzeichnung(en) nutzen kann AdblockPlus das natürlich leicht blockieren. AdblockPlus ist sogar in der Lage Abkürzungen zu verstehen. “pwk.js” z.B. wird wohl ebenfalls als PIWIK verstanden. “ad01” z.B. wird von AdblockPlus mit “advertising” gleichgesetzt und natürlich blockiert. Daher sollte man Namen nutzen die nicht so leicht auf PIWIK schließen lassen, und zu leicht zu verstehende Abkürzungen vermeiden.