es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Google Tag Manager – La variable parece indefinida

Estoy tratando de escribir un valor del DOM en una Variable de Google Tag Manager. Estoy utilizando la variable estándar “Elemento de clic”. El elemento que quiero rastrear es un elemento HTML con algunos atributos. Si permito que la variable se muestre en la consola, funciona perfectamente. Si devuelvo el mismo valor, el administrador de Google muestra “indefinido” en el modo de depuración.

¿Cuál podría ser el error?

Código:

function() {
    var e = {{Elemento de clic}};
    var namestr = e.dataset.src.split("/")[10];
    console.log(namestr); //funciona
    return namestr; //no funciona
}
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El problema está en el alcance de la variable “namestr”. Cuando se utiliza console.log, se muestra el valor de “namestr” en la consola dentro del alcance de la función. Sin embargo, cuando se intenta devolver el valor, el alcance de la variable se limita únicamente a la función y no se puede acceder a ella fuera de la misma.

    Para solucionar el problema, puedes intentar definir la variable “namestr” fuera de la función, convirtiéndola en una variable global accesible por otras funciones. O puedes intentar devolver directamente el valor del conjunto de datos sin almacenarlo en una variable. Por ejemplo:

    function() {
      return {{Click Element}}.dataset.src.split("/")[10];
    }
    

    De esta manera, la función devuelve directamente el valor del conjunto de datos sin almacenarlo en una variable, evitando así el problema de alcance.

Comments are closed.