Cuando creo una etiqueta html personalizada en Google Tagmanager, aparece este error:
Error del compilador de JavaScript Error de etiqueta de forma de tipo en la línea 11, carácter 22: esta función de lenguaje solo es compatible con el modo ECMASCRIPT6 o mejor: declaración const.
El mismo error ocurre para la línea 22.
Este es mi código:
<script> function formatDate(dt) { var y = ('00'+dt.getFullYear()).slice(-2); var m = ('00' + (dt.getMonth()+1)).slice(-2); var d = ('00' + dt.getDate()).slice(-2); var h = ('00' + dt.getHours()).slice(-2); var mm = ('00' + dt.getMinutes()).slice(-2); return (y + m + d + h + mm); } nowDate = formatDate(new Date()); const getAfbItem = `${nowDate}`; if (!window.dtlpcvCvConf) { window.dtlpcvCvConf = []; } window.dtlpcvCvConf.push({ siteId: "", commitData: { pid: "", amount: "", mid: "", u: `${getAfbItem}`, t:"", cvinfo:"1.1.1" } }); </script>Por favor, comparte tus pensamientos o cualquier consejo, ¡lo agradecería mucho! - gracias de antemano.
Los literales de plantilla (con `) se introdujeron en ES6.
Como solo lo está usando como ${<variable>} , probablemente esté bien con solo <variable> , no necesita ponerlo en un literal. Si aún no es una cadena, puede convertirla en una cadena con ""+<variable> .
const y let se introdujeron de manera similar en ES6, solo reemplácelos con var . Se comportan de forma ligeramente diferente, pero está bien para la mayoría de los casos de uso.
No estoy familiarizado con GTM, pero esto probablemente sea una restricción para llegar a la audiencia más amplia posible.