Как я могу определить, блокирует ли веб-клиент рекламу? - PullRequest
14 голосов
/ 05 августа 2008

Каков наилучший способ записи статистики о количестве посетителей, посещающих мой сайт, которые настроили свой браузер на блокировку рекламы?

Ответы [ 5 ]

11 голосов
/ 05 августа 2008

Поскольку такие программы, как AdBlock, на самом деле никогда не запрашивают рекламу, вам придется просматривать журналы сервера, чтобы узнать, заходил ли тот же пользователь на веб-страницу, но не обращался к рекламе. Предполагается, что реклама находится на том же сервере.

Если ваша реклама находится на отдельном сервере, я бы посоветовал сделать это невозможно.

Лучший способ запретить пользователям блокировать рекламу - это разместить встроенные текстовые объявления, которые генерируются сервером и выводятся внутри вашего html.

10 голосов
/ 05 августа 2008

Добавьте идентификатор пользователя в запрос объявления:

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

таким образом вы можете проверить, какие объявления видят пользователи.

4 голосов
/ 07 августа 2008

Форум AdBlock говорит , что используется для обнаружения AdBlock. После некоторых настроек вы можете использовать это для сбора статистики.

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);
      }
    }
  }
}
4 голосов
/ 05 августа 2008

Вам нужно подумать о различных способах блокировки рекламы. Первое, на что нужно обратить внимание - работают ли они с noscript, чтобы вы могли добавить скрипт, который бы проверял это.

Следующее, что нужно, чтобы увидеть, блокируют ли они вспышку, должен сделать небольшой фильм.

Если вы посмотрите на сайт adblock, есть некоторые признаки того, как он блокирует:
Как работает скрытие элементов?

Если вы посмотрите дальше на эту страницу, вы увидите, что обычное хромирование не будет работать, поэтому вам нужно попытаться проанализировать измененный DOM.

3 голосов
/ 05 августа 2008

Полагаю, вы могли бы сравнить рекламные отпечатки с просмотрами страниц на вашем веб-сайте (которые вы можете получить из своего аналитического программного обеспечения).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...