Отслеживание AdBlock

Я просто хочу узнать, сколько пользователей моего сайта используют adblock (плюс / pro / что угодно). Для этого я реализовал следующее:

  • Я отслеживаю посещение моего HTML-документа (фактически я отслеживаю каждый запрос, но только первый — это «посещение». Я использую сеанс для проверки, если это первое посещение) и сохраняю его в базу данных
  • Я включил файл javscript с именем /ad_server/banner/ad.js, который представляет собой php-скрипт, который также отслеживает посещения и сохраняет его в БД

Теоретически это должно означать, например: 100 html_visits и 90 js_visits означают, что 10 пользователей запросили html-файл, но не js-файл (который был заблокирован AdBlock)

Моя проблема сейчас в том, что у меня 75,2% пользователей с рекламным блоком, что слишком много по сравнению с другими исследованиями (25-30%) для моей страны. Мой веб-сайт не ориентирован на конкретные технологии, поэтому процент не должен быть таким высоким.

Где ошибка в моей концепции?

Я добавляю метку времени к URL-адресу файла js (/ad_server/banner/ad.js?1435143401) и отключаю кэш для этого файла (Cache-Control: нет хранилища, нет кэша, необходимо подтвердить заново, max-age = 0 » ; Pragma: ‘no-cache’) для предотвращения проблем с кешем.

-3

Решение

Похоже, что использование файла с именем ad.js само по себе будет заблокировано Adblockers. Так как я не вижу ваш код, я не могу сказать вам, если ваша логика испорчена или что-то еще

Я написал что-то подобное на днях.

<html>
<head>
<script src="adcity.js"></script>
</head>
<body>
<script>
if( window.adblockerCheck === undefined ){
// adblocker blocked our fake adcity.js file
// send event to GA or other analytics provider
}
</script>
</body>
</html>

И тогда все, что есть в файле adcity.js:

window.adblockerCheck = true;

Это простая версия. На работе я закончил делать jquery $ .ajax (‘adcity.js’) и проверять состояние и прочее в обратном вызове .complete (). Таким образом, мы можем проверить по разным причинам, что запрос может быть неудачным, например, «тайм-аут» и т. Д.

1

Другие решения

Других решений пока нет …