Thu. Dec 26th, 2024

#GTMTips: Plantilla de variable del selector de capa de datos


Hay una nueva plantilla de variables personalizadas ¡en la ciudad! El Selector de capa de datos La plantilla le permite crear variables que tienen un carácter singular, excepcional (en Administrador de etiquetas de Google contexto, al menos) propósito:

Puede acceder a las claves y valores que estaban en el objeto insertado en dataLayer sí mismo. ¡Y eso es! Siga leyendo para comprender por qué esto podría resultar útil.


X


El boletín a fuego lento

Suscríbete al Boletín a fuego lento para recibir las últimas noticias y contenido de Simo Ahava en su bandeja de entrada de correo electrónico.

Consejo 123: acceso directo a dataLayer.push()

Si conoces tu Variable de capa de datossabrás que viene dos versiones.

Versión 2que es el valor predeterminado, le permite acceder a cualquier tecla presionada en cualquier momento en dataLayer con notación de puntos. ¿La captura? Todas las claves se fusionan en un solo objeto (el modelo de datos), y las claves que almacenan valores primitivos que no son objetos pueden sobrescribirse entre sí.

Entonces hay Versión 1que le permite acceder a las claves que se insertaron en dataLayerpero ignora cualquier combinación, por lo que solo accede a los valores de cada clave del *más reciente dataLayer.push(). ¿La captura? Bueno, no puedes usar notación de puntos para acceder a estructuras anidadas.

Pero a estos tipos de acceso les falta una cosa. ¿Qué pasa si quieres acceder a todos? y solo las llaves que estaban en el dataLayer.push() ¿Eso provocó que la variable fuera evaluada?

Por ejemplo, think about este escenario. Primero, hay un dataLayer.push() como esto:

window.dataLayer.push({
  occasion: 'user_login',
  userId: '12345',
  e-mail: '(e-mail protected)'
});

Luego nuevamente en la misma página, esto:

window.dataLayer.push({
  occasion: 'user_login',
  userId: '23456'
});

Entonces el usuario inició sesión dos veces con diferentes ID de usuario. Quizás fue una computadora compartida o algo así. Pero el segundo empujón no no tener el e-mail llave.

Ahora, para el segundo impulso, si usó una variable DataLayer para verificar si e-mail tiene un valor, volvería '(e-mail protected)' tanto para la versión 1 como para la versión 2 de la variable de capa de datos, porque a la variable de capa de datos no le importa cuál fue la composición de cualquier inserción en explicit; en cambio, le importa qué claves y valores fueron en ese empujón.

Ocasionalmente podríamos querer saber si una clave estaba o no en el mismo objeto que el occasion que activó la etiqueta precise. Y para ello he creado el Selector de capa de datos plantilla variable.

Una vez que lo descargues de la Galería de plantillas de la comunidad, podrás crear una nueva variable con él. La variable acaba de dos opciones configurables.

Puedes hacer que recupere el objeto enterolo que significa que la variable devuelve el objeto que contenía el occasion clave que provocó que la variable fuera evaluada.

También puede hacer que recupere el valor de un propiedad específicalo que significa que la variable devuelve el valor de la propiedad, si se encuentra dentro del objeto enviado.

El acceso a la propiedad comprende la notación de puntos, por lo que primero intentará analizar la estructura del objeto para encontrar el valor al ultimate de la ruta de la notación de puntos (por ejemplo, {guardian: {little one: 'worth'}}). Si no se logra ninguna coincidencia, intenta acceder a la propiedad directamente utilizando la cadena con puntos (p. ej. {'guardian.little one': 'worth'}).

La plantilla también funciona con objetos insertados en dataLayer por otras plantillas personalizadas.

Resumen

Esta es probablemente una variable de nicho para la mayoría, pero tiene sus usos.

Google Tag Supervisor ha creado una abstracción maravillosa con su modelo de datos y la variable de capa de datos, pero en ocasiones desea un acceso atómico a la dataLayer.push() sí mismo.

Esto es particularmente conmovedor en escenarios donde la implementación no funciona o es un trabajo en progreso, y las “fugas clave” como la descrita en el ejemplo anterior son comunes. En esos casos, podría ser más fácil acceder directamente a la matriz en lugar de utilizar el modelo de datos de GTM.

Advertencia: si tienes eliminado el artículo de la dataLayer matriz, no es recuperable por esta plantilla de variable. En ese punto, la única forma de acceder al valor eliminado es utilizando la variable de capa de datos, ya que eliminar el elemento de la dataLayer array no lo elimina del modelo de datos de GTM.

Related Post

Leave a Reply

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