ver valor total los google eventos evento etiqueta donde code categoria accion javascript javascript-events google-analytics analytics.js

javascript - valor - total de eventos google analytics



El evento analytics.js no funciona correctamente (4)

Bueno, así es como lo arreglé, si alguien más tiene el mismo problema:

Hice una función para llamar al seguimiento de análisis, donde retrasé la página solo por una fracción de segundo:

function TrackEvent(link, category, action, label, page) { try { ga("send", "event", category, action, label, { ''page'': page }); } catch (err) { consol.log(err); } setTimeout(function () { document.location.href = link.href; }, 25); }

Entonces, cada uno de mis enlaces onClick llama a esta función, así:

$(document).ready(function () { $(".calendar_month_prev").on("click",function(){ TrackEvent(this, ''button'', ''click'', ''Calendar: Prev month'', ''/team/main''); return false;}); $(".calendar_month_next").on("click",function(){ TrackEvent(this, ''button'', ''click'', ''Calendar: Next month'', ''/team/main''); return false;}); $(".calendar_day_active").on("click",function(){ TrackEvent(this, ''button'', ''click'', ''Calendar: Select day'', ''/team/main''); return false;}); });

Uno probablemente podría agregar esto al a href onClick, si esto es preferido :)

Implementé analytics.js (nueva versión) en mi aplicación web ASPX. Tengo una vista de página funcionando bien, pero los eventos a menudo no se envían.

En mi ejemplo, intenté presionar 3 botones diferentes, pero solo uno de ellos activó el evento. Agregué un cuadro de alerta a cada evento, para verificar que realmente se haya disparado, y todos estos se muestran.

Este es mi js, colocado justo antes del </head>

(function(i, s, o, g, r, a, m) { i[''GoogleAnalyticsObject''] = r; i[r] = i[r] || function() { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) })(window, document, ''script'', ''//www.google-analytics.com/analytics.js'', ''ga''); ga(''create'', ''UA-XXXXXXXX-1'', { ''cookieDomain'': ''none'' }); ga(''send'', ''pageview'', { ''page'': ''/team/main'', ''title'': ''Logged in'' }); $(document).ready(function() { $(".team_button").on("click", function() { ga(''send'', ''event'', ''button'', ''click'', ''Team select button'', { ''page'': ''/team/'' }) }); $(".calendar_month_prev").on("click", function() { ga(''send'', ''event'', ''button'', ''click'', ''Calendar: Prev month'', { ''page'': ''/team/'' }) }); $(".calendar_month_next").on("click", function() { ga(''send'', ''event'', ''button'', ''click'', ''Calendar: Next month'', { ''page'': ''/team/'' }) }); $(".calendar_day_selected").on("click", function() { ga(''send'', ''event'', ''button'', ''click'', ''Calendar: Same day reload'', { ''page'': ''/team/'' }) }); $(".calendar_day_active").on("click", function() { ga(''send'', ''event'', ''button'', ''click'', ''Calendar: Select day'', { ''page'': ''/team/'' }) }); });


Cuando se carga una página nueva, se cancelan las solicitudes pendientes en la página actual, en este caso, la solicitud de píxeles de seguimiento de análisis. ''async'' se refiere más a la carga del código de JavaScript analítico que al procesamiento de datos analíticos.

Con ga.js, un enfoque común es detener la propagación del evento click, enviar el evento y luego retrasarlo por una pequeña cantidad (150 ms) antes de seguir el enlace.

Con analytics.js, en lugar de un retraso, puede usar hitCallback para ejecutar el código después de que se hayan enviado los datos de análisis. Consulte Configuración de la devolución de llamada correcta en los documentos de Google Analytics


Sugeriría ejecutar un clic ficticio de anclaje después del registro exitoso del evento:

a.onclick = function(e){ var anchor = this; _gaq.push([''_trackEvent'', ''Category'',''event'',''label'']); _gaq.push(function() { var a = document.createElement(''a''); a.href = anchor.href; a.target = anchor.target; a.click(); }); return false; }

Como push funciona como una cola, tu solicitud de evento nunca se cancelará.


Como señaló Mike, debería usar una devolución de llamada exitosa en este caso. Además, también debe tener en cuenta que los usuarios pueden bloquear Google Analytics utilizando alguna herramienta de protección de privacidad como Ghostery, en cuyo caso la devolución de llamada no se ejecutará nunca. Por lo tanto, debe implementar esto con mucho cuidado para que su sitio continúe funcionando incluso para estos usuarios. El siguiente artículo explica cómo hacer esto correctamente:

http://veithen.github.io/2015/01/24/outbound-link-tracking.html