En primer lugar, soy nuevo en Google Tag Manager, así que pido disculpas por mi explicación.
Estoy tratando de implementar un Administrador de etiquetas de Google en mi sitio web. No estoy tratando de usar demasiadas funciones, pero lo principal que estoy tratando de hacer es cargar mi sitio web con un parámetro de cadena de consulta:
Ejemplo: ( clave y valor : www.myweb.com?key=key&value=value )
que luego estoy tratando de crear una función que inserte la clave y el valor en la capa de datos del Administrador de etiquetas de Google
He añadido el siguiente código:
$(document).ready(function (){ const urlSearchParams = new URLSearchParams(window.location.search); const params = Object.fromEntries(urlSearchParams.entries()); console.log(params) window.dataLayer = window.dataLayer || []; dataLayer.push({params.key:params.value}) //window.dataLayer.push({"Event":"dog"}) })Tengo un index.html y he agregado la secuencia de comandos principal y la secuencia de comandos del cuerpo del administrador de etiquetas de Google (la página está alojada en línea con Google Firebase). No estoy seguro de cómo enviar el valor clave a la capa de datos del Administrador de etiquetas de Google, pero lo principal es cuando lo envío, ¿dónde encuentro esta información en el Administrador de etiquetas de Google ? ¿Necesito crear una variable o algo en GLM ?
Gracias de antemano.
Por favor, hágamelo saber si necesita más información.
Esta no es una buena solución: al escribir su propia función javascript para capturar cadenas de consulta, básicamente está negando el propósito de GTM. En su lugar, use una variable de tipo "URL", establezca "tipo de componente" en "cadena de consulta" y en el campo de entrada "clave de consulta" ingrese el nombre de su parámetro.
Pero para responder a su pregunta (incluso si su enfoque para ese problema en particular no es bueno), sí, necesita crear una variable para leer datos de la capa de datos.
Primero empujas el valor a la capa de datos. El dataLayer es una matriz de objetos, por lo que "empuja" un nuevo objeto con pares clave/valor:
window.dataLayer = window.dataLayer || []; window.dataLayer.push({ "myDLKey":"myValue", "event":"updateMyDLKey" });Luego, en la sección "variables" de la interfaz GTM, crea una variable dataLayer con la clave cuyo valor desea recuperar.
Básicamente, no hay caso de uso para cambiar la versión de dataLayer. Puede especificar un valor predeterminado, en caso de que la clave no exista en la capa de datos, de lo contrario, la variable no estará definida.
Tenga en cuenta que debe enviar un evento junto con cualquier par clave/valor nuevo o actualizado, porque la clave "evento" le dice a GTM que actualice su estado interno; de lo contrario, los valores empujados serán inaccesibles.
Hay algunos eventos que ocurren "naturalmente", por ejemplo, no necesita un evento ab en la capa de datos para capturar valores con la variable de tipo Url, porque en la mayoría de los casos habrá un evento de carga de página (otros eventos "incorporados" están listos para DOM, ventana cargada, y haga clic y envíe si tiene alguna de las variables integradas de clic o formulario habilitadas).