Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

348
Visualizações
¿Administrador de etiquetas de Google retrasa la carga de la ventana?

Tengo una página que dispara una llamada ajax al cargar

 $(window).load(function() { updateDeliverySlots(); });

También tengo javascript de Google Tag Manager en la parte superior de mi cuerpo (sé que la sugerencia actual es colocar esto en la sección principal , pero aún no hemos actualizado el código y no creo que esa sea la fuente del problema) ).

 <body> <!-- Google Tag Manager --> <noscript> <iframe src="//www.googletagmanager.com/ns.html?id=XXXX" height="0" width="0" style="display:none;visibility:hidden"> </iframe> </noscript> <script> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'}); var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:''; j.async=true; j.src='//www.googletagmanager.com/gtm.jsid='+i+dl;f.parentNode.insertBefore(j,f); }) (window,document,'script','dataLayer','XXXX'); </script> <!-- End Google Tag Manager --> .... </body>

Tengo un problema con una de las llamadas que hace un script incluido en una etiqueta GTM. Este script envía una solicitud a un tercero. Si la solicitud no se puede conectar por cualquier motivo (p. ej., el servidor está inactivo), mi función updateDeliverySlots() (y la llamada ajax en ella) no se activa hasta que se agota el tiempo de espera de la solicitud (60 segundos). También encuentro que la página todavía está 'cargando' (según los íconos del navegador).

¿Hay algo en mi implementación de GTM que estoy haciendo mal? Entendí que todo lo que se dispara en la parte posterior de las etiquetas de Google debería ser asíncrono y no tendría relación con la "preparación" de la página.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Los scripts sincrónicos deben recuperarse y ejecutarse cuando el procesamiento los alcance, los scripts asíncronos pueden ejecutarse en cualquier momento después de que el procesamiento los alcance.

Dependiendo del tiempo que esté fuera del control del servidor/páginas, un script asíncrono puede, por lo tanto:

  • agregue un recurso síncrono antes de que termine el documento, con un tiempo que retrase el evento de carga
  • agregue un recurso síncrono después de que se procese la página y no afecte el evento de carga.
  • agregue un recurso asíncrono que no debería afectar significativamente la página (a menos que a su vez agregue un recurso síncrono a la página)

Puede elegir una de varias opciones para resolver esto en GTM:

  1. arreglar los scripts personalizados para usar recursos asíncronos
  2. cambie el gatillo de disparo a page view -> window loaded
  3. reemplace los scripts con las etiquetas proporcionadas por Google (si están disponibles), ya que deben construirse para usar solo recursos asíncronos
  4. Bloquear scripts personalizados en GTM (lo que también evitará el seguimiento relacionado)

  5. Cambie async para diferir en su fragmento de GTM.

Es decir:

 <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-XXXXX');</script> <!-- End Google Tag Manager -->

Dado que esto mueve todo el proceso GTM después de que la página se analiza por completo, romperá las etiquetas "Google Optimizer" y el seguimiento de la página inicial.

over 4 years ago · Santiago Trujillo Relatório

0

Tuve el mismo problema y GTM realmente estaba retrasando la ejecución de otros scripts. Un pequeño cambio para cargarlo con jquery $(window).load resolvió el problema:

 <script>function loadgtm(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); };$(window).load(function(){loadgtm(window,document,'script','dataLayer','GTMID');});</script>
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda