Wed. Jan 15th, 2025

#GTMTips: La misteriosa llamada .macro() en etiquetas HTML personalizadas


Al obtener una vista previa Etiquetas HTML personalizadas en Administrador de etiquetas de Google Es casi seguro que te has encontrado con una situación en la que… Variable GTM Aparece como un método JavaScript extraño que se parece a algo como esto:

google_tag_manager("GTM-ABCD123").macro(15)

¡Y esto es cuando esperabas que mostrara el valor actual resuelto!

No ayuda que de vez en cuando el modo de vista previa se muestre en correcto valor en el modo de vista previa.

¿Qué pasa con eso? Bueno, hay una explicación bastante lógica para esto. ¡Sigue leyendo!


X


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!

Empecemos con las buenas noticias.

Su etiqueta y el variables son más possible trabajando como deberían.

Cuando creas un Etiqueta HTML personalizada En Google Tag Supervisor, en realidad estás creando elementos HTML que se agregan al ultimate de la elemento cuando se activa la etiqueta.

Esto significa que si el elemento HTML que estás inyectando es un

En el ejemplo de código anterior, hay un método world window.someFunction a la que queremos pasar la variable {{Some Variable}}Sin embargo, no estamos seguros de cuál es su valor actual, ya que el modo de vista previa no es muy útil.

Por este motivo, registramos el valor de {{Some Variable}} en el consola de JavaScript del navegador.

Además, he creado una función auxiliar llamada log() que solo registra el valor en la consola si GTM está en modo de vista previa. De esta manera, evita que sus etiquetas escriban mensajes de registro arbitrarios en la consola del navegador en vivo.

3. Depurar la etiqueta resultado

Esta es la forma más difícil de comprobar si la variable funcionó o no. Lamentablemente, también es la mejor forma de hacerlo.

Cuando agrega JavaScript a una etiqueta HTML personalizada, debe hacer algoTal vez agregue algún texto a un elemento HTML, tal vez cree un nuevo píxel o una llamada Ajax, o tal vez envíe algo a dataLayer.

En cualquier caso, la mejor manera de asegurarse de si el .macro() La llamada resuelta a su valor correcto es para comprobar el producción o resultado de la etiqueta en sí para ver si el valor que la variable debía pasar se hizo correctamente.

Por ejemplo, digamos que su etiqueta crea una solicitud de píxel como esta:

<script>
  (perform() {
    var imgId = '?id=' + {{Container ID}};
    var imgUrl = 'https://www.somedomain.com/img' + imgId;
    var el = doc.createElement('img');
    el.src = imgUrl;
    doc.physique.appendChild(el);
  })();
script>

Es un ejemplo easy, casi sin sentido, pero debería servir para resaltar claramente el proceso de depuración.

La etiqueta crea un nuevo elemento de imagen cuya URL es https://www.somedomain.com/img más la cuerda ?id= concatenado con lo que sea devuelto por el {{Container ID}} variable.

Así es como se ve en el modo de vista previa:

Esto es lo que parece después Inyección en el panel Inspeccionar elementos:

¡Nota! Como puede ver, en Inspeccionar elementos, el elemento de script aún tiene el .macro() Llamada. Así es como funciona el navegador. GTM inyectó un elemento con la .macro() Llamada y esto es lo que se agregó a la página. Si recuerdas, el script no se ejecuta hasta DESPUÉS de la inyección.

Por último, puedes inspeccionar el Solicitudes de crimson para encontrar la solicitud de imagen con el ID en su lugar.

Además, porque la etiqueta hizo su propia pequeña inyección con doc.physique.appendChild(el)puedes encontrar el elemento de imagen al ultimate de by inspecting the weather on the web page.

Abstract

I hope this text has alleviated your issues. When you see a name to .macro() en el modo de vista previa de Google Tag Supervisor, no te preocupesEs lo que eres supuesto para ver.

GTM no resolverá las variables hasta que se haya inyectado la etiqueta HTML personalizada al ultimate de and the browser has begun to render any JavaScript between

Related Post

Leave a Reply

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