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

276
Visualizações
La función .closest devuelve 'indefinido' en Google Tag Manager pero funciona en la consola

Con la ayuda de nuestro desarrollador, hemos adjuntado atributos de datos a todos los elementos que queremos rastrear, pero con el siguiente código, el clic aterriza en la etiqueta a, pero quiero obtener el atributo de datos de la etiqueta p.

 <main id="content" class="page__content"> <div class="app-container page__content__wrapper"> <div class="page_content_block"> <p data-mng="mian-forgot-primary"> <a href="https://homepage.com">Text about the homepage</a> </p> </div> </div> </main>

La siguiente función funciona en la consola (navegador Brave y Chrome). Estoy simulando un clic como lo haría un usuario en el sitio, al hacer clic en el enlace. La función .closest() busca el DOM para la etiqueta p y desde allí debe extraer el atributo data-mng. En la consola, obtengo el resultado. Quiero el valor "mian-forgot-primary".

 $0.addEventListener('click', (e) => { e.preventDefault(); const a = e.target.closest('p'); const mng = a.getAttribute('data-mng'); console.log(mng); });

Luego intenté implementarlo como una función en Google Tag Manager como una variable javascript personalizada con la siguiente función. Al obtener una vista previa en Google Tag Manager y hacer clic en el enlace (la simulación de antes), obtengo el valor 'indefinido' y no veo por qué no funciona para mí.

Mirando la documentación, pensé que la función .closest() "atraviesa el elemento y sus padres hasta que encuentra un nodo que coincide con la cadena de selección proporcionada" .

 function(){ var gtmMng = event.target.closest('p').getAttribute('data-mng'); return gtmMng; }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

GTM no le brinda la exposición típica al evento que obtiene en sus devoluciones de llamadas de eventos normales. En su lugar, debe ir a sus variables GTM integradas y habilitar la opción Click Element var. Luego, puede usarlo como usaría event.target en el caso del desencadenador de clic.

También use el depurador de variables de vista previa de GTM para asegurarse de que no está ejecutando problemas de tiempo. Sin embargo, es poco probable con las reglas de clic, por lo que el código a continuación debería funcionar después de habilitar la var Elemento de clic.

 function(){ return {{Click Element}}.closest('p').dataset.mng; }

about 4 years ago · Juan Pablo Isaza 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