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.
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}}; } } }