Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

147
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!