browser - Wie kann ich feststellen, ob ein Webclient Werbung blockiert?

Translate

Was ist der beste Weg, um Statistiken über die Anzahl der Besucher meiner Website aufzuzeichnen, die ihren Browser so eingestellt haben, dass Anzeigen blockiert werden?

This question and all comments follow the "Attribution Required."

Alle Antworten

Translate

Da Programme wie AdBlock die Anzeige eigentlich nie anfordern, müssten Sie in den Serverprotokollen nachsehen, ob derselbe Benutzer auf eine Webseite zugegriffen hat, aber nicht auf eine Anzeige zugegriffen hat. Dies setzt voraus, dass sich die Anzeige auf demselben Server befindet.

Wenn sich Ihre Anzeigen auf einem separaten Server befinden, würde ich vorschlagen, dass dies nicht möglich ist.

Der beste Weg, um Benutzer daran zu hindern, Anzeigen zu blockieren, besteht darin, Inline-Textanzeigen zu schalten, die vom Server generiert und in Ihrem HTML-Code gespeichert werden.

Quelle
Translate

Fügen Sie der Anforderung für die Anzeige die Benutzer-ID hinzu:

<img src="./ads/viagra.jpg?{user.id}"/>

Auf diese Weise können Sie überprüfen, welche Anzeigen von welchen Nutzern gesehen werden.

Quelle
Translate

Sie müssen über die verschiedenen Arten nachdenken, wie Anzeigen blockiert werden. Als Erstes müssen Sie prüfen, ob Noscript ausgeführt wird. Sie können also ein Skript hinzufügen, das dies überprüft.

Das nächste ist zu sehen, ob sie Flash blockieren, ein kleiner Film sollte das tun.

Wenn Sie sich die Adblock-Site ansehen, gibt es einige Hinweise darauf, wie sie blockiert:
Wie funktioniert das Verstecken von Elementen?

Wenn Sie weiter unten auf dieser Seite nachsehen, werden Sie feststellen, dass die herkömmliche Chromprüfung nicht funktioniert. Sie müssen daher versuchen, das geänderte DOM zu analysieren.

Quelle
Translate

AdBlock-ForumsagtDies wird verwendet, um AdBlock zu erkennen. Nach einigen Optimierungen können Sie damit einige Statistiken sammeln.

setTimeout("detect_abp()", 10000);
var isFF = (navigator.userAgent.indexOf("Firefox") > -1) ? true : false,
    hasABP = false;

function detect_abp() {
  if(isFF) {
    if(Components.interfaces.nsIAdblockPlus != undefined) {
      hasABP = true;
    } else {
      var AbpImage = document.createElement("img");
      AbpImage.id = "abp_detector";
      AbpImage.src = "/textlink-ads.jpg";
      AbpImage.style.width = "0";
      AbpImage.style.height = "0";
      AbpImage.style.top = "-1000px";
      AbpImage.style.left = "-1000px";
      document.body.appendChild(AbpImage);
      hasABP = (document.getElementById("abp_detector").style.display == "none");

      var e = document.getElementsByTagName("iframe");
      for (var i = 0; i < e.length; i++) {
        if(e[i].clientHeight == 0) {
          hasABP = true;
        }
      }
      if(hasABP == true) {
        history.go(1);
        location = "http://www.tweaktown.com/supportus.html";
        window.location(location);
      }
    }
  }
}
Quelle
Translate

Ich nehme an, Sie könnten die Anzeigenabzüge mit den Seitenaufrufen auf Ihrer Website vergleichen (die Sie von Ihrer Analysesoftware erhalten können).

Quelle