Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

134
Visualizações
Obtener datos de un objeto dinámico en un evento de mi Datalayer

Solicito su ayuda, tengo problemas para capturar datos de un evento específico en mi capa de datos.

Entonces, tengo una encuesta emergente en mi sitio web. Estoy presionando las respuestas en mi capa de datos GTM como puede ver en la captura de pantalla a continuación: Respuesta básica sin llenar campos de área de texto

En la encuesta, hay 2 áreas de texto que no aparecen en la capa de datos si el usuario no las completa. Si el usuario completa el área de texto, tiene el siguiente resultado en la capa de datos: Respuesta básica con área de texto rellenada

Un usuario puede llenar 0, 1 o 2 áreas de texto.

Tenga en cuenta que el objeto userData.data no tiene la misma longitud según si el usuario está llenando áreas de texto o no.

Mi objetivo es enviar los datos que recibo en el objeto UserData.data a Google Analytics.

En GA quiero recibir datos como el siguiente ejemplo:

  • eventCategory: Campaign + eventLabel que podemos ver en la captura de pantalla
  • eventAction: datos clave de userData.data (por ejemplo, First_Time_On_Site o Purchasing_Factor o Type_content, etc.)
  • eventLabel: datos de valor de userData.data (por ejemplo, si eventAction = First_Time_On_Site, quiero recibir la respuesta a la pregunta, así que aquí "Sí" o "No" según lo que obtengamos de la capa de datos).

Estoy usando el siguiente código para obtener los datos, pero no obtengo lo que quiero.

 // When a campaign is started listen for answers, otherwise we're done if (action != "Campaign:Open") { return; } window.addEventListener("message", function (event) { // Listen to messages from the Usabilla Cloudfront domain if (!/d6tizftlrpuof\.cloudfront\.net/.test(event.origin)) { return; } try { var data = JSON.parse(event.data); // On the final page // if data type is not STRING then join and make a string before sending to GA if (data.type === "pageSwitch" && data.end) { for (var key in data.data) { if (typeof data.data[key] !== "string") { data.data[key] = data.data[key].join(", "); } ga( "ga_trackername" + ".send", "event", "Usabilla Campaign - " + label, // event category key, // event action data.data[key] // event label ); } } } catch (e) { // Ignore errors, usually JSON decode problems } }); } ); // End Sending event to GA

En este momento estoy recibiendo los datos de la Acción/Categoría/Etiqueta presente en mi evento de capa de datos. Mi objetivo es recibir los datos del objeto userData.data. ¿Alguien tiene alguna idea de actualizar este código para enviar los datos correctos?

Muchas gracias por tu ayuda aquí.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda