Uno de los conceptos más difíciles en Administrador de etiquetas de Google es el modelo de datosEn esencia, el modelo de datos es lo que utiliza Google Tag Supervisor para completar los datos. Variable de capa de datosPodrías sentirte tentado a pensar que es lo mismo que el dataLayer
matriz, pero no lo es.
El modelo de datos es una representación de las claves y valores que empujar en dataLayer
. Siempre que presione cualquier tecla dataLayer
GTM toma esta clave y actualiza la clave correspondiente en su modelo de datos con el nuevo valor o, en el caso de objetos y matrices, fusiona el valor antiguo y el nuevo.
En este #ConsejosGTMT Artículo, estoy completamente en deuda con Señor Jethro Nederhof de Snowflake Analytics. Publicó estos dos trucos en Medir la holguray le pregunté si le parecía bien que los publicara en mi weblog. Él accedió amablemente, lo cual no es sorprendente, ya que su generosidad también dio origen a nuestro artículo de coautoría sobre Seguimiento del comportamiento de navegación Hace unos meses.
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 85: Dos trucos sencillos para modelos de datos
Ambos consejos tienen que ver con la forma en que el modelo de datos procesa las claves y los valores que se le introducen.
El primer truco te permite prevenir fusión recursiva (útil en aplicaciones de página única donde no desea conservar valores introducidos en páginas anteriores, por ejemplo).
El segundo truco te permite acceder al estado precise del modelo de datos. Esto puede ser útil para varias cosas, pero especialmente si estás depurando tu configuración, puede ser útil ver todas las claves y valores que se encuentran actualmente en la tabla del modelo de datos.
Truco 1: Utilizar _clear: true
para evitar la fusión de las claves en el objeto
Digamos que estás enviando algunas impresiones de productos a dataLayer
El primer impulso se ve así:
window.dataLayer = window.dataLayer || ();
window.dataLayer.push({
merchandise: ({
sku: '123',
identify: 'Thick as a Brick'
},{
sku: '234',
identify: 'Aqualung'
})
});
En este punto, la clave merchandise
En el modelo de datos habría dos objetos que representan los productos que se enviaron. Si tuviera que crear una variable de capa de datos para merchandise
eso es lo que también obtendrías como valor de retorno de la variable.
Entonces digamos que el usuario se mueve a otra sección del sitio sin cargar una página (por lo que es una aplicación de una sola página), y en esa página solo hay una impresión de producto, por lo que el sitio ejecuta el siguiente código:
window.dataLayer = window.dataLayer || ();
window.dataLayer.push({
merchandise: ({
sku: '345',
identify: 'Near the Edge'
})
});
Sería de esperar que el modelo de datos ahora tuviera solo un producto en el merchandise
matriz, pero debido a cómo fusión recursiva funciona, el modelo de datos se ve así:
{
merchandise: ({
sku: '345',
identify: 'Near the Edge'
},{
sku: '234',
identify: 'Aqualung'
})
}
Como puede ver, el segundo producto del primer impulso persiste, porque el nuevo producto simplemente se fusionó con el antiguo. merchandise
formación.
Y aquí está La puntaPara evitar que se produzca esta fusión recursiva, debes presionar la tecla _clear
con el valor true
en el mismo objeto donde presionas las teclas no Quieren fusionarse con sus contrapartes. Por lo tanto, el segundo impulso se convierte en:
window.dataLayer = window.dataLayer || ();
window.dataLayer.push({
merchandise: ({
sku: '345',
identify: 'Near the Edge'
}),
_clear: true
});
Así que ahora la clave está en el merchandise
La matriz del modelo de datos solo tiene un objeto dentro.
Truco 2: Obtener la representación del objeto del estado precise del modelo de datos
Siempre puedes usar window.google_tag_manager('GTM-XXXXX').dataLayer.get(key)
para obtener el valor precise del valor dado key
del modelo de datos. Pero si quieres obtener el lleno Para conocer el contenido del modelo de datos precise, debe ejecutar el siguiente comando:
var dataModel = window.google_tag_manager('GTM-XXXXX').dataLayer.get({
cut up: perform() { return (); }
});
console.desk(dataModel);
Si ejecuta el comando anterior en la consola JavaScript de su navegador, debería ver una bonita vista de tabla del modelo de datos precise:
¡Qué manera tan sencilla de ver cuál es el estado precise!
Resumen
Seré el primero en admitirlo: estos son trucos muy técnicos y específicos. Probablemente no los necesitarás a diario, ni siquiera mensualmente, en tus implementaciones.
Sin embargo, creo firmemente que entender cómo funciona el modelo de datos Funciona es una de las claves para liberar el verdadero poder de Google Tag Supervisor.
Y, de nuevo, un enorme Gracias a Jethro Nederhof por revelar estos sencillos trucos. Se le atribuye todo el mérito por el contenido de este artículo.