Estoy usando PJAX https://github.com/defunkt/jquery-pjax y me preguntaba ya que toda la página no cambia cuál sería la mejor manera de rastrear análisis con Google Analytics?jQuery pjax y google analytics
Respuesta
EDITAR: Tenga en cuenta que este ya no es el caso. Ver el comentario a continuación.
Defundos jquery-pjax en realidad lo manejará de manera predeterminada (para google analytics al menos). Básicamente, cada vez que se invoca una carga de página pjax, le indica al objeto gaq que registre la nueva página.
El código que utiliza para hacerlo es así:
// Google Analytics support
if ((options.replace || options.push) && window._gaq)
_gaq.push(['_trackPageview'])
Leer _trackPageview este http://code.google.com/apis/analytics/docs/tracking/asyncTracking.html y http://code.google.com/apis/analytics/docs/tracking/asyncMigrationExamples.html
Google Analytics es una función para su uso en sitios supervisados ga.js. que le permite realizar un seguimiento de eventos en su sitio que no generan una visita de página. Usando _trackPageview JavaScript, puede asignar un nombre de archivo de página específico a eventos Flash, eventos JavaScript, descargas de archivos, enlaces salientes y más, como este _gaq.push(['_trackPageview', '/home/landingPage']);
En la solicitud exitosa de ajax solo necesita decirle a GA la 'URL' de la página'.
La respuesta aceptada ya no es válida porque como comentó Ruy Díaz, este fue retirado de PJAX in this commit.
Aquí está mi solución. En el evento pjax: end, configure la ubicación de GA y envíe una vista de página.
El evento pjax: end se utiliza porque se activa "al seguir un enlace pjaxed" (carga desde el servidor) y "en la navegación hacia atrás/adelante" (carga desde la memoria caché). Ver pjax events documentation
$(document).on('pjax:end', function() {
ga('set', 'location', window.location.href);
ga('send', 'pageview');
});
O utilizando la versión antigua del GA
$(document).on('pjax:end', function() {
if(window._gaq) {
_gaq.push(['_trackPageview', window.location.href]);
}
});
tuve que ajustar manualmente la variable de ubicación, ya que no estaba captando que cambió.
Esto funciona para la nueva versión. ¡¡Gracias!! – joehand
Perrrrfect! ¡Gracias! – Brainfeeder
Probablemente debería usar 'pjax: end'; de lo contrario, solo se realiza un seguimiento de las cargas de la primera página. –
Uso PJAX para cargas de páginas superiores a toda la página y cada carga de página puede generar varias solicitudes PJAX.
Para trabajar en el sitio de forma segura, presento un evento solo cuando cambia la URL. Esto no captura las actualizaciones, pero es mejor que enviar 3 x visitas por carga de página.
href = window.location.href;
if (window.LAST_GOOGLE_ANALYTICS_LOCATION !== href) {
window.LAST_GOOGLE_ANALYTICS_LOCATION = href;
ga('set', 'location', href);
ga('send', 'pageview');
console.log("Analytics: sending hit, this is a new url: " + href);
} else {
console.log("Analytics: not sending hit; same url as before: " + href);
}
La respuesta de @andrewtweber es casi correcta, pero pjax:complete
se activa sólo después de carga de la página, no en las páginas restauradas (por ejemplo, navegar usando botón de retroceso).
Así, el evento que se debe utilizar es pjax:end
:
$(document).on('pjax:end', function() {
ga('send', 'pageview', window.location.href);
});
o cuando se utiliza la versión legado de Google Analytics:
$(document).on('pjax:end', function() {
_gaq.push(['_trackPageview', window.location.href]);
});
ubicación.href no funcionó para mí, estoy usando:
ga('send', 'pageview', location.pathname + location.search + location.hash);
- 1. JQuery vivir + Disqus/Google Analytics
- 2. Barniz y Google Analytics
- 3. Google Analytics y Python
- 4. Cargue Google Analytics de jQuery document ready?
- 5. Google Analytics API y .Net
- 6. ¿Cómo funciona Google Analytics In-Page Analytics?
- 7. Incrustable Google Analytics "Flair"?
- 8. Google Analytics y Samsung Smart TV Apps
- 9. Google Analytics - Seguimiento desconocido
- 10. Google Analytics: Js externos
- 11. Google Analytics android dispatch
- 12. Google Analytics Site Search
- 13. Datos de Google Analytics
- 14. ¿Cómo ejecutar jQuery antes y después de una carga pjax?
- 15. solicitud jquery pjax enviando dos veces
- 16. ¿Cómo Google Analytics envía datos a Google?
- 17. ¿Cómo usar PJAX? (? PJAX Con PHP)
- 18. iFrames + Google Analytics + Cookies + P3P
- 19. Google Analytics, Install Tracking android
- 20. Google Analytics Realtime Sandbox Entorno
- 21. Google Analytics con múltiples subdominios
- 22. Google Analytics Access con C#
- 23. ¿Referencia falso a Google Analytics?
- 24. Android google analytics tracker NoClassdefFoundError
- 25. Google Analytics e IE Browser
- 26. google analytics seguimiento del servidor
- 27. R - Paquete de Google Analytics
- 28. Flurry Analytics contra Google Analytics en la plataforma móvil
- 29. ¿Cómo cargo dinámicamente Google Analytics JavaScript?
- 30. Google Analytics API error 403: "El usuario no tiene ninguna cuenta de Google Analytics"
Esto ya no es cierto a partir de [este compromiso] (https://github.com/defunkt/jquery-pjax/commit/d1ed57262a1ada5fdeeafc56b6df1b54029c5acc). Ahora necesita usar eventos para manejar el seguimiento usted mismo. Se puede encontrar un ejemplo sobre cómo hacer esto usando YUI [aquí] (http://yuilibrary.com/yui/docs/pjax/#adding-analytics-support), y puede servir como una guía sobre cómo implementarlo. con jquery-pjax. –