Estoy intentando activar un evento en GA4 con DTM (Adobe Dynamic Tag Management) para mi cliente. Puse el siguiente script1 en la sección <head> y el script2 en la parte superior de la sección <body>. El evento parece haberse disparado correctamente hasta ahora, ya que los clics y las vistas se cuentan en la página en tiempo real de Google Analytics y DebugView.
Pero cuando uso la función de retroceso del navegador después de hacer clic en <a>, poco después de navegar a la página anterior, navegué a la página actual nuevamente. Si presiono el navegador hacia atrás nuevamente, la pantalla pasa a la página 2 anterior.
Podría encontrar este problema en
Siempre que NO tenga el complemento js en su navegador, parece ocurrir. ¿Cómo puedo solucionar este problema?
Gracias por tu ayuda.
guion1
<!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-XXXXXXXXXX'); </script>script2
/** * google analytics setting */ jQuery(function ($) { if (typeof gtag === "undefined") { return; } gtag("config", "G-XXXXXXXXXX", { transport_type: "beacon" }); $("a[data-gaevent]").on({ click: function (event) { var href = $(this).attr("href"); var transitioned = false; var is_page_transition = href[0] !== "#" && $(this).attr("target") !== "_blank"; if (is_page_transition) { event.preventDefault(); setTimeout(pageTransition, 1000); } function pageTransition() { if (!transitioned) { transitioned = true; location.href = href; } } var tagStrings = $(this).data("gaevent"); var tagCount = 0; var tagOutput; var isDone = false; tagOutput = tagStrings.split(/\s+/); tagCount = tagOutput.length - 1; for (var i = 0; i <= tagCount; i++) { if (i === tagCount) { isDone = true; } sendGA(tagOutput[i], isDone); } function sendGA(gaEventTag, isDone) { gtag("event", "click_a", { eventAction: gaEventTag, eventLabel: gaEventTag.replace(/-.*$/, ""), eventCategory: location.href.replace(/#.*$/, ""), hitCallback: function () { if (is_page_transition && isDone) { pageTransition(); } }, }); } }, }); });