Medición de aplicaciones de una sola página

En esta guía, se describe cómo usar analytics.js para medir la actividad de las páginas en sitios cuyo contenido se carga de forma dinámica sin las cargas tradicionales de página completa.

Descripción general

Una aplicación de una sola página (SPA) es una aplicación web o un sitio web que carga todos los recursos necesarios para navegar por el sitio cuando se carga la primera página. A medida que el usuario hace clic en vínculos e interactúa con la página, el contenido subsiguiente se carga de forma dinámica. Con frecuencia, la aplicación actualizará la URL en la barra de direcciones para emular la navegación tradicional de páginas, pero nunca se realiza otra solicitud de página completa.

La etiqueta de Google Analytics predeterminada funciona bien con los sitios web tradicionales, ya que el código del fragmento se ejecuta cada vez que los usuarios cargan una página nueva. Sin embargo, en el caso de una aplicación de una sola página en la que el sitio carga nuevo contenido de la página de forma dinámica en lugar de hacerlo cuando se carga la página completa, el código del fragmento analytics.js solo se ejecuta una vez. Esto significa que las páginas vistas posteriores (virtuales) se deben capturar manualmente a medida que se carga contenido nuevo.

Cómo hacer un seguimiento de las vistas de página virtuales

Cuando tu aplicación carga contenido de forma dinámica y actualiza la URL en la barra de direcciones, los datos almacenados en tu rastreador también deben actualizarse.

Para actualizar la herramienta de seguimiento, usa el comando set y proporciona el nuevo valor page:

ga('set', 'page', '/new-page.html');

Una vez que hayas establecido el nuevo valor de la página, todos los hits posteriores que se envíen usarán ese valor nuevo. Para registrar una vista de página, envía un hit de página vista inmediatamente después de actualizar el rastreador.

ga('set', 'page', '/new-page.html');
ga('send', 'pageview');

Si bien técnicamente el comando send para hits de vista de página acepta un campo opcional page como tercer parámetro, pasar el campo page de esa manera no se recomienda cuando se miden aplicaciones de una sola página. Esto se debe a que los campos que se pasan con el comando send no se configuran en el rastreador; solo se aplican al hit actual. No actualizar la herramienta de seguimiento generará problemas si tu aplicación envía hits que no sean de vista de página (p.ej., eventos o interacciones sociales), ya que esos hits se asociarán con cualquier valor de page que tenga la herramienta de seguimiento cuando se creó.

Maneja varias URLs para el mismo recurso

Algunas SPA solo actualizan la parte del hash de la URL cuando cargan contenido de forma dinámica. Esta práctica puede dar lugar a situaciones en las que muchas rutas de página diferentes apuntan al mismo recurso. En esos casos, suele ser mejor elegir una URL canónica y solo enviar ese valor de page a Google Analytics.

Por ejemplo, considera un sitio web a cuya página "Acerca de nosotros" se puede acceder a través de cualquiera de las siguientes URL:

  • /about.html
  • /#about.html
  • /home.html#about.html

Para evitar la duplicación en tus informes, se recomienda capturar todas estas vistas de página como /about.html.

Consideraciones importantes

No actualizar la URL de referencia del documento

Cuando creas un objeto de seguimiento con el comando create, el valor de document.referrer se almacena en el campo referrer de la herramienta de seguimiento. En el contexto de una aplicación de una sola página que no usa cargas de página completa, el campo referrer siempre se mantendrá igual.

No obstante, no es necesario actualizar manualmente el campo de referencia antes de enviar hits de vista de página. Google Analytics puede determinar automáticamente la ruta de navegación correcta.

No actualizar la ubicación del documento

De la misma manera que la herramienta de seguimiento usa document.referrer para el campo referrer, usa document.location para el campo location, que puede contener datos de la campaña u otros metadatos en forma de parámetros de consulta anexados al final de la URL.

Si actualizas cualquiera de los campos de la campaña o cualquier otro metadato que Google Analytics esté verificando, es posible que finalice la sesión actual y comience una nueva. Para evitar este problema, no actualices el campo location cuando midas las vistas de página virtuales en una aplicación de una sola página. En su lugar, usa el campo page.

No crear segmentos nuevos

No crees herramientas de seguimiento nuevas en una app de una sola página para intentar imitar lo que el fragmento de seguimiento de JavaScript hace en los sitios web tradicionales. Si lo haces, correrás el riesgo de enviar una URL de referencia incorrecta, así como datos incorrectos de la campaña, como se describió anteriormente.