Objeto de compra
Este artículo explica los distintos componentes de un objeto de compra, cómo utilizarlo correctamente, las mejores prácticas y ejemplos en los que inspirarse.
Los planes para eliminar gradualmente el evento de compra se anunciarán en 2026. El evento de compra acabará siendo sustituido por los nuevos eventos recomendados de comercio electrónico, que incluirán características mejoradas para la segmentación, la elaboración de informes, el análisis y mucho más. Sin embargo, los nuevos eventos de comercio electrónico no admitirán las características existentes relacionadas con el evento de compra, como el valor de duración del ciclo de vida (LTV) o los informes de ingresos en Canvas o campañas. Para obtener una lista completa de las características relacionadas con los eventos de compra, consulta Registro de eventos de compra.
¿Qué es un objeto de compra?
Un objeto de compra es un objeto que se pasa a través de la API cuando se ha realizado una compra. Cada objeto de compra está ubicado dentro de una matriz de objetos de compra, siendo cada objeto una única compra realizada por un usuario concreto en un momento determinado. El objeto de compra tiene muchos campos diferentes que permiten al backend de Braze almacenar y utilizar esta información para la personalización, la recopilación de datos y la personalización.
Cuerpo del objeto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
// One of "external_id" or "user_alias" or "braze_id" or "email" or "phone" is required.
"external_id" : (optional, string) External user ID,
"user_alias" : (optional, User Alias Object) User alias object,
"braze_id" : (optional, string) Braze user identifier,
"email": (optional, string) User email address,
"phone": (optional, string) User phone number,
"app_id" : (optional, string) see App Identifier,
// See the following product_id naming conventions for clarification.
"product_id" : (required, string) identifier for the purchase, for example, Product Name or Product Category,
"currency" : (required, string) ISO 4217 Alphabetic Currency Code,
//Revenue from a purchase object is calculated as the product of quantity and price.
"price" : (required, float) value in the base currency unit (for example, Dollars for USD, Yen for JPY),
"quantity" : (optional, integer) the quantity purchased (defaults to 1, must be <= 100 -- currently, Braze treats a quantity _X_ as _X_ separate purchases with quantity 1),
"time" : (required, datetime as string in ISO 8601) Time of purchase,
// See the following purchase object explanation for clarification.
"properties" : (optional, Properties Object) properties of the event,
// Setting this flag to true puts the API in "Update Only" mode.
// When using a "user_alias", "Update Only" mode is always true.
"_update_existing_only" : (optional, boolean)
}
- ID usuario externo
- Identificador de la aplicación
- Wiki de código de divisa ISO 4217
- Wiki de código de hora ISO 8601
Algunos pares de identificadores no se pueden utilizar juntos, yemail tiene prioridad sobrephone cuando se proporcionan ambos. Para obtener más información, consulta Resolución de identificadores.
Comprar ID del producto
Dentro del objeto de compra, el product_id es un identificador de la compra (como Product Name o Product Category):
- Braze te permite almacenar hasta 5000
product_iden el panel. - La dirección
product_idpuede tener hasta 255 caracteres.
Convenciones de denominación
En Braze, ofrecemos algunas convenciones generales de nomenclatura para el objeto de compra product_id. Al elegir product_id, Braze sugiere utilizar nombres simplistas como el nombre del producto o la categoría del producto (en lugar de SKU) con la intención de agrupar todos los artículos registrados por este product_id.
Esto ayuda a que los productos sean más fáciles de identificar para la segmentación y la activación.
Registrar las compras a nivel de pedido
Si quieres registrar las compras a nivel de pedido en lugar de a nivel de producto, puedes utilizar el nombre del pedido o la categoría del pedido como product_id (como Online Order o Completed Order).
Por ejemplo, para registrar compras a nivel de pedido en el SDK Web:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
POST https://YOUR_REST_API_URL/users/track
Content-Type: application/json
Authorization: Bearer YOUR-REST-API-KEY
{
"purchases" : [
{
"external_id" : "user1",
"app_id" : "11ae5b4b-2445-4440-a04f-bf537764c9ad",
"product_id" : "Completed Order",
"currency" : "USD",
"price" : 219.98,
"time" : "2013-07-16T19:20:30+01:00",
"properties" : {
"products" : [ { "name": "Monitor", "category": "Gaming", "product_amount": 19.99, },
{ "name": "Gaming Keyboard", "category": "Gaming ", "product_amount": 199.99, }
]
}
}
]
}
Objeto propiedades de compra
Los eventos personalizados y las compras pueden tener propiedades del evento. Los valores de las “propiedades” deben ser un objeto en el que las claves son los nombres de las propiedades y los valores son los valores de las propiedades. Los nombres de propiedad deben ser cadenas no vacías de menos o igual a 255 caracteres, sin signos de dólar al principio.
Los valores de propiedad pueden ser cualquiera de los siguientes tipos de datos:
| Tipo de datos | Descripción |
|---|---|
| Números | Como números enteros o flotantes |
| Booleanos | |
| Fechas y horas | Formateados como cadenas en formato ISO-8601 o yyyy-MM-dd'T'HH:mm:ss:SSSZ. No se admite dentro de matrices. |
| Cadenas | 255 caracteres o menos. |
| Matrices | Las matrices no pueden incluir fechas. |
| Objetos | Los objetos se ingieren como cadenas. |
Los objetos de propiedades del evento que contienen valores de matrices u objetos pueden tener una carga útil de propiedades del evento de hasta 50 KB.
Propiedades de la compra
Las propiedades de la compra pueden utilizarse para desencadenar mensajes y para la personalización mediante Liquid, permitiéndote también segmentar en función de estas propiedades.
Convenciones de denominación
Es importante tener en cuenta que esta característica se activa por producto, no por compra. Por ejemplo, si tienes un gran volumen de productos distintos, pero todos tienen las mismas propiedades, la segmentación puede ser innecesaria.
En esta instancia, recomendamos utilizar nombres de productos a «nivel de grupo» en lugar de identificadores a nivel de transacción al configurar las estructuras de datos. Por ejemplo, una empresa de billetes de tren debería tener productos para “viaje de ida”, “viaje de vuelta”, “multiciudad”, y no transacciones específicas como “transacción 123” o “transacción 046”. Como otro ejemplo, con el evento de compra «comida», lo mejor sería establecer las propiedades como «pastel» y «sándwich».
Ten en cuenta que los productos se pueden añadir a través de la API REST de Braze. Por ejemplo, si envías una llamada al/users/track punto final e incluyes un nuevo ID de compra, Braze crea automáticamente un producto en la sección Configuración de datos > Productos del panel de Braze.
Ejemplo de objeto de compra
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
POST https://YOUR_REST_API_URL/users/track
Content-Type: application/json
Authorization: Bearer YOUR-REST-API-KEY
{
"purchases" : [
{
"external_id" : "user1",
"app_id" : "11ae5b4b-2445-4440-a04f-bf537764c9ad",
"product_id" : "backpack",
"currency" : "USD",
"price" : 40.00,
"time" : "2013-07-16T19:20:30+01:00",
"properties" : {
"color" : "red",
"monogram" : "ABC",
"checkout_duration" : 180,
"size" : "Large",
"brand" : "Backpack Locker"
}
},
{
"external_id" : "user1",
"app_id" : "11ae5b4b-2445-4440-a04f-bf537764c9ad",
"product_id" : "pencil",
"currency" : "USD",
"price" : 2.00,
"time" : "2013-07-17T19:20:20+01:00",
"properties" : {
"number" : 2,
"sharpened" : true
}
},
{
"user_alias" : { "alias_name" : "device123", "alias_label" : "my_device_identifier"},
"app_id" : "11ae5b4b-2445-4440-a04f-bf537764c9ad",
"product_id" : "pen",
"currency" : "USD",
"price" : 2.50,
"time" : "2013-07-17T19:20:20+01:00",
"properties" : {
"color" : "blue",
}
}
]
}
Objetos de compra, objetos de evento y webhooks
Utilizando el ejemplo proporcionado, podemos ver que alguien compró una mochila con las propiedades: color, monograma, duración de la compra, tamaño y marca. A continuación, podemos crear segmentos con estas propiedades utilizando las propiedades del evento de compra o enviar mensajes personalizados a través de un canal utilizando Liquid. Por ejemplo: “Hola, Ann F., gracias por comprar esa mochila roja mediana por ** 40,00 dólares. Gracias por comprar en **Backpack Locker”.
Si quieres guardar, almacenar y hacer un seguimiento de las propiedades para segmentar, tienes que configurarlas como atributos personalizados. Esto puede hacerse utilizando las extensiones de segmento, que te permiten dirigirte a los usuarios basándote en un evento personalizado o en el comportamiento de compra almacenado durante toda la vida de ese perfil de usuario.
Editar esta página en GitHub