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

150
Vistas
Javascript: reemplace el bucle con un problema de código js nativo para Google Tag Manager

Disculpas de antemano por mi ignorancia. He buscado en el sitio, pero no he tenido suerte.

En lugar de ingresar manualmente cada nombre de host a través de la interfaz de administración de GA, utilice la siguiente función JS en GTM para definir la lista de exclusiones (referencias de var), crear/comparar {{Referrer}} (métodos .exec, .test) entrantes y luego anular el {{Referrer}} si está en la lista, o lo deja pasar sin modificar a GA si no se encuentra ninguna coincidencia:

 function() { var referrals = [ 'domain_one.com', 'domain_two.com', 'domain_three.refer.com', 'store.domain_three.refer.com' ]; var hname = new RegExp('https?://([^/:]+)').exec({{Referrer}}); if (hname) { for (var i = referrals.length; i--;) { if (new RegExp(referrals[i] + '$').test(hname[1])) { return null; } } } return {{Referrer}}; }

Le envié el código a un desarrollador para recibir comentarios, y él sugirió reemplazar el ciclo for con esto (un reemplazo directo para el ciclo):

 if (referrals.find(function(referral) { return hname[1].includes(referral); })) { return null; } else { return {{ Referrer }};

Intenté hacerlo así:

 function() { var referrals = [ 'domain_one.com', 'domain_two.com', 'domain_three.refer.com', 'store.domain_three.refer.com' ]; var hname = new RegExp('https?://([^/:]+)').exec({{ Referrer }}); if (hname) { if (referrals.find(function(referral) { return hname[1].includes(referral); })) { return null; } else { return {{ Referrer }}; }

Cuando intento publicar esto en GTM, recibo errores de análisis y errores de variables sin referencia para {{Referrer}}.

Si alguien tiene algún comentario, estaría súper súper agradecido.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Uh... tu desarrollador no conoce la sintaxis de GTM. Ahora, para que esto funcione, es necesario que el desarrollador conozca la sintaxis de variables de GTM o que usted conozca JS, por lo que le sugiero que use su código anterior. Es mejor usar el código que entiende que el código que no podrá mantener.

Si aún desea usarlo, intente eliminar espacios de la referencia de variable.

Y olvidaste cerrar la cláusula else: else { return {{ Referrer }};} Y una vez más para cerrar el if externo... else { return {{ Referrer }};}}

Y ahora parece un desastre, así que prueba esto:

 function() { var referrals = [ 'domain_one.com', 'domain_two.com', 'domain_three.refer.com', 'store.domain_three.refer.com' ]; if (/https?:\/\/([^\/:]+)/i.test({{Referrer}})) { if (referrals.find(function (referral) { return hname[1].includes(referral); })) { return null; } else { return {{Referrer}}; } } }

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