Eventos recomendados en eCommerce
Esta página cubre los eventos y propiedades recomendados para el comercio electrónico. Estos eventos se crean para captar los comportamientos de compra clave que los especialistas en marketing necesitan para desencadenar una mensajería eficaz, como la dirigida a los carritos abandonados.
important:
Los eventos recomendados por eCommerce están actualmente en acceso anticipado. Ponte en contacto con tu administrador del éxito del cliente de Braze si estás interesado en participar en este acceso anticipado.
Si utilizas el nuevo conector de Shopify, estos eventos recomendados estarán disponibles automáticamente a través de la integración.
Braze reconoce que la planificación de datos lleva tiempo. Animamos a nuestros clientes a que familiaricen a sus equipos de desarrolladores y empiecen ya a enviar estos eventos. Aunque algunas características pueden no estar disponibles inmediatamente con los eventos recomendados para el comercio electrónico, puedes esperar la introducción de nuevos productos a lo largo de 2025 que mejorarán tus capacidades de comercio electrónico.
Tipos de eventos recomendados para el comercio electrónico
important:
The plans to phase out the purchase event will be announced in late 2025. In the long run, the purchase event will be replaced by new eCommerce recommended events, which will come with enhanced features for segmentation, reporting, analytics, and more. However, the new eCommerce events will not support existing features related to the purchase event, such as Lifetime Value (LTV) or revenue reporting in Canvases or campaigns. For a complete list of features related to purchase events, refer to Logging purchase events.
Cualquier divisa que no sea USD se mostrará en Braze en USD según la tasa de cambio de la fecha en que se informó. Para evitar la conversión de divisas, codifícalas en USD.
Puedes utilizar el evento producto visto para desencadenar el evento cuando un cliente vea la página de detalles de un producto.
Propiedades
| Nombre de la propiedad |
Necesario |
Tipo de datos |
Descripción |
product_id |
Sí |
Cadena |
Un identificador único del producto visualizado. Para los clientes que no son de Shopify, será el valor que establezcas para los ID de artículos de catálogo, como las SKU. |
product_name |
Sí |
Cadena |
El nombre del producto visualizado. |
variant_id |
Sí |
Cadena |
Un identificador único para la variante del producto. Un ejemplo es shirt_medium_blue |
image_url |
No |
Cadena |
URL de la imagen del producto. |
product_url |
No |
Cadena |
URL a la página del producto para más detalles. |
price |
Sí |
Flotador |
El precio unitario variante del producto en el momento de verlo. |
currency |
Sí |
Cadena |
La moneda en la que se indica el precio del producto (como “USD” o “EUR”) en formato ISO 4217. |
source |
Sí |
Cadena |
Fuente de la que procede el evento. (Para Shopify, es el escaparate). |
metadata |
No |
Objeto |
|
type |
No |
Objeto |
Funciona con notificaciones de reposición de existencias y notificaciones de bajada de precios. |
sku |
No |
Cadena |
(sólo Shopify) SKU de Shopify. Puede configurarse como campo ID del catálogo. |
Ejemplos de objetos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| braze.logCustomEvent("ecommerce.product_viewed", {
"product_id": "4111176",
"product_name": "Torchie runners",
"variant_id": "4111176700",
"image_url": "https://braze-apparel.com/images/products/large/torchie-runners.jpg",
"product_url": "https://braze-apparel.com/footwear-categories/sneakers/braze-orange-torchie-runners/",
"price": 85,
"currency": "GBP",
"source": "https://braze-apparel.com/",
"metadata": {
"sku": "",
"color": "ORANGE",
"size": "6",
"brand": "Braze"
}
});
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| BrazeProperties properties = new BrazeProperties()
.addProperty("product_id", "4111176")
.addProperty("product_name", "Torchie runners")
.addProperty("variant_id", "4111176700")
.addProperty("image_url", "https://braze-apparel.com/images/products/large/torchie-runners.jpg")
.addProperty("product_url", "https://braze-apparel.com/footwear-categories/sneakers/braze-orange-torchie-runners/")
.addProperty("price", 85)
.addProperty("currency", "GBP")
.addProperty("source", "https://braze-apparel.com/")
.addProperty("metadata", new JSONObject()
.put("sku", "")
.put("color", "ORANGE")
.put("size", "6")
.put("brand", "Braze"));
Braze.getInstance(context).logCustomEvent("ecommerce.product_viewed", properties);
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| let properties: [String: Any] = [
"product_id": "4111176",
"product_name": "Torchie runners",
"variant_id": "4111176700",
"image_url": "https://braze-apparel.com/images/products/large/torchie-runners.jpg",
"product_url": "https://braze-apparel.com/footwear-categories/sneakers/braze-orange-torchie-runners/",
"price": 85,
"currency": "GBP",
"source": "https://braze-apparel.com/",
"metadata": [
"sku": "",
"color": "ORANGE",
"size": "6",
"brand": "Braze"
]
]
AppDelegate.braze?.logCustomEvent(name: "ecommerce.product_viewed", properties: properties)
|
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
| {
"events": [
{
"external_id": "user_id",
"app_id": "your_app_identifier",
"name": "ecommerce.product_viewed",
"time": "2024-01-15T09:03:45Z",
"properties": {
"product_id": "4111176",
"product_name": "Torchie runners",
"variant_id": "4111176700",
"image_url": "https://braze-apparel.com/images/products/large/torchie-runners.jpg",
"product_url": "https://braze-apparel.com/footwear-categories/sneakers/braze-orange-torchie-runners/",
"price": 85,
"currency": "GBP",
"source": "https://braze-apparel.com/",
"metadata": {
"sku": "",
"color": "ORANGE",
"size": "6",
"brand": "Braze"
}
"type": [
"price_drop",
"back_in_stock"
]
}
}
]
}
|
Puedes utilizar el evento de actualización del carrito para hacer un seguimiento de cuándo se añaden, eliminan o actualizan productos en el carrito. El evento ecommerce.cart_updated verifica la siguiente información antes de desencadenarse:
- La hora del evento es mayor que la hora de
updated_at para el carro específico del usuario.
- El carrito no ha pasado al proceso de pago.
- La matriz
products no está vacía.
Objeto mapeado de carros
El evento ecommerce.cart_updated tiene un objeto mapeado de carros. Este objeto se crea para el perfil de usuario que contiene un mapeado de carritos, que contiene todos los productos del carrito del comprador. Puedes acceder a los productos de su cesta de la compra a través de la etiqueta de Liquid:
1
2
3
| {% shopping_cart {{context_properties.${cart_id}}} %}
{% for item in shopping_cart.products %}
{% catalog_items <add_your_catalog> {{item.variant_id}} %}
|
Si un carrito no se ha actualizado y pasado a un evento de pedido realizado en 10 días, eliminaremos el carrito y los productos asociados.
note:
Los productos por carrito no están limitados en Braze. Sin embargo, el límite de Shopify es de 500.
Comportamiento del carro al fusionar perfiles de usuario
Si hay dos carros, añade ambos al usuario fusionado. Vuelve a poner en cola el Canvas si se trata del mismo carrito o de un carrito diferente para enviar un mensaje con la información más reciente del carrito. El evento ecommerce.cart_updated contendrá el ID del carrito durado y los productos durados del carrito.
Propiedades
| Nombre de la propiedad |
Necesario |
Tipo de datos |
Descripción |
cart_id |
Sí |
Cadena |
Identificador único del carrito. Si no se pasa ningún valor, determinaremos un valor predeterminado (compartido entre los eventos de carrito, pago y pedido) para el mapeado del carrito del usuario. |
total_value |
Sí |
Flotador |
Valor monetario total del carro. |
currency |
Sí |
Cadena |
La moneda en la que se indica el precio del producto (como “USD” o “EUR”) en formato ISO 4217. |
products |
Sí |
Matriz |
|
product_id |
Sí |
Cadena |
Un identificador único del producto visualizado. Este valor puede ser el ID o el SKU del producto. |
product_name |
Sí |
Cadena |
El nombre del producto visualizado. |
variant_id |
Sí |
Cadena |
Un identificador único para la variante del producto. Un ejemplo es shirt_medium_blue |
image_url |
No |
Cadena |
URL de la imagen del producto. |
product_url |
No |
Cadena |
URL a la página del producto para más detalles. |
quantity |
Sí |
Entero |
Número de unidades del producto en el carrito. |
price |
Sí |
Flotador |
El precio unitario variante del producto en el momento de verlo. |
metadata |
No |
Objeto |
Campo de metadatos adicional sobre el producto que el cliente quiere añadir para sus casos de uso. Para Shopify, añadiremos SKU. Esto tendrá un límite basado en nuestro límite general de propiedades del evento de 50kb. |
sku |
No |
Cadena |
(sólo Shopify) SKU de Shopify. Puede configurarse como campo ID del catálogo. |
source |
Sí |
Cadena |
Fuente de la que procede el evento. (Para Shopify, es el escaparate). |
metadata |
No |
Objeto |
Campo de metadatos adicional sobre el producto que el cliente quiere añadir para sus casos de uso. Para Shopify, añadiremos SKU. Esto tendrá un límite basado en nuestro límite general de propiedades del evento de 50kb. |
Ejemplos de objetos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| braze.logCustomEvent("ecommerce.cart_updated", {
"cart_id": "cart_12345",
"currency": "USD",
"total_value": 199.98,
"products": [
{
"product_id": "8266836345064",
"product_name": "Classic T-Shirt",
"variant_id": "44610569208040",
"image_url": "https://braze-apparel.com/images/tshirt-blue-medium.jpg",
"product_url": "https://braze-apparel.com/products/classic-tshirt?variant=44610569208040",
"quantity": 2,
"price": 99.99,
"metadata": {
"sku": "TSH-BLU-M",
"color": "BLUE",
"size": "Medium",
"brand": "Braze"
}
}
],
"source": "https://braze-apparel.com",
"metadata": {}
});
|
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
| JSONArray products = new JSONArray();
JSONObject product = new JSONObject()
.put("product_id", "8266836345064")
.put("product_name", "Classic T-Shirt")
.put("variant_id", "44610569208040")
.put("image_url", "https://braze-apparel.com/images/tshirt-blue-medium.jpg")
.put("product_url", "https://braze-apparel.com/products/classic-tshirt?variant=44610569208040")
.put("quantity", 2)
.put("price", 99.99)
.put("metadata", new JSONObject()
.put("sku", "TSH-BLU-M")
.put("color", "BLUE")
.put("size", "Medium")
.put("brand", "Braze"));
products.put(product);
BrazeProperties properties = new BrazeProperties()
.addProperty("cart_id", "cart_12345")
.addProperty("currency", "USD")
.addProperty("total_value", 199.98)
.addProperty("products", products)
.addProperty("source", "https://braze-apparel.com")
.addProperty("metadata", new JSONObject());
Braze.getInstance(context).logCustomEvent("ecommerce.cart_updated", properties);
|
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
| let products: [[String: Any]] = [
[
"product_id": "8266836345064",
"product_name": "Classic T-Shirt",
"variant_id": "44610569208040",
"image_url": "https://braze-apparel.com/images/tshirt-blue-medium.jpg",
"product_url": "https://braze-apparel.com/products/classic-tshirt?variant=44610569208040",
"quantity": 2,
"price": 99.99,
"metadata": [
"sku": "TSH-BLU-M",
"color": "BLUE",
"size": "Medium",
"brand": "Braze"
]
]
]
let properties: [String: Any] = [
"cart_id": "cart_12345",
"currency": "USD",
"total_value": 199.98,
"products": products,
"source": "https://braze-apparel.com",
"metadata": [:]
]
AppDelegate.braze?.logCustomEvent(name: "ecommerce.cart_updated", properties: properties)
|
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
| {
"events": [
{
"external_id": "user_id",
"app_id": "your_app_identifier",
"name": "ecommerce.cart_updated",
"time": "2024-01-15T09:15:30Z",
"properties": {
"cart_id": "cart_12345",
"currency": "USD",
"total_value": 199.98,
"products": [
{
"product_id": "8266836345064",
"product_name": "Classic T-Shirt",
"variant_id": "44610569208040",
"image_url": "https://braze-apparel.com/images/tshirt-blue-medium.jpg",
"product_url": "https://braze-apparel.com/products/classic-tshirt?variant=44610569208040",
"quantity": 2,
"price": 99.99,
"metadata": {
"sku": "TSH-BLU-M",
"color": "BLUE",
"size": "Medium",
"brand": "Braze"
}
}
],
"source": "https://braze-apparel.com",
"metadata": {}
}
}
]
}
|
Puedes utilizar el evento de pago iniciado para reorientar a los clientes que han iniciado el proceso de pago pero no han realizado un pedido.
Similar al evento ecommerce.cart_updated, este evento te permite aprovechar la etiqueta de Liquid del carrito de la compra para acceder a todos los productos de su carrito para los mensajes de pago abandonado:
1
2
3
| {% shopping_cart {{context_properties.${cart_id}}} :abort_if_not_abandoned false %}
{% for item in shopping_cart.products %}
{% catalog_items <add_your_catalog> {{item.variant_id}} %}
|
Propiedades
| Nombre de la propiedad |
Necesario |
Tipo de datos |
Descripción |
checkout_id |
Sí |
Cadena |
Identificador único de la caja. |
cart_id |
No |
Cadena |
Identificador único del carrito. Si no se pasa ningún valor, determinaremos un valor predeterminado (compartido entre los eventos de carrito, pago y pedido) para el mapeado del carrito del usuario.. |
total_value |
Sí |
Flotador |
Valor monetario total del carro. |
currency |
Sí |
Cadena |
Moneda en la que se valora el carro. |
products |
Sí |
Matriz de objetos |
|
product_id |
Sí |
Cadena |
Un identificador único del producto visualizado. Por ejemplo, este valor podría ser el ID o la SKU del producto. |
product_name |
Sí |
Cadena |
El nombre del producto visualizado. |
variant_id |
Sí |
Cadena |
Un identificador único para la variante del producto. Un ejemplo es shirt_medium_blue |
image_url |
No |
Cadena |
URL de la imagen del producto. |
product_url |
No |
Cadena |
URL a la página del producto para más detalles. |
quantity |
Sí |
Entero |
Número de unidades del producto en el carrito. |
price |
Sí |
Flotador |
El precio unitario variante del producto en el momento de verlo. |
metadata |
No |
Objeto |
Campo de metadatos adicional sobre el producto que el cliente quiere añadir para sus casos de uso. Para Shopify, añadiremos SKU. Esto tendrá un límite basado en nuestro límite general de propiedades del evento de 50kb. |
sku |
No |
Cadena |
(sólo Shopify) SKU de Shopify. Puede configurarse como campo ID del catálogo. |
source |
Sí |
Cadena |
Fuente de la que procede el evento. (Para Shopify, es el escaparate). |
metadata |
No |
Objeto |
|
checkout_url |
No |
Cadena |
URL de la página de pago. |
Ejemplos de objetos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| braze.logCustomEvent("ecommerce.checkout_started", {
"checkout_id": "checkout_abc123",
"cart_id": "cart_12345",
"total_value": 199.98,
"currency": "USD",
"products": [
{
"product_id": "632910392",
"product_name": "Wireless Headphones",
"variant_id": "808950810",
"quantity": 1,
"price": 199.98,
"metadata": {
"sku": "WH-BLK-PRO",
"color": "Black",
"brand": "BrazeAudio"
}
}
],
"source": "https://braze-audio.com",
"metadata": {
"checkout_url": "https://checkout.braze-audio.com/abc123"
}
});
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| JSONArray products = new JSONArray();
JSONObject product = new JSONObject()
.put("product_id", "632910392")
.put("product_name", "Wireless Headphones")
.put("variant_id", "808950810")
.put("quantity", 1)
.put("price", 199.98)
.put("metadata", new JSONObject()
.put("sku", "WH-BLK-PRO")
.put("color", "Black")
.put("brand", "AudioTech"));
products.put(product);
BrazeProperties properties = new BrazeProperties()
.addProperty("checkout_id", "checkout_abc123")
.addProperty("cart_id", "cart_12345")
.addProperty("total_value", 199.98)
.addProperty("currency", "USD")
.addProperty("products", products)
.addProperty("source", "https://braze-audio.com")
.addProperty("metadata", new JSONObject()
.put("checkout_url", "https://checkout.braze-audio.com/abc123"));
Braze.getInstance(context).logCustomEvent("ecommerce.checkout_started", properties);
|
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
| let products: [[String: Any]] = [
[
"product_id": "632910392",
"product_name": "Wireless Headphones",
"variant_id": "808950810",
"quantity": 1,
"price": 199.98,
"metadata": [
"sku": "WH-BLK-PRO",
"color": "Black",
"brand": "BrazeAudio"
]
]
]
let properties: [String: Any] = [
"checkout_id": "checkout_abc123",
"cart_id": "cart_12345",
"total_value": 199.98,
"currency": "USD",
"products": products,
"source": "https://braze-audio.com",
"metadata": [
"checkout_url": "https://checkout.braze-audio.com/abc123"
]
]
AppDelegate.braze?.logCustomEvent(name: "ecommerce.checkout_started", properties: properties)
|
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
| {
"events": [
{
"external_id": "user_id",
"app_id": "your_app_identifier",
"name": "ecommerce.checkout_started",
"time": "2024-01-15T09:25:45Z",
"properties": {
"checkout_id": "checkout_abc123",
"cart_id": "cart_12345",
"total_value": 199.98,
"currency": "USD",
"products": [
{
"product_id": "632910392",
"product_name": "Wireless Headphones",
"variant_id": "808950810",
"quantity": 1,
"price": 199.98,
"metadata": {
"sku": "WH-BLK-PRO",
"color": "Black",
"brand": "BrazeAudio"
}
}
],
"source": "https://braze-audio.com",
"metadata": {
"checkout_url": "https://checkout.braze-audio.com/abc123"
}
}
}
]
}
|
Puedes utilizar el evento pedido realizado para desencadenar el evento cuando un cliente complete correctamente el proceso de pago y realice un pedido.
Propiedades
| Nombre de la propiedad |
Necesario |
Tipo de datos |
Descripción |
order_id |
Sí |
Cadena |
Identificador único del pedido realizado. |
cart_id |
No |
Cadena |
Identificador único del carrito. Si no se pasa ningún valor, determinaremos un valor predeterminado (compartido entre los eventos de carrito, pago y pedido) para el mapeado del carrito del usuario. |
total_value |
Sí |
Flotador |
Valor monetario total del carro. |
currency |
Sí |
Cadena |
Moneda en la que se valora el carro. |
total_discounts |
No |
Flotador |
Importe total de los descuentos aplicados al pedido. |
discounts |
No |
Matriz de objetos |
Lista detallada de los descuentos aplicados al pedido. |
products |
Sí |
Matriz de objetos |
|
product_id |
Sí |
Cadena |
Un identificador único del producto visualizado. Este valor puede ser el ID o el SKU del producto. |
product_name |
Sí |
Cadena |
El nombre del producto visualizado. |
variant_id |
Sí |
Cadena |
Un identificador único para la variante del producto. Un ejemplo es shirt_medium_blue |
image_url |
No |
Cadena |
URL de la imagen del producto. |
product_url |
No |
Cadena |
URL a la página del producto para más detalles. |
quantity |
Sí |
Entero |
Número de unidades del producto en el carrito. |
price |
Sí |
Flotador |
El precio unitario variante del producto en el momento de verlo. |
metadata |
No |
Objeto |
Campo de metadatos adicional sobre el producto que el cliente quiere añadir para sus casos de uso. Para Shopify, añadiremos SKU. Esto tendrá un límite basado en nuestro límite general de propiedades del evento de 50kb. |
sku |
No |
Cadena |
(sólo Shopify) SKU de Shopify. Puede configurarse como campo ID del catálogo. |
source |
Sí |
Cadena |
Fuente de la que procede el evento. (Para Shopify, es el escaparate). |
metadata |
No |
Objeto |
|
order_status_url |
No |
Cadena |
URL para ver el estado del pedido. |
order_number |
No |
Cadena |
(Sólo Shopify) Número de pedido único para el pedido realizado. |
tags |
No |
Matriz |
(Sólo Shopify) Etiquetas de pedido |
referring_site |
No |
Cadena |
(Sólo Shopify) El sitio desde el que se originó el pedido (como Meta). |
payment_gateway_names |
No |
Matriz |
(Sólo Shopify) Fuente del sistema de pago (como punto de venta o móvil). |
Ejemplos de objetos
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
| braze.logCustomEvent("ecommerce.order_placed", {
"order_id": "order_67890",
"cart_id": "cart_12345",
"total_value": 189.98,
"currency": "USD",
"total_discounts": 10.00,
"discounts": [
{
"code": "SAVE10",
"amount": 10.00
}
],
"products": [
{
"product_id": "632910392",
"product_name": "Wireless Headphones",
"variant_id": "808950810",
"quantity": 1,
"price": 199.98,
"metadata": {
"sku": "WH-BLK-PRO",
"color": "Black",
"brand": "BrazeAudio"
}
}
],
"source": "https://braze-audio.com",
"metadata": {
"order_status_url": "https://braze-audio.com/orders/67890/status",
"order_number": "ORD-2024-001234",
"tags": ["electronics", "audio"],
"referring_site": "https://www.e-referrals.com",
"payment_gateway_names": ["tap2pay", "dotcash"]
}
});
|
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
| JSONArray discounts = new JSONArray();
discounts.put(new JSONObject()
.put("code", "SAVE10")
.put("amount", 10.00));
JSONArray products = new JSONArray();
JSONObject product = new JSONObject()
.put("product_id", "632910392")
.put("product_name", "Wireless Headphones")
.put("variant_id", "808950810")
.put("quantity", 1)
.put("price", 199.98)
.put("metadata", new JSONObject()
.put("sku", "WH-BLK-PRO")
.put("color", "Black")
.put("brand", "AudioTech"));
products.put(product);
BrazeProperties properties = new BrazeProperties()
.addProperty("order_id", "order_67890")
.addProperty("cart_id", "cart_12345")
.addProperty("total_value", 189.98)
.addProperty("currency", "USD")
.addProperty("total_discounts", 10.00)
.addProperty("discounts", discounts)
.addProperty("products", products)
.addProperty("source", "https://braze-audio.com")
.addProperty("metadata", new JSONObject()
.put("order_status_url", "https://braze-audio.com/orders/67890/status")
.put("order_number", "ORD-2024-001234")
.put("tags", new JSONArray().put("electronics").put("audio"))
.put("referring_site", "https://www.e-referrals.com")
.put("payment_gateway_names", new JSONArray().put("tap2pay").put("dotcash")));
Braze.getInstance(context).logCustomEvent("ecommerce.order_placed", properties);
|
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
| let discounts: [[String: Any]] = [
[
"code": "SAVE10",
"amount": 10.00
]
]
let products: [[String: Any]] = [
[
"product_id": "632910392",
"product_name": "Wireless Headphones",
"variant_id": "808950810",
"quantity": 1,
"price": 199.98,
"metadata": [
"sku": "WH-BLK-PRO",
"color": "Black",
"brand": "BrazeAudio"
]
]
]
let properties: [String: Any] = [
"order_id": "order_67890",
"cart_id": "cart_12345",
"total_value": 189.98,
"currency": "USD",
"total_discounts": 10.00,
"discounts": discounts,
"products": products,
"source": "https://braze-audio.com",
"metadata": [
"order_status_url": "https://braze-audio.com/orders/67890/status",
"order_number": "ORD-2024-001234",
"tags": ["electronics", "audio"],
"referring_site": "https://www.e-referrals.com",
"payment_gateway_names": ["tap2pay", "dotcash"]
]
]
AppDelegate.braze?.logCustomEvent(name: "ecommerce.order_placed", properties: properties)
|
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
| {
"events": [
{
"external_id": "user_id",
"app_id": "your_app_identifier",
"name": "ecommerce.order_placed",
"time": "2024-01-15T09:35:20Z",
"properties": {
"order_id": "order_67890",
"cart_id": "cart_12345",
"total_value": 189.98,
"currency": "USD",
"total_discounts": 10.00,
"discounts": [
{
"code": "SAVE10",
"amount": 10.00
}
],
"products": [
{
"product_id": "632910392",
"product_name": "Wireless Headphones",
"variant_id": "808950810",
"quantity": 1,
"price": 199.98,
"metadata": {
"sku": "WH-BLK-PRO",
"color": "Black",
"brand": "BrazeAudio"
}
}
],
"source": "https://braze-audio.com",
"metadata": {
"order_status_url": "https://braze-audio.com/orders/67890/status",
"order_number": "ORD-2024-001234",
"tags": ["electronics", "audio"],
"referring_site": "https://www.e-referrals.com",
"payment_gateway_names": ["tap2pay", "dotcash"]
}
}
}
]
}
|
Puedes utilizar el evento pedido reembolsado para desencadenar el reembolso parcial o total de un pedido.
Propiedades
| Nombre de la propiedad |
Necesario |
Tipo de datos |
Descripción |
order_id |
Sí |
Cadena |
Identificador único del pedido realizado. |
total_value |
Sí |
Flotador |
Valor monetario total del carro. |
currency |
Sí |
Cadena |
Moneda en la que se valora el carro. |
total_discounts |
No |
Flotador |
Importe total de los descuentos aplicados al pedido. |
discounts |
No |
Matriz de objetos |
Lista detallada de los descuentos aplicados al pedido. |
products |
Sí |
Matriz de objetos |
|
product_id |
Sí |
Cadena |
Un identificador único del producto visualizado. Este valor puede ser el ID del producto, SKU o similar. Si se emite una devolución parcial y no hay ningún product_id asignado a la devolución (por ejemplo, una devolución a nivel de pedido), proporciona un product_id generalizado. |
product_name |
Sí |
Cadena |
El nombre del producto visualizado. |
variant_id |
Sí |
Cadena |
Un identificador único de la variante del producto (como shirt_medium_blue). |
image_url |
No |
Cadena |
URL de la imagen del producto. |
product_url |
No |
Cadena |
URL a la página del producto para más detalles. |
quantity |
Sí |
Entero |
Número de unidades del producto en el carrito. |
price |
Sí |
Flotador |
El precio unitario variante del producto en el momento de verlo. |
metadata |
No |
Objeto |
Campo de metadatos adicional sobre el producto que el cliente quiere añadir para sus casos de uso. Para Shopify, añadiremos SKU. Esto tendrá un límite basado en nuestro límite general de propiedades del evento de 50kb. |
sku |
No |
Cadena |
(sólo Shopify) SKU de Shopify. Puede configurarse como campo ID del catálogo. |
source |
Sí |
Cadena |
Fuente de la que procede el evento. (Para Shopify, es el escaparate). |
metadata |
No |
Objeto |
|
order_status_url |
No |
Cadena |
URL para ver el estado del pedido. |
order_note |
No |
Cadena |
(Sólo Shopify) Nota añadida al pedido por el comerciante. |
order_number |
No |
Cadena |
(Sólo Shopify) Número de pedido único para el pedido realizado. |
tags |
No |
Matriz |
(Sólo Shopify) Etiquetas de pedido. |
Ejemplos de objetos
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
| braze.logCustomEvent("ecommerce.order_refunded", {
"order_id": "order_67890",
"total_value": 99.99,
"currency": "USD",
"total_discounts": 5.00,
"discounts": [
{
"code": "SAVE5",
"amount": 5.00
}
],
"products": [
{
"product_id": "632910392",
"product_name": "Wireless Headphones",
"variant_id": "808950810",
"quantity": 1,
"price": 99.99,
"metadata": {
"sku": "WH-BLK-PRO",
"color": "Black",
"brand": "BrazeAudio"
}
}
],
"source": "https://braze-audio.com",
"metadata": {
"order_status_url": "https://braze-audio.com/orders/67890/status",
"order_note": "Customer requested refund due to defective item",
"order_number": "ORD-2024-001234",
"tags": ["refund", "defective"]
}
});
|
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
| JSONArray discounts = new JSONArray();
discounts.put(new JSONObject()
.put("code", "SAVE5")
.put("amount", 5.00));
JSONArray products = new JSONArray();
JSONObject product = new JSONObject()
.put("product_id", "632910392")
.put("product_name", "Wireless Headphones")
.put("variant_id", "808950810")
.put("quantity", 1)
.put("price", 99.99)
.put("metadata", new JSONObject()
.put("sku", "WH-BLK-PRO")
.put("color", "Black")
.put("brand", "AudioTech"));
products.put(product);
BrazeProperties properties = new BrazeProperties()
.addProperty("order_id", "order_67890")
.addProperty("total_value", 99.99)
.addProperty("currency", "USD")
.addProperty("total_discounts", 5.00)
.addProperty("discounts", discounts)
.addProperty("products", products)
.addProperty("source", "https://braze-audio.com")
.addProperty("metadata", new JSONObject()
.put("order_status_url", "https://braze-audio.com/orders/67890/status")
.put("order_note", "Customer requested refund due to defective item")
.put("order_number", "ORD-2024-001234")
.put("tags", new JSONArray().put("refund").put("defective")));
Braze.getInstance(context).logCustomEvent("ecommerce.order_refunded", properties);
|
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
| let discounts: [[String: Any]] = [
[
"code": "SAVE5",
"amount": 5.00
]
]
let products: [[String: Any]] = [
[
"product_id": "632910392",
"product_name": "Wireless Headphones",
"variant_id": "808950810",
"quantity": 1,
"price": 99.99,
"metadata": [
"sku": "WH-BLK-PRO",
"color": "Black",
"brand": "BrazeAudio"
]
]
]
let properties: [String: Any] = [
"order_id": "order_67890",
"total_value": 99.99,
"currency": "USD",
"total_discounts": 5.00,
"discounts": discounts,
"products": products,
"source": "https://braze-audio.com",
"metadata": [
"order_status_url": "https://braze-audio.com/orders/67890/status",
"order_note": "Customer requested refund due to defective item",
"order_number": "ORD-2024-001234",
"tags": ["refund", "defective"]
]
]
AppDelegate.braze?.logCustomEvent(name: "ecommerce.order_refunded", properties: properties)
|
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
| {
"events": [
{
"external_id": "user_id",
"app_id": "your_app_identifier",
"name": "ecommerce.order_refunded",
"time": "2024-01-15T10:15:30Z",
"properties": {
"order_id": "order_67890",
"total_value": 99.99,
"currency": "USD",
"total_discounts": 5.00,
"discounts": [
{
"code": "SAVE5",
"amount": 5.00
}
],
"products": [
{
"product_id": "632910392",
"product_name": "Wireless Headphones",
"variant_id": "808950810",
"quantity": 1,
"price": 99.99,
"metadata": {
"sku": "WH-BLK-PRO",
"color": "Black",
"brand": "BrazeAudio"
}
}
],
"source": "https://braze-audio.com",
"metadata": {
"order_status_url": "https://braze-audio.com/orders/67890/status",
"order_note": "Customer requested refund due to defective item",
"order_number": "ORD-2024-001234",
"tags": ["refund", "defective"]
}
}
}
]
}
|
Puedes utilizar el evento pedido cancelado para desencadenar cuando un cliente cancele un pedido.
Propiedades
| Nombre de la propiedad |
Necesario |
Tipo de datos |
Descripción |
order_id |
Sí |
Cadena |
Identificador único del pedido realizado. |
cancel_reason |
Sí |
Cadena |
Motivo por el que se canceló el pedido. |
total_value |
Sí |
Flotador |
Valor monetario total del carro. |
currency |
Sí |
Cadena |
Moneda en la que se valora el carro. |
total_discounts |
No |
Flotador |
Importe total de los descuentos aplicados al pedido. |
discounts |
No |
Matriz de objetos |
Lista detallada de los descuentos aplicados al pedido. |
products |
Sí |
Matriz de objetos |
|
product_id |
Sí |
Cadena |
Un identificador único del producto visualizado. Este valor puede ser el ID del producto, SKU o similar. |
product_name |
Sí |
Cadena |
El nombre del producto visualizado. |
variant_id |
Sí |
Cadena |
Un identificador único de la variante del producto (como shirt_medium_blue). |
image_url |
No |
Cadena |
URL de la imagen del producto. |
product_url |
No |
Cadena |
URL a la página del producto para más detalles. |
quantity |
Sí |
Entero |
Número de unidades del producto en el carrito. |
price |
Sí |
Flotador |
El precio unitario variante del producto en el momento de verlo. |
metadata |
No |
Objeto |
Campo de metadatos adicional sobre el producto que el cliente quiere añadir para sus casos de uso. Para Shopify, añadiremos SKU. Esto tendrá un límite basado en nuestro límite general de propiedades del evento de 50kb. |
sku |
No |
Cadena |
(sólo Shopify) SKU de Shopify. Puede configurarse como campo ID del catálogo. |
source |
Sí |
Cadena |
Fuente de la que procede el evento. (Para Shopify, es el escaparate). |
metadata |
No |
Objeto |
|
order_status_url |
No |
Cadena |
URL para ver el estado del pedido. |
order_number |
No |
Cadena |
(Sólo Shopify) Número de pedido único para el pedido realizado. |
tags |
No |
Matriz |
(Sólo Shopify) Etiquetas de pedido. |
Ejemplos de objetos
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
| braze.logCustomEvent("ecommerce.order_cancelled", {
"order_id": "order_67890",
"cancel_reason": "customer changed mind",
"total_value": 189.98,
"currency": "USD",
"total_discounts": 10.00,
"discounts": [
{
"code": "SAVE10",
"amount": 10.00
}
],
"products": [
{
"product_id": "632910392",
"product_name": "Wireless Headphones",
"variant_id": "808950810",
"quantity": 1,
"price": 199.98,
"metadata": {
"sku": "WH-BLK-PRO",
"color": "Black",
"brand": "BrazeAudio"
}
}
],
"source": "https://braze-audio.com",
"metadata": {
"order_status_url": "https://braze-audio.com/orders/67890/status",
"order_number": "ORD-2024-001234",
"tags": ["cancelled", "customer_request"]
}
});
|
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
| JSONArray discounts = new JSONArray();
discounts.put(new JSONObject()
.put("code", "SAVE10")
.put("amount", 10.00));
JSONArray products = new JSONArray();
JSONObject product = new JSONObject()
.put("product_id", "632910392")
.put("product_name", "Wireless Headphones")
.put("variant_id", "808950810")
.put("quantity", 1)
.put("price", 199.98)
.put("metadata", new JSONObject()
.put("sku", "WH-BLK-PRO")
.put("color", "Black")
.put("brand", "AudioTech"));
products.put(product);
BrazeProperties properties = new BrazeProperties()
.addProperty("order_id", "order_67890")
.addProperty("cancel_reason", "customer changed mind")
.addProperty("total_value", 189.98)
.addProperty("currency", "USD")
.addProperty("total_discounts", 10.00)
.addProperty("discounts", discounts)
.addProperty("products", products)
.addProperty("source", "https://braze-audio.com")
.addProperty("metadata", new JSONObject()
.put("order_status_url", "https://braze-audio.com/orders/67890/status")
.put("order_number", "ORD-2024-001234")
.put("tags", new JSONArray().put("cancelled").put("customer_request")));
Braze.getInstance(context).logCustomEvent("ecommerce.order_cancelled", properties);
|
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
| let discounts: [[String: Any]] = [
[
"code": "SAVE10",
"amount": 10.00
]
]
let products: [[String: Any]] = [
[
"product_id": "632910392",
"product_name": "Wireless Headphones",
"variant_id": "808950810",
"quantity": 1,
"price": 199.98,
"metadata": [
"sku": "WH-BLK-PRO",
"color": "Black",
"brand": "BrazeAudio"
]
]
]
let properties: [String: Any] = [
"order_id": "order_67890",
"cancel_reason": "customer changed mind",
"total_value": 189.98,
"currency": "USD",
"total_discounts": 10.00,
"discounts": discounts,
"products": products,
"source": "https://braze-audio.com",
"metadata": [
"order_status_url": "https://braze-audio.com/orders/67890/status",
"order_number": "ORD-2024-001234",
"tags": ["cancelled", "customer_request"]
]
]
AppDelegate.braze?.logCustomEvent(name: "ecommerce.order_cancelled", properties: properties)
|
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
| {
"events": [
{
"external_id": "user_id",
"app_id": "your_app_identifier",
"name": "ecommerce.order_cancelled",
"time": "2024-01-15T10:45:15Z",
"properties": {
"order_id": "order_67890",
"cancel_reason": "customer changed mind",
"total_value": 189.98,
"currency": "USD",
"total_discounts": 10.00,
"discounts": [
{
"code": "SAVE10",
"amount": 10.00
}
],
"products": [
{
"product_id": "632910392",
"product_name": "Wireless Headphones",
"variant_id": "808950810",
"quantity": 1,
"price": 199.98,
"metadata": {
"sku": "WH-BLK-PRO",
"color": "Black",
"brand": "BrazeAudio"
}
}
],
"source": "https://braze-audio.com",
"metadata": {
"order_status_url": "https://braze-audio.com/orders/67890/status",
"order_number": "ORD-2024-001234",
"tags": ["cancelled", "customer_request"]
}
}
}
]
}
|
Plantillas Canvas para comercio electrónico
Braze ha creado plantillas Canvas prediseñadas que se basan en eventos recomendados para el comercio electrónico, como los clientes que iniciaron el proceso de pago pero lo abandonaron antes de realizar el pedido. Puedes utilizar estos eventos para tomar decisiones informadas que mejoren tu viaje de usuario personalizando la mensajería y dirigiéndote a audiencias específicas.
Consulta nuestros casos de uso dedicados al comercio electrónico para saber más sobre cómo puedes utilizar estos eventos con las plantillas de Canvas.
Campos calculados por el usuario
Utilizamos cálculos estandarizados de campos de usuario para los siguientes campos:
- Ingresos totales = suma del valor total del pedido realizado - suma del valor total del pedido reembolsado
- Recuento total de pedidos = recuento de eventos distintos de pedidos realizados - recuento de cancelaciones distintas de pedidos
- Valor total del reembolso = suma del valor total reembolsado del pedido
Estos cálculos de campo de usuario también se incluyen en la pestaña Transacciones de los perfiles de usuario.
Pestaña “Transacciones” con campos calculados por el usuario.](/docs/es/assets/img/Shopify/transactions_tab.png?b4d0f6b5feba29d3bcc30c19081519be){: style=”max-width:60%;”}