19.052014

Adblocker mit Javascript feststellen

Schätzungsweise nutzen 15 bis 30% der User im Internet einen Adblocker der Werbebanner aus Internetseiten rausfiltert. Was aber wenn diese Internetseite auf den Werbebanner angewiesen ist? Der User mit Adblocker sieht ihn nicht un der Internetseite fehlt eventuell Umsatz.

Es gibt zwar keine Lösung den Adblocker komplett zu umgehen aber zumindest lässt sich für den rausgefilterten Banner eine Alternative anzeigen.

Das Prinzip um festzustellen ob ein Adblocker benutzt wird ist sehr einfach. Man stellt dem Adblocker eine Falle und schaut einfach nach ob dieser in die selbige reingegangen ist. Dazu platziert man auf seiner eigenen Seite einfach ein html Element das nach einem Ad aussieht.

<div class="containerAd"></div>

Mit Javascript kann man dann im nachhinein einfach prüfen ob das Element noch da ist.

    setTimeout(function() {
      var ads = document.getElementsByClassName('containerAd'),
          ad  = ads[ads.length - 1];

      if(!ad || ad.innerHTML.length == 0 || ad.clientHeight === 0) {
        // Adblocker ist aktiv
      }

    }, 2000);

Das Script prüft einfch nach 2 Sekunden, ob das Werbebanner-Element noch im DOM vorhanden ist. Ist es das nicht, kann man je nach Wunsch einfach ein anderes Element einblenden oder ein Hinweis für den User ausgeben.

Natürlich sollte dieses Element dann nicht von dem Adblocker blockiert werden. Dann hätte man nichts gewonnen.