Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

107
Vistas
Actualice múltiples valores de productos con un dataLayer.push

Digamos que tengo la siguiente capa de datos:

 { ecommerce: { currencyCode: "USD", purchase: { actionField: { id: "1a6d5021", affiliation: "Online Store", revenue: 40, tax: 0, shipping: "", coupon: "" }, products: [ { name: "Product 1", id: "123", price: 40, category: null, quantity: 1, coupon: "disc10", type: "Service A" }, { name: "Product 4", id: "456", price: 40, category: null, quantity: 1, coupon: "disc10", type: "Service B" } ] } } }

Entonces, en la matriz de product , la category siempre tiene un valor null . ¿Cómo puedo impulsar el mismo valor como type respectivamente para cada producto, mientras dejo intacto todo lo demás en la capa de datos?

En última instancia, el resultado final que estoy tratando de lograr sería así:

 { ecommerce: { currencyCode: "USD", purchase: { actionField: { id: "1a6d5021", affiliation: "Online Store", revenue: 40, tax: 0, shipping: "", coupon: "" }, products: [ { name: "Product 1", id: "123", price: 40, category: "Service A", quantity: 1, coupon: "disc10", type: "Service A" }, { name: "Product 4", id: "456", price: 40, category: "Service B", quantity: 1, coupon: "disc10", type: "Service B" } ] } } }

Es fácil con un solo producto, pero no puedo encontrar cómo hacerlo cuando hay varios productos.

Gracias de antemano por tu ayuda.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Si entiendo correctamente su requisito, desea asignar el valor de tipo en la categoría para cada objeto de productos. En caso afirmativo, es sencillo.

Demostración de trabajo:

 const productObj = { ecommerce: { currencyCode: "USD", purchase: { actionField: { id: "1a6d5021", affiliation: "Online Store", revenue: 40, tax: 0, shipping: "", coupon: "" }, products: [{ name: "Product 1", id: "123", price: 40, category: null, quantity: 1, coupon: "disc10", type: "Service A" }, { name: "Product 4", id: "456", price: 40, category: null, quantity: 1, coupon: "disc10", type: "Service B" } ] } } }; productObj.ecommerce.purchase.products.forEach((obj) => obj.category = obj.type); console.log(productObj);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Hay dos opciones.

  1. Empuje todo el objeto de comercio electrónico nuevamente, con todos los campos configurados ahora. Da como resultado un poco de desorden en DL y ciertos problemas de tiempo que se deben tener en cuenta al implementar el seguimiento.

  2. Elimine/retrase el primer envío de comercio electrónico hasta que tenga toda la información y solo envíe el objeto de comercio electrónico una vez.

En la mayoría de los casos, 2 es la mejor opción. 1 puede justificarse cuando el evento que depende del objeto de comercio electrónico tiene que activarse antes de que las categorías estén disponibles para el front-end.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Probar

 function createCategoryFn(category) { return (properties) => { return { name: "", id: "", price: 0, category: category, quantity: 1, coupon: "", type: category, ...properties }; }; } const createSportsProduct = createCategoryFn('Sports'); const tennisProduct = createSportsProduct({ name: 'tennis racket', id: 1, price: 100 }); const basketballProduct = createSportsProduct({ name: 'basketball', id: 2, price: 100 }); console.log(tennisProduct); console.log(basketballProduct)
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda