Подтвердить что ты не робот

Как узнать, блокирует ли веб-клиент рекламные объявления?

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

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

Ответ 3

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

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

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

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

Ответ 4

AdBlock forum говорит, это используется для обнаружения 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);
      }
    }
  }
}

Ответ 5

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