Wed. Oct 9th, 2024

#GTMTips: Pruebe con múltiples URL en sus activadores


La belleza de #ConsejosGTMTal menos como yo los he imaginado, es que pueden ser muy simples o increíblemente complejos. Lo importante es que concept se transmite con suficiente claridad. Es por eso que muchos de estos consejos se originaron a partir de discusiones en nuestro Administrador de etiquetas de Google Comunidad de Google+el Foros de productosy en correspondencia privada por correo electrónico con personas que piden ayuda. El consejo de hoy, por ejemplo, surgió de un intercambio con Süleyman Okan, ¡así que gracias por la inspiración!

Este consejo le permite tomar una lista de URL aparentemente no relacionadas y agruparlas para que cualquier disparador determinado solo se lively si la URL de la página precise contiene una de estas cadenas de URL.


incógnita


El boletín informativo de Simmer

Suscríbete a la Boletín informativo de Simmer ¡Para recibir las últimas noticias y contenidos de Simo Ahava en tu bandeja de entrada de correo electrónico!

Consejo 55: Pruebe la URL de la página precise con una lista de cadenas de URL

En primer lugar, ¿por qué es necesario? Supongamos que tienes las siguientes URL y quieres que el activador solo se lively cuando la página en la que se encuentra el visitante coincida con una de estas:

  • /pagina/inicio de sesión.html
  • /acceso/
  • /mi-cuenta/
  • midominio.com/usuarios/signin/
  • midominio.co.uk/es/perfil/

Tu primer impulso sería crear un disparador que se parezca al siguiente. Esto no funcionaporque en un disparador con múltiples condiciones, Todas las condiciones deben coincidir.

Entonces, a menos que la URL precise se parezca a algo como http://www.midominio.com/customers/signin/login/my-account/mydomain.co.uk/en/profile/web page/login.htmlEste disparador no funcionará.

Una alternativa sería escribir una expresión common larga, ya que en las expresiones regulares se pueden indicar patrones opcionales con el símbolo de tubería (|):

URL de la página coincide con RegEx (ignorar mayúsculas y minúsculas) /web page/login.html|/login/|/mi-cuenta/|midominio.com/customers/signin/|midominio.co.uk/en/profile/

Pero el problema con este enfoque es que el disparador en sí se vuelve bastante difícil de mantener, ya que cualquier cambio requeriría profundizar en este único valor de campo.

La tercera opción sería crear un disparador para cada una de las variaciones de URL individualmente (o tal vez puedas ahorrar algo de esfuerzo agrupando URL lógicamente similares), pero esto es complicado de mantener tan pronto como tengas más de una etiqueta que necesite estos disparadores.

Entonces, mi sugerencia es aprovechar una Variable de JavaScript personalizada para comprobarlo con una lista de URL que usted proporciona y luego devolverá true si la URL precise contiene cualquiera de las cadenas de URL de la lista, o false De lo contrario, la variable podría tener el siguiente aspecto:

operate() {
  var urlsToTest = (
    '/web page/login.html',
    '/login/',
    '/my-account/',
    'mydomain.com/customers/signin/',
    'mydomain.co.uk/en/profile/'
  );
  
  for (var i = 0; i < urlsToTest.size; i += 1) {  
    if (doc.location.href.indexOf(urlsToTest(i)) > -1) {
      return true;
    }
  };

  return false;
}

Este código fue actualizado Gracias a David Porter en los comentarios a continuación. El código authentic tenía algunas fallas que impedían que esto funcionara.

En el urlsToTest matriz, proporciona una lista separada por comas de cadenas con las que desea probar la URL precise. Pueden ser solo rutas de páginas o incluso URL completas con protocolo, nombre de dominio, cadena de consulta y hash incluidos.

La variable recorre cada miembro de la lista y, si la URL de la página precise contiene alguna de estas cadenas de URL, la función retorna true.

Para incluir esto en tus activadores, todo lo que necesitas es algo como:

Aquí, he nombrado la variable {{URL es la página de inicio de sesión}}y puedes ver lo fácil que es agregar esto como condición de activación.

¡Y eso es todo! Hay muchas maneras de hacer que esto sea aún más útil, como cambiar de un método de cadena (indexOf()) a expresiones regulares (match()). De esta manera, tendrá más poder sobre cuestiones como la distinción entre mayúsculas y minúsculas, o si la URL debe coincidir con la cadena desde el principio, desde el ultimate o desde cualquier lugar.

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *