Actualización de usuario
El componente Actualización de usuario te permite actualizar los atributos, eventos y compras de un usuario en un editor JSON, por lo que no es necesario incluir información sensible como claves de API.
Cómo funciona este componente

Cuando usas este componente en tu Canvas, las actualizaciones no cuentan para tu límite de velocidad de solicitudes por minuto de /users/track. En su lugar, estas actualizaciones se agrupan en lotes para que Braze pueda procesarlas de manera más eficiente que un webhook de Braze a Braze. Ten en cuenta que este componente no registra puntos de datos cuando se usa para actualizar puntos de datos no facturables (como los grupos de suscripción).
Después de que los usuarios entran en el paso de actualización de usuario y se completa el procesamiento, avanzan al siguiente paso. Esto significa que cualquier mensaje posterior que dependa de estas actualizaciones de usuario estará al día cuando se ejecute el siguiente paso.
Crear una actualización de usuario
Arrastra y suelta el componente desde la barra lateral, o selecciona el botón de suma en la parte inferior de la variante o paso y selecciona User Update.
Hay tres opciones que te permiten actualizar información existente del perfil de usuario, agregar nueva información o eliminar información del perfil de usuario. En conjunto, los pasos de User Update en un espacio de trabajo pueden actualizar hasta 200.000 perfiles de usuario por minuto.

También puedes probar los cambios realizados con este componente buscando un usuario y aplicándole el cambio. Esto actualiza al usuario.
Atributos personalizados
En el editor de interfaz, selecciona un nombre de atributo (existente o nuevo) y elige una Acción:
- Actualizar: Introduce el nuevo valor.
- Eliminar: Borra el atributo del perfil de usuario (no se requiere valor).
Puedes agregar hasta 10 atributos en un solo paso. Para eventos, compras, campos anidados u otros cambios complejos, usa el editor avanzado de JSON.
Aumentar y disminuir valores
El paso de User Update puede aumentar o disminuir el valor de un atributo. Selecciona el atributo, selecciona Increment By o Decrement By e introduce un número.
Seguimiento del progreso semanal
Al incrementar un atributo personalizado que rastrea un evento, puedes hacer seguimiento del número de clases que un usuario ha tomado en una semana. Usando este componente, el conteo de clases puede reiniciarse al inicio de la semana y comenzar a rastrear de nuevo.

Actualizar un array de objetos
Un array de objetos es un atributo personalizado rico en datos almacenado en el perfil de un usuario. Puedes usarlo para crear un historial de las interacciones del usuario con tu marca y para crear Segments basados en un campo calculado, como el historial de compras o el valor de duración del ciclo de vida total.
Usando la opción Advanced JSON Editor, puedes insertar JSON para agregar elementos o eliminar elementos de este array de objetos.
Caso de uso: Actualizar la lista de deseos de un usuario
Haz seguimiento de la lista de deseos de un usuario para que puedas segmentar o personalizar en función de los artículos guardados.
- Crea un atributo personalizado que sea un array de objetos, por ejemplo
wishlist. Cada objeto puede incluir campos comoproduct_id,product_nameyadded_at. - En el paso de User Update, selecciona Advanced JSON Editor. Luego, en la sección Compose, usa la operación
$addpara agregar un elemento o la operación$removepara eliminar un elemento por valor.
El siguiente es un ejemplo de cómo agregar un elemento a la lista de deseos:
{
"attributes": [
{
"wishlist": {
"$add": [
{
"product_id": "SKU-123",
"product_name": "Wireless Headphones",
"added_at": "{{'now' | date: '%Y-%m-%dT%H:%M:%S%z'}}"
}
]
}
}
]
}
Para eliminar un elemento, usa "wishlist": { "$remove": [ { "product_id": "SKU-123", ... } ] } con la misma estructura de objeto para que Braze pueda encontrarlo y eliminarlo.
Caso de uso: Calcular el total del carrito de compras
Haz seguimiento de cuándo un usuario tiene artículos en su carrito de compras, cuándo agrega nuevos artículos o elimina artículos, y cuál es el valor total del carrito de compras.
- Crea un array de objetos personalizado llamado
shopping_cart. El siguiente ejemplo muestra cómo puede verse este atributo. Cada artículo tiene unproduct_idúnico que tiene datos adicionales en su propio array de objetos anidado, incluyendoprice.
{
"attributes": [
{
"shopping_cart": [
{
"total_cart_value": number,
"shipping": number,
"items_in_cart": number,
"product_id": array,
"gift": boolean,
"discount_code": "enum",
"timestamp": {"$time" : "{{'now' | date: '%Y-%m-%dT%H:%M:%S%z'}}"}
}
]
}
]
}
- Crea un evento personalizado llamado
add_item_to_cartque se registre cuando un usuario agrega un artículo al carrito. - Crea un Canvas que se dirija a los usuarios que realizan este evento personalizado. Ahora, cuando un usuario agrega un artículo a su carrito, este Canvas se desencadena. Entonces puedes dirigir mensajes directamente a ese usuario, ofreciendo códigos de cupón cuando haya alcanzado un cierto gasto, haya abandonado su carrito durante cierto tiempo o cualquier otra cosa que se alinee con tu caso de uso.
El atributo shopping_cart contiene el total de muchos eventos personalizados: el costo total de todos los artículos, el número total de artículos en el carrito, si el carrito de compras contiene un regalo, y más. Esto puede verse algo como lo siguiente:
{
"attributes": [
{
"shopping_cart": [
{
"total_cart_value": 22.99,
"shipping": 4.99,
"items_in_cart": 2,
"product_id": ["1001", "1002"],
"gift": true,
"discount_code": "flashsale1000",
"timestamp": {"$time" : "{{'now' | date: '%Y-%m-%dT%H:%M:%S%z'}}"}
}
]
}
]
}
Persistir datos de entrada como atributo personalizado
Usa un paso de Actualización de usuario para copiar los datos de entrada de Canvas en un atributo personalizado, de modo que puedas segmentar o enviar mensajes con ellos después de que el usuario salga del Canvas. Los datos de entrada están disponibles en Liquid solo durante la duración del Canvas; Actualización de usuario los almacena en el perfil.
Por ejemplo, un Canvas de carrito abandonado puede establecer most_recent_cart_item a partir del ID del artículo en el evento desencadenante, y luego Campaigns posteriores pueden dirigirse de nuevo a ese artículo.
- En el editor de la interfaz de usuario, selecciona o crea el atributo (por ejemplo,
most_recent_cart_item). - Establece Action en Update y activa Use personalization.
- Inserta la propiedad de entrada desde el modal de personalización:
- Si tu espacio de trabajo muestra Context Variables, usa
{{context.${item_id}}}. - Si tu espacio de trabajo muestra Canvas Entry Properties, usa la versión heredada
{{canvas_entry_properties.${item_id}}}.
- Si tu espacio de trabajo muestra Context Variables, usa
Para más información sobre qué espacio de nombres usa tu espacio de trabajo, consulta Propiedades de contexto y de evento.
Personalización
Para almacenar datos de entrada del desencadenante como atributo, activa Use personalization e inserta la propiedad desde el modal de personalización. Actualización de usuario también admite las siguientes características de personalización:
- Contenido conectado
- Content Blocks
- Propiedades de contexto y de evento (o la versión heredada Propiedades de entrada persistentes de Canvas)
- Lógica de Liquid (incluida la cancelación de mensajes)
- Múltiples actualizaciones de atributos o eventos por objeto

Recomendamos usar con precaución la personalización de Liquid con contenido conectado en los pasos de Actualización de usuario, ya que este tipo de paso tiene un límite de velocidad de 200 000 solicitudes por minuto. Este límite de velocidad anula el límite de velocidad del Canvas.
Editor JSON avanzado
Añade un objeto JSON de atributo, evento o compra de hasta 65 536 caracteres al editor JSON. También se puede establecer el estado de la suscripción global y del grupo de suscripción de un usuario.

Con el editor JSON, también puedes previsualizar y probar que el perfil de usuario se actualiza con tus cambios en la pestaña Vista previa y prueba. Puedes seleccionar un usuario aleatorio o buscar un usuario específico. Luego, después de enviar una prueba a un usuario, consulta el perfil de usuario usando el enlace generado.

Consideraciones
No necesitas incluir datos sensibles como tu clave de API al usar el editor JSON, ya que la plataforma los proporciona automáticamente. Los siguientes campos no deben incluirse en el editor JSON:
- ID de usuario externo
- Clave de API
- URL del clúster de Braze
- Campos relacionados con la importación de tokens de notificaciones push

Las propiedades de Canvas (como las etiquetas de Liquid canvas_id, canvas_name y canvas_variant_name) no son compatibles con los pasos de actualización de usuario.
Registrar eventos personalizados
Con el editor JSON, también puedes registrar eventos personalizados. Ten en cuenta que esto requiere una marca de tiempo en formato ISO, por lo que es necesario asignar una hora y fecha con Liquid al inicio. Considera este ejemplo que registra un evento con una hora.
{% assign timestamp = 'now' | date: "%Y-%m-%dT%H:%M:%SZ" %}
{
"events": [
{
"name": "logged_user_event",
"time": "{{timestamp}}"
}
]
}
El siguiente ejemplo vincula un evento a una aplicación específica usando un evento personalizado con propiedades opcionales y el app_id.
{% assign timestamp = 'now' | date: "%Y-%m-%dT%H:%M:%SZ" %}
{
"events": [
{
"app_id": "insert_app_id",
"name": "rented_movie",
"time": "{{timestamp}}",
"properties": {
"release": {
"studio": "FilmStudio",
"year": "2022"
},
"cast": [
{
"name": "Actor1"
},
{
"name": "Actor2"
}
]
}
}
]
}
Editar el estado de suscripción
Dentro del editor JSON, también puedes editar el estado de suscripción de un usuario. Por ejemplo, a continuación se muestra el estado de suscripción de un usuario actualizado a opted_in.
{
"attributes": [
{
"email_subscribe": "opted_in"
}
]
}
Actualizar grupos de suscripción
También puedes actualizar grupos de suscripción usando este paso en Canvas. El siguiente ejemplo muestra cómo actualizar uno o más grupos de suscripción.
{
"attributes": [
{
"subscription_groups": [
{
"subscription_group_id": "subscription_group_identifier_1",
"subscription_state": "subscribed"
},
{
"subscription_group_id": "subscription_group_identifier_2",
"subscription_state": "subscribed"
},
{
"subscription_group_id": "subscription_group_identifier_3",
"subscription_state": "subscribed"
}
]
}
]
}