Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

129
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!