Pregunta

Como dice la pregunta, estoy tratando de descubrir cómo Google rastrea los clics en los resultados de búsqueda. Cuando ve la fuente, encuentra lo siguiente:

 <a href="http://www.yahoo.com/" class=l onmousedown="return rwt(this,'','','res','1','AFQjCNG7Ba-stir4109vlLygPQX7QGf8bg','&amp;sig2=Vx5PLxf04C-yJYZTZfvk8w')"><em>Yahoo</em>!</a>

La función rwt es, que es bastante desordenada:

windows.rwt=function(b,d,e,g,h,f,i,j){
var a=encodeURIComponent||escape,c=b.href.split("#");
b.href=["/url?sa=t\x26source\x3dweb",d?"&oi="+a(d):"",e?"&cad="+a(e):"","&ct=",a(g),"&cd=",a(h),"&url=",a(c[0]).replace(/\+/g,"%2B"),"&ei=7_C2SbqXBMW0-AbU4OWnCw",f?"&usg="+f:"",i,c[1]?"#"+c[1]:""].join("");
b.onmousedown="";
return true};

Entonces parece que Google está cambiando la href de la etiqueta a a / url? ... que supongo es donde está su seguimiento. Desde LiveHeaders en Firefox, parece que esta página está redirigiendo el navegador al href original de la etiqueta.

¿Es correcto y este es el mejor método para hacer un seguimiento de los clics en los enlaces de su sitio, como los anuncios?

¿Fue útil?

Solución

En realidad está cambiando la href del enlace en lugar de la ubicación de la ventana. Está configurando b.href, y b se refiere al enlace en sí. Esto se ejecuta en onmousedown, por lo que cuando sueltas el mouse y se maneja el clic, mágicamente te envían a ese nuevo href.

Cualquier seguimiento de clics se reduce a enviar al usuario a un equivalente del script de Google / url? ..., contar el clic y realizar una redirección 302 al destino real.

Este reemplazo href de JavaScript tiene la ventaja de filtrar automáticamente cualquier robot que no ejecute scripts. La desventaja es que también filtra a las personas reales que tienen JavaScript deshabilitado. Si, como Google, solo le importa qué enlace es más popular entre sus usuarios humanos reales, esto funciona bastante bien. Los clics que registras deben ser representativos del tráfico humano real, y puedes ignorar los clics de usuarios que no usan JavaScript porque probablemente tengan las mismas preferencias de todos modos.

La mayoría de los anuncios simplemente enlazan directamente a la URL de conteo sin reemplazo de javascript. Esto significa que definitivamente cuenta cada clic real en el enlace, pero debe preocuparse por filtrar las solicitudes de los robots, ya que ahora también verán su URL de conteo.

Lo que prefiera realmente depende de por qué desea realizar un seguimiento de los clics.

Otros consejos

Creo que la mayoría de la gente espera que los anuncios hagan clic a través de algún tipo de sistema de seguimiento, por lo que no debería preocuparme demasiado por seguir esta implementación particular de JavaScript, sino por todo lo que probablemente esté allí para garantizar que el usuario vea el enlace correcto en la barra de estado de los navegadores, se envían varias otras partes interesantes de información (términos de búsqueda, posición en el conjunto de resultados en ese momento, quién es usted, etc.) (sin que se dé cuenta) y que los enlaces aún funcionan si JavaScript es deshabilitado.

Generalmente, sí, dirigir al usuario a través de alguna página de seguimiento con el ID del anuncio en el que ha hecho clic, y posiblemente alguna indicación adicional de dónde provienen es sensata, de esa manera no dependerá de otros mecanismos (como como controladores de eventos JS) para realizar un seguimiento de los clics en los enlaces, sin duda es la forma en que funcionan la mayoría de los sistemas de anuncios que he usado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top