Как я могу определить, блокирует ли веб-клиент рекламу?

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

5.08.2008 15:30:42
5 ОТВЕТОВ
РЕШЕНИЕ

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

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

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

11
5.08.2008 15:34:18

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

3
5.08.2008 15:32:21

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

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

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

10
5.08.2008 15:37:34

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

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

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

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

4
27.01.2013 12:28:53

Форум 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
1.12.2016 21:56:36