Como implementar Google Analytics en páginas con AJAX?

Homemaker House Wife Perfect little woman! by Perpetually.Cuando uno empieza en el mundo de internet y quiere hacerse una web, lo primero que hace justo antes de publicarla es poner el tag de google analytics para poder medir desde el primer momento el estado de la misma.

En condiciones normales, y con unos conocimientos básicos, para hacer una instalación simple basta con poner el código que nos facilita Google Analytics dentro del <head> de cada página y ya tendremos información sobre visitas, páginas vistas, orígenes, las páginas con más éxito, etc.

El problema reside cuando la web tiene contenido que se carga mediante AJAX por lo cual, al cargar este contenido, no se envía ninguna información a los servidores de Google y por lo tanto no tendremos datos sobre sobre estas páginas en concreto.

Por suerte, esto tiene una fácil solución para nosotros 🙂

Lo único que hay que hacer es etiquetar los enlaces con la función trackPageView, que es la función que se encarga de contar páginas vistas en Google Analytics, de esta forma:

<a href="javascript:void(0);" onClick="javascript:pageTracker._trackPageview('/contacto');" >

A partir de este momente, cada vez que se haga click en un enlace con este cogido se contará como una nueva página vista (en el ejemplo, la página contacto), aunque la página se haya cargado por AJAX.

Recordad que si lo que queréis es que Google indexe vuestra web echa en AJAX, os recomiendo que sigáis la guía de implementación de google.

0 comentarios en «Como implementar Google Analytics en páginas con AJAX?»

  1. Concuerdo con el primer comentario.

    podemos considerar que tenemos libre albedrío para accionar a partir de una llamada en ajax, podemos trackear dicha peticion como un evento o como una página virtual, según el significado que tenga para nosotros esa acción, somos libres.
    Aunque en cambio Oriol, yo en vez de etiquetar el link, y hacer el trackpageview, directamente en la etiqueta html.
    Recién haría el trackpageview en la función onsucces de la petición ajax, asegurandome que se ejecuto correctamente, es una alternativa que en casos mas complejos es util…

    Responder
  2. Felix

    No eres mas que un inbecil estupido de mierda
    Ey wey TU SITIO ESTA BIEN JODIDO NO MAMES METER BLOS EN RUSO
    TE PASAS CULERO APARATE PURO PINCHE PARCHE CULERO

    VETE A LA MIERDA Y NO PREGUNTES TANTA TARUGADA PRIMERO ESTUDIA WEY

    Responder
  3. Oriol Farré

    Eres un pendejo en primera hay como tres codigos de google analics así que no es lo mismo para todos, pendejo!!!!!!!!!!!

    Responder
  4. @Jose Es otra opción 😉 En el post hago referencia a lo que se tendría que hacer, es decir, hacer las llamadas a GA con javascript, no quiero entrar en el método para hacer las llamadas, porque hay varios y todos son válidos 🙂

    Responder
  5. Muy buenas, considero que es un código demasiado intrusivo. Normálmente no me gusta trabajar con onClicks y prefiero trabajar con un init.js que se encargue de decir lo que sea.

    Yo optaría por marcar los enlaces que quieres trackear con un class=»analytics» y parsearlos con el domready… Vendría a ser lo mismo pero quizá algo más limpio 🙂

    Un saludo!

    Responder
  6. @David: El caso al que me refería yo eran páginas que por ejemplo se carga todo el contenido en pestañas distintas, como por ejemplo en mi página personal.

    Si lo que se muestra es solo una pequeña parte del contenido, estoy completamente de acuerdo de que se debería hacer con eventos, como ya comenté en mi post «¿Como interactuan los usuarios en mi web?«.

    Aun así, intentaré hacer una segunda versión ampliando el contenido de éste.

    Gracias por el comentario David! 🙂

    Responder
  7. Sí, jeje, pero ¿es realmente una página vista? En realidad no se produce una recarga de página como tal, así que no se puede decir que sea una página vista. O sí, depende de muchas cosas.

    Por ejemplo, si lo que hace el evento Ajax es «descubrir» una parte oculta de la página (una ventanita, un mensaje, etc), no creo que sea buena idea registrarlo como una página vista, quizá como un evento. Otra cosa es que se creen varias páginas ocultas y se muestren mediante Ajax (tampoco soy partidario de registrarlo como PageView porque realmente no lo es, pero en este caso sería discutible).

    De todas formas, estoy un poco decepcionado, porque he venido ilusionado viendo el título del post (he tenido grandes peleas con Ajax y Google Analytics) y pareces dar a entender que todo lo que se quiera hacer con Ajax y Analytics sea trackear un PageView… cuando realmente lo más habitual sea otras cosas: registrar un objetivo, un evento, una transacción de eCommerce, una conversión de un multivariante, etc.

    Y aún así, en la mayoría de los casos para registrar alguna de estas cosas no dispondremos de un simple enlace en el que meter un Javascript, sino que estaremos hablando de un botón, un desplegable, una pestaña o algo más complicado. Y seguramente hoy en día en muchos casos estaremos hablando de lenguajes de servidor… en los que la cosa se complica aún más.

    En fin, hay maneras de hacerlo, pero este tema creo que merece un desarrollo más profundo, pues es bastante más complejo que meter un javascript en un HREF.

    Igualmente ¡gracias por sacar el tema! 🙂

    ps: si alguien se está peleando con el tema, que no dude en contactar conmigo y quizá pueda dar alguna pista (he marcado lo de «Notify me of followup comments via e-mail»). Saludos!

    Responder

¿Algo que decir?

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.