Thu. Dec 5th, 2024

#GTMTips: Cómo obtener el último valor de una variable de la capa de datos


Uno de Administrador de etiquetas de Google La característica más antigua y confiable es que se congela el estado de las variables de la capa de datos en el momento en que se produjo el evento desencadenante. Por lo tanto, todas las etiquetas que se activan en este desencadenante (y todas las variables que se resuelven en este evento desencadenante) siempre tendrán acceso al mismo valor de cada variable de la capa de datos.

Sin embargo, hay situaciones en las que esto no es bueno. Una de ellas es secuenciación de etiquetasy el otro es un escenario en el que desea ejecutar un código personalizado que debería acceder a el último Valor de la variable de la capa de datos en un momento dado después La etiqueta ya se ha activado. ¡Siga leyendo para ver un ejemplo!


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!

Consejo 98: Acceda al último valor de una variable de la capa de datos

Por ejemplo, digamos que su sitio tiene un detector de eventos personalizado Diseñado para detectar cuando el usuario está a punto de abandonar una página (usando el beforeunload evento personalizado). Sin embargo, solo desea enviar ese evento si el usuario cierra sesión, por alguna razón desconocida.

Así es como podría verse tu primer intento. Es una etiqueta HTML personalizada que se activa cuando la página se carga por primera vez con el Todas las páginas desencadenar.

<script>
  (perform() {
    window.addEventListener('beforeunload', perform() {
	  if ({{DLV - loginStatus}} === 'logged-out') {
  	    window.dataLayer.push({
	      occasion: 'userLeavesPages'
	    });
	  }
	});
  })();
script>

Ahora, cuando se activa la etiqueta HTML personalizada, beforeunload Se crea el oyente y el {{DLV – estado de inicio de sesión}} La variable se resuelve al valor que tenía cuando se activó la etiqueta.

Luego, cuando el usuario está a punto de abandonar la página cerrando el navegador o haciendo clic en un enlace, el beforeunload Se ejecuta la devolución de llamada y se verifica si este estado authentic de loginStatus está “desconectado”, en cuyo caso se ejecuta el dataLayer.push().

¿Ves el problema aquí? beforeunload El evento no se activa hasta que el usuario intenta salir de la página, pero {{DLV – estado de inicio de sesión}} se resuelve al valor que tenía cuando la etiqueta se ejecutó inicialmente. Si el loginStatus cambios Mientras el usuario esté en la página, no habrá diferencia. El valor inicial es el que se utiliza en el if... condición, lo que significa que correrá el riesgo de perder hits válidos debido a eso.

Entonces necesitamos un mecanismo que obtenga el valor de la variable de la capa de datos. cuando se ejecuta el código relevanteQueremos el if... condición para evaluar contra qué se basa el valor de loginStatus es en el momento de la beforeunload evento y no Cuando la etiqueta se ejecuta por primera vez.

Para ello, utilizamos un método JavaScript que está integrado en Google Tag Supervisor y nos permite hacer exactamente esto.

window.google_tag_manager({{Container ID}}).dataLayer.get('variableNameHere');

Recuerde habilitar el ID del contenedor variable incorporada para esto.

Este método sondea el inside de GTM. modelo de datos y obtiene el último valor de la variableNameHere Variable de capa de datos. Por lo tanto, para modificar el ejemplo authentic, esto es lo que queda:

<script>
  (perform() {
    window.addEventListener('beforeunload', perform() {
	  if (window.google_tag_manager({{Container ID}}).dataLayer.get('loginStatus') === 'logged-out') {
	    window.dataLayer.push({
		  occasion: 'userLeavesPage'
	    });
	  }
    });
  })();
script>

Ahora el if... Comprueba la condición de lo que el último valor de loginStatus es, y funcionará bien si el estado ha cambiado mientras el usuario está en la página precise.

Es un truco easy, pero puede resultar útil cuando se trabaja con la forma idiosincrásica de GTM de congelar el estado de la variable mientras dura cada evento desencadenante.

Related Post

Leave a Reply

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