2011-05-01 18 views
7

Tengo un foro de comunidad de juegos, donde instalé algunos anuncios de Google, pero la gente está abusando de él (por supuesto, por su buena voluntad) y haciendo clic constantemente ... ahora no quiero generar ningún ilegal clics en el sitio, pero algunas personas simplemente no están escuchando.Detectar anuncios de Google haga clic en

¿Hay alguna manera de detectar si alguien ha hecho clic en los anuncios de google ... por lo que podría deshabilitarlos para el uso que los ha hecho clic durante un día más o menos.

Gracias por su ayuda.

Respuesta

2

Los anuncios de Google son iframes y Javascript no tiene acceso a los contenidos ni agrega eventos si está en un dominio diferente que el sitio principal (consulte la ley de iframes here).

Puede, sin embargo, colocar un div (visibility: hidden) claro, no display: none) sobre el iframe y, de alguna manera, interceptar los clics al mismo. El único problema con esto es que interceptas el clic o no. Entonces, cuando el usuario hace clic la primera vez puede ejecutar su lógica sobre si lo permite o no, y si desea permitirlo, display: none su div y le pide al usuario que haga clic de nuevo.

Esta es prácticamente la única forma en que puede hacerlo.

+0

Gracias, funcionó para mí, aunque sucio. –

0

Puede usar el evento jQuery .click() con la combinación de algún almacenamiento (cookie o base de datos). Luego, encontrará elementos que contengan anuncios, adjunte ese evento y haga su lógica de negocios (verifique si el usuario ya ha hecho clic en eso antes) dentro. También puede manipular cómo progresará el clic a los anuncios (si se registra o no) por supuesto.

+2

Esto no es posible porque los anuncios Google están en iFrames ubicados en un dominio diferente. –

4

Si recuerdo correctamente, está en contra de las reglas de los anuncios de Google el hecho de que haga un seguimiento de los clics en los anuncios, ya que genera incentivos para hacer clic en los anuncios. (como deshabilitarlos). Me doy cuenta de que estás tratando de solucionar el problema de los clics ilegales, pero de hecho estás cavando tu propia tumba.

Pero para responder a su pregunta con interés puramente web-dev, puede detectar la posición X Y del mouse (desplazamiento de desplazamiento + página) en window.onbeforeunload y hacer ping rápidamente en su servidor. Por lo general, esto se hace creando un new Image(); siendo la fuente un archivo php.

Esto es exacto para todos los navegadores, independientemente del uso de iframes.

¡Buena suerte!

1

Aquí tienen algunas respuestas oficiales de Google acerca de que:

http://adwords.blogspot.com.ar/2006/03/about-invalid-clicks.html

No es tan difícil de detectar direcciones IP duplicadas y también podría utilizar cookies para rastrear a los usuarios. A menos que use muchos proxies (computadoras falsas) para realizar un fraude intencional, no debería tener ningún problema con eso.

Live que funcionan para Adsense, tienen múltiples fuentes de datos para detectar eso. Si tiene instalado Google Analytics, también les da suficiente información para descartar trucos.

1

Puede usar el complemento iframetracker.

<script src="jquery.min.js"></script> 
<script src="jquery.iframetracker.js"></script> 

$('iframe').iframeTracker({ 
    blurCallback: function(){ 
     // Do something when clicked on ad 
    } 
}); 

para obtener más información y verificación de demostración here.

+0

Gracias por su solución :) – Harsha