Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

339
Vistas
GA4: la función de retroceso del navegador no funciona correctamente con gtag.js

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

  • MacOS Google Chrome modo incógnito, Safari
  • iOSGoogle Chrome, Safari
  • android google chrome

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(); } }, }); } }, }); });
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda