¿Cuál es la mejor manera de registrar estadísticas sobre el número de visitantes que visitan mi sitio que han configurado su navegador para bloquear anuncios?¿Cómo puedo saber si un cliente web está bloqueando anuncios?
Respuesta
Dado que los programas como AdBlock en realidad nunca solicitan el anuncio, tendría que consultar los registros del servidor para ver si el mismo usuario accedió a una página web pero no accedió a un anuncio. Esto supone que el anuncio está en el mismo servidor.
Si sus anuncios están en un servidor separado, entonces sugeriría que es imposible hacerlo.
La mejor manera de evitar que los usuarios bloqueen anuncios es tener anuncios de texto en línea generados por el servidor y distribuidos dentro de su html.
Supongo que podría comparar las impresiones de anuncios con las vistas de página en su sitio web (que puede obtener de su software de análisis).
Añadir el ID de usuario a la solicitud del anuncio:
<img src="./ads/viagra.jpg?{user.id}"/>
de esa manera se puede comprobar qué anuncios son vistos por qué usuarios.
Debe pensar en las diferentes formas en que se bloquean los anuncios. Lo primero que debe observar es si están ejecutando noscript, por lo que podría agregar un script que verifique por eso.
Lo siguiente es ver si están bloqueando el flash, una pequeña película debería hacer eso.
Si nos fijamos en el sitio Adblock, hay alguna indicación de cómo lo hace el bloqueo:
How does element hiding work?
Si se mira más abajo en esa página, verá que el cromo convencionales con sondas no va a funcionar, por lo que necesita intentar y analizar el DOM alterado.
AdBlock forum says esto se utiliza para detectar AdBlock. Después de algunos ajustes, puede usar esto para recopilar algunas estadísticas.
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);
}
}
}
}
- 1. ¿Cómo saber qué hilo está bloqueando un archivo en Java?
- 2. ¿Cómo puedo saber si un proceso se está ejecutando?
- 3. ¿Cómo puedo saber si un secuenciador está cerrado?
- 4. Cómo saber si un actor está inactivo
- 5. ¿Cómo puedo saber si Flash está cargado en un sitio web?
- 6. ¿Cómo puedo determinar programáticamente qué aplicación está bloqueando un archivo?
- 7. ¿Cómo puedo saber si .NET 3.5 SP1 está instalado?
- 8. ¿Cómo puedo saber si el CouchDB está funcionando?
- 9. ¿Cómo puedo saber si Moodle cron está funcionando?
- 10. ¿Cómo puedo saber si Matlab está ocupado cuando usa GUI?
- 11. ¿Cómo puedo saber si NSTimer está activo o no?
- 12. ¿Cómo puedo saber si la pantalla está activada en Android?
- 13. ¿Cómo puedo saber si se está mostrando ModalViewController?
- 14. ¿Cómo puedo saber si está instalado .NET 4.02?
- 15. ¿Cómo puedo saber si la cámara está en uso?
- 16. ¿Cómo puedo averiguar si un objeto está bloqueado? C#
- 17. ¿Qué está bloqueando fsockopen?
- 18. Cómo saber si el dispositivo está durmiendo
- 19. ¿Cómo saber si OpenMP está funcionando?
- 20. ¿Cómo saber si mi componente Java está en un Applet?
- 21. ¿Cómo saber si se está ejecutando un temporizador?
- 22. ¿Puede un sitio web saber si estoy ejecutando un UserScript?
- 23. ¿Cómo puedo saber si un UITableView contiene un NSIndexPath específico?
- 24. ¿Cómo puedo saber qué proceso Linux está esperando?
- 25. Cómo saber si un usuario está visitando "/Default.aspx" o simplemente "/"
- 26. Python PySerial.¿Cómo saber si un puerto ya está abierto?
- 27. Win32 archivos bloqueados para leer: cómo saber quién los está bloqueando
- 28. ¿Cómo saber si un proceso MySQL está atascado?
- 29. Cómo saber si el cliente ha cerrado la conexión
- 30. ¿Cómo puedo saber si alguien está falsificando un tipo de archivo? (PHP)