Ir al contenido

Características de los datos de Shopify

Este artículo ofrece un resumen de las características de Braze para Shopify, incluyendo qué datos de Shopify se rastrean, ejemplos de cargas útiles, backfill histórico y sincronización de productos.

Eventos de Shopify con seguimiento

La integración de Shopify usa eventos recomendados de comercio electrónico para capturar los comportamientos de compra clave. Para ver ejemplos de implementación y estrategias de marketing con estos eventos, consulta Casos de uso de comercio electrónico.

{
    "name": "ecommerce.product_viewed",
    "properties": {
        "product_id": "12345",
        "product_name": "product",
        "variant_id": "123",
        "image_url": "www.image-url.com",
        "product_url": "mystorefront.myshopify.com/product",
        "price": 10,
        "currency": "USD",
        "source": "mystorefront.myshopify.com",
        "metadata": {
          "sku": "sku"
        },
        "type": [
          "price_drop",
          "back_in_stock"
        ]
    }
}
{
    "name": "ecommerce.cart_updated",
    "properties": {
        "cart_id": "Z2NwLXVzLWVhc3QxOjAxSjk3UFg4RlFZMjVTVkRHRlc1RlI3SlRY",
        "currency": "USD",
        "total_value": 2000000,
        "products": [
            {
                "product_id": "8266836345064",
                "product_name": "PANTS!!!",
                "variant_id": "44610569208040",
                "image_url": "https://cdn.shopify.com/s/files/1/0604/4211/6328/files/1200px-Trousers-colourisolated.jpg?v=1689256168",
                "product_url": "https://test-store.myshopify.com/products/pants?variant=44610569208040",
                "quantity": 2,
                "price": 1000000,
                "metadata": {
                    "sku": "007"
                }
            }
        ],
        "source": "https://test-store.myshopify.com",
        "metadata": {}
    }
}
{
    "name": "ecommerce.checkout_started",
    "time": "2022-05-23T13:52:38-04:00",
    "properties": {
        "cart_id": "eeafa272cebfd4b22385bc4b645e762c",
        "total_value": 421.88,
        "subtotal_value": 396.88,
        "tax": 15.00,
        "shipping": 10.00,
        "currency": "USD",
        "products": [
            {
                "product_id": "632910392",
                "product_name": "IPod Nano - 8GB",
                "variant_id": "808950810",
                "quantity": 1,
                "price": 199,
                "metadata": {
                    "sku": "IPOD2008PINK"
                }
            }
        ],
        "source": "braze-mock-storefront.myshopify.com",
        "checkout_id": "123123123",
        "metadata": {
            "checkout_url": "https://checkout.local/548380009/checkouts/123123123/recover?key=example-secret-token"
        }
    }
}
{
    "name": "ecommerce.order_placed",
    "time": "2022-05-23T13:52:38-04:00",
    "properties": {
        "order_id": "820982911946154508",
        "cart_id": "eeafa272cebfd4b22385bc4b645e762c",
        "total_value": 421.88,
        "subtotal_value": 396.88,
        "tax": 15.00,
        "shipping": 10.00,
        "currency": "USD",
        "total_discounts": 5,
        "discounts": [],
        "products": [
            {
                "product_id": "632910392",
                "product_name": "IPod Nano - 8GB",
                "variant_id": "808950810",
                "quantity": 1,
                "price": 199,
                "metadata": {
                    "sku": "IPOD2008PINK"
                }
            }
        ],
        "source": "braze-mock-storefront.myshopify.com",
        "metadata": {
            "order_status_url": "https://apple.myshopify.com/690933842/orders/123456abcd/authenticate?key=abcdefg",
            "order_number": "1234",
            "tags": [
                "heavy",
                "heavy2"
            ],
            "referring_site": "https://www.google.com",
            "payment_gateway_names": [
                "visa",
                "bogus"
            ]
        }
    }
}
{
 "name": "shopify_fulfilled_order",
 "time": "2022-05-23T14:44:34-04:00",
 "properties": {
   "order_id": 4444668657855,
   "line_items": [
     {
       "quantity": 1,
       "product_id": 6143032066239,
       "sku": null,
       "title": "Dark Denim Top",
  "variant_id": 40094740549876,
       "variant_title": "Small Dark Denim Top",


       "vendor": "partners-demo",
       "name": "Dark Denim Top",
       "properties": [],
       "price": "60.00",
       "fulfillment_status": "fulfilled"
     }
   ],
   "shipping": [
     {
       "title": "Standard",
       "price": "0.00"
     }
   ],
   "total_price": "130.66",
   "confirmed": true,
   "total_discounts": "0.00",
   "discount_codes": [],
   "order_number": 1093,
   "order_status_url": "https://test-store.myshopify.com/",
   "cancelled_at": null,
   "tags": "",
   "closed_at": "2022-05-23T14:44:34-04:00",
   "fulfillment_status": "fulfilled",
   "fulfillments": [
     {
       "shipment_status": null,
       "status": "success",
       "tracking_company": "Other",
       "tracking_number": "456",
       "tracking_numbers": [
         "456"
       ],
       "tracking_url": "https://braze.com",
       "tracking_urls": [
         "https://braze.com"
       ],
       "line_items": [
         {
           "fulfillment_status": "fulfilled",
           "name": "Dark Denim Top",
           "price": "60.00",
           "product_id": 6143032066239,
           "quantity": 1,
           "requires_shipping": true,
           "sku": null,
           "title": "Dark Denim Top",
           "variant_id": 40094740549876,
           "variant_title": "Small Dark Denim Top",
           "vendor": "partners-demo"
         }
       ]
     }
   ]
 },
 "braze_id": "123abc123abc"
}
{
 "name": "shopify_partially_fulfilled_order",
 "time": "2022-05-23T14:43:34-04:00",
 "properties": {
   "order_id": 4444668657855,
   "line_items": [
     {
       "quantity": 1,
       "product_id": 6143032066239,
       "sku": null,
       "title": "Dark Denim Top",
       "variant_id": 40094740549876,
       "variant_title": "",
       "vendor": "partners-demo",
       "name": "Dark Denim Top",
       "properties": [],
       "price": "60.00",
       "fulfillment_status": "fulfilled"
     }
   ],
   "shipping": [
     {
       "title": "Standard",
       "price": "0.00"
     }
   ],
   "total_price": "130.66",
   "confirmed": true,
   "total_discounts": "0.00",
   "discount_codes": [],
   "order_number": 1093,
   "order_status_url": "https://test-store.myshopify.com/",
   "cancelled_at": null,
   "tags": "",
   "closed_at": null,
   "fulfillment_status": "partial",
   "fulfillments": [
     {
       "shipment_status": null,
       "status": "success",
       "tracking_company": "Other",
       "tracking_number": "123",
       "tracking_numbers": [
         "123"
       ],
       "tracking_url": "https://braze.com",
       "tracking_urls": [
         "https://braze.com"
       ],
       "line_items": [
         {
           "fulfillment_status": "fulfilled",
           "name": "Dark Denim Top",
           "price": "60.00",
           "product_id": 6143032066239,
           "properties": [],
           "quantity": 1,
           "requires_shipping": true,
           "sku": null,
           "title": "Dark Denim Top",
           "variant_id": 40094740549876,
           "variant_title": "",
           "vendor": "partners-demo"
         }
       ]
     }
   ]
 },
 "braze_id": "abc123abc123"
}
{
 "name": "shopify_paid_order",
 "time": "2022-05-23T13:52:38-04:00",
 "properties": {
   "order_id": 4444596371647,
   "line_items": [
     {
       "quantity": 1,
       "product_id": 6143033344191,
       "sku": null,
       "title": "LED High Tops",
       "variant_id": 40094740549876,
       "variant_title": null,
       "vendor": "partners-demo",
       "name": "LED High Tops",
       "properties": [],
       "price": "80.00",
       "fulfillment_status": null
     }
   ]
 }
}
{
    "name": "ecommerce.order_cancelled",
    "time": "2022-05-23T13:52:38-04:00",
    "properties": {
        "order_id": "820982911946154508",
        "cancel_reason": "no longer necessary",
        "total_value": 421.88,
        "subtotal_value": 396.88,
        "tax": 15.00,
        "shipping": 10.00,
        "currency": "USD",
        "total_discounts": 5,
        "discounts": [],
        "products": [
            {
                "product_id": "632910392",
                "product_name": "IPod Nano - 8GB",
                "variant_id": "808950810",
                "quantity": 1,
                "price": 199,
                "metadata": {
                    "sku": "IPOD2008PINK"
                }
            }
        ],
        "source": "braze-mock-storefront.myshopify.com",
        "metadata": {
            "order_status_url": "https://apple.myshopify.com/690933842/orders/123456abcd/authenticate?key=abcdefg",
            "order_number": "1234",
            "tags": [
                "heavy",
                "heavy2"
            ]
        }
    }
}
{
    "name": "ecommerce.order_refunded",
    "time": "2022-05-23T13:52:38-04:00",
    "properties": {
        "order_id": "820982911946154508",
        "total_value": 421.88,
        "currency": "USD",
        "products": [
            {
                "product_id": "632910392",
                "product_name": "IPod Nano - 8GB",
                "variant_id": "808950810",
                "quantity": 1,
                "price": 199,
                "metadata": {
                    "sku": "IPOD2008PINK"
                }
            }
        ],
        "source": "braze-mock-storefront.myshopify.com",
        "metadata": {
		"order_note": "item was broken"
        }
    }
}
{
	"name": "shopify_account_login",
	"properties": {
	"source": "braze-mock-storefront.myshopify.com"
  }
}

Evento: ecommerce.product_viewed
Tipo: Evento recomendado
Desencadenado: Cuando un cliente ve la página de un producto
Origen de datos: SDK de Braze
Caso de uso: Abandono de navegación

Variable Plantilla de Liquid
product_id {{event_properties.${product_id}}}
product_name {{event_properties.${product_name}}}
variant_id {{event_properties.${variant_id}}}
image_url {{event_properties.${image_url}}}
product_url <your-store.myshopify.com>{{event_properties.${product_url}}}

Añade el dominio de tu sitio de Shopify antes de la URL.
price {{event_properties.${price}}}
currency {{event_properties.${currency}}}
source {{event_properties.${source}}}
sku {{event_properties.${metadata}.sku}}
type event_properties.${type}

Evento: ecommerce.cart_updated
Tipo: Evento recomendado
Desencadenado: Cuando un cliente añade, elimina o actualiza artículos de su carrito de compras
Origen de datos: SDK de Braze
Caso de uso: Abandono del carrito de compras

Para los Canvas de carrito abandonado, primero tienes que añadir la etiqueta de Liquid inicial del carrito de compras para obtener el contexto del carrito en tu mensaje.

{% shopping_cart {{context.${cart_id}}} %}

Después, puedes añadir las siguientes etiquetas de Liquid del carrito de compras en tu mensaje.

Variable Plantilla de Liquid
cart_id {{ shopping_cart.cart_id }}
currency {{ shopping_cart.currency }}
total_value {{ shopping_cart.total_value }}
product_id {{ shopping_cart.products[0].product_id }}
product_name {{ shopping_cart.products[0].product_name }}
variant_id {{ shopping_cart.products[0].variant_id }}
image_url {{ shopping_cart.products[0].image_url }}
product_url {{ shopping_cart.products[0].product_url }}
quantity {{ shopping_cart.products[0].quantity }}
price {{ shopping_cart.products[0].price }}
sku {{ shopping_cart.products[0].metadata.sku }}

Evento: ecommerce.checkout_started
Tipo: Evento recomendado
Desencadenado: Cuando un usuario navega a la página de pago
Origen de datos: REST API de Braze
Caso de uso: Abandono del proceso de pago

Para los Canvas de pago abandonado, primero tienes que usar la siguiente etiqueta de Liquid:

{% shopping_cart {{context.${cart_id}}} :abort_if_not_abandoned false %}
{{context.${cart_id}}}

Después, puedes añadir las siguientes etiquetas de Liquid en tu mensaje para hacer referencia a los productos de tu carrito en el momento del pago.

Variable Plantilla de Liquid
cart_id {{ shopping_cart.cart_id }}
currency {{ shopping_cart.currency }}
total_value {{ shopping_cart.total_value }}
product_id {{ shopping_cart.products[0].product_id }}
product_name {{ shopping_cart.products[0].product_name }}
variant_id {{ shopping_cart.products[0].variant_id }}
image_url {{ shopping_cart.products[0].image_url }}
product_url {{ shopping_cart.products[0].product_url }}
quantity {{ shopping_cart.products[0].quantity }}
price {{ shopping_cart.products[0].price }}
sku {{ shopping_cart.products[0].metadata.sku }}

También puedes personalizar con propiedades del evento desencadenante ecommerce.checkout_started, como source y checkout_url. Estas propiedades no se almacenan en el carrito de compras, por lo que no están disponibles a través de la etiqueta {% shopping_cart %}. En un Canvas de pago abandonado, haz referencia a ellas desde el contexto del Canvas:

Variable Plantilla de Liquid
source {{context.${source}}}
checkout_url {{context.${metadata}.checkout_url}}

Por ejemplo, en un correo electrónico de pago abandonado:

{% shopping_cart {{context.${cart_id}}} :abort_if_not_abandoned false %}
{% for item in shopping_cart.products %}
  {{ item.product_name }} / SKU: {{ item.metadata.sku }}
{% endfor %}
<a href="{{context.${metadata}.checkout_url}}">Return to checkout</a>

Evento: ecommerce.order_placed
Tipo: Evento recomendado
Desencadenado: Cuando un usuario completa correctamente el proceso de pago y realiza un pedido
Origen de datos: REST API de Braze
Caso de uso: Confirmación del pedido, reorientación posterior a la compra, ventas adicionales o ventas cruzadas

Si otro sistema ya envía eventos de pedido realizado a Braze, puedes desactivar este evento para una tienda con Send Order Placed events from another source en el paso de seguimiento de datos de Shopify. Braze omitirá entonces ecommerce.order_placed para los pedidos en vivo y completados con datos históricos de esa tienda, mientras que los demás eventos de pedido, shopify_paid_order y los atributos de compra seguirán actualizándose. Para más detalles, consulta Configuración de datos estándar.

Variable Plantilla de Liquid
cart_id {{event_properties.${cart_id}}}
currency {{event_properties.${currency}}}
discounts {{event_properties.${discounts}}}
order_id {{event_properties.${order_id}}}
product_id {{event_properties.${products}[0].product_id}}
product_name {{event_properties.${products}[0].product_name}}
variant_id {{event_properties.${products}[0].variant_id}}
quantity {{event_properties.${products}[0].quantity}}
sku {{event_properties.${products}[0].metadata.sku}}
total_discounts {{event_properties.${total_discounts}}}
order_status_url {{event_properties.${metadata}.order_status_url}}
order_number {{event_properties.${metadata}.order_number}}
tags {{event_properties.${metadata}.tags}}
referring_site {{event_properties.${metadata}.referring_site}}
payment_gateway_names {{event_properties.${metadata}.payment_gateway_names}}

Evento: shopify_fulfilled_order
Tipo: Evento personalizado
Desencadenado: Cuando el pedido de un usuario está preparado y listo para el envío
Origen de datos: REST API de Braze
Caso de uso: (Transaccional) Actualización de la preparación del pedido

Variable Plantilla de Liquid
ID del pedido {{event_properties.${order_id}}}
Precio total {{event_properties.${total_price}}}
Descuentos totales {{event_properties.${total_discounts}}}
Estado confirmado {{event_properties.${confirmed}}}
URL del estado del pedido {{event_properties.${order_status_url}}}
Número de pedido {{event_properties.${order_number}}}
Marca de tiempo de cancelación {{event_properties.${cancelled_at}}}
Marca de tiempo de cierre {{event_properties.${closed_at}}}
ID del artículo {{event_properties.${line_items}[0].product_id}}
Cantidad del artículo {{event_properties.${line_items}[0].quantity}}
SKU del artículo {{event_properties.${line_items}[0].sku}}
Título del artículo {{event_properties.${line_items}[0].title}}
Proveedor del artículo {{event_properties.${line_items}[0].vendor}}
Nombre del artículo {{event_properties.${line_items}[0].name}}
Propiedades del artículo {{event_properties.${line_items}[0].properties}}
Precio del artículo {{event_properties.${line_items}[0].price}}
Título del envío {{event_properties.${shipping}[0].title}}
Precio del envío {{event_properties.${shipping}[0].price}}
Estado de preparación {{event_properties.${fulfillment_status}}}
Estado del envío de la preparación {{event_properties.${fulfillments}[0].shipment_status}}
Estado {{event_properties.${fulfillments}[0].status}}
Empresa de seguimiento de la preparación {{event_properties.${fulfillments}[0].Fulfillment tracking_company}}
Número de seguimiento de la preparación {{event_properties.${fulfillments}[0].Fulfillment tracking_number}}
Números de seguimiento de la preparación {{event_properties.${fulfillments}[0].Fulfillment tracking_numbers}}
URL de seguimiento de la preparación {{event_properties.${fulfillments}[0].Fulfillment tracking_url}}
URL de seguimiento de la preparación (varias) {{event_properties.${fulfillments}[0].Fulfillment tracking_urls}}
Estado de preparación {{event_properties.${fulfillments}[0].line_items[0].fulfillment_status}}
Nombre de la preparación {{event_properties.${fulfillments}[0].line_items[0].name}}
Precio de la preparación {{event_properties.${fulfillments}[0].line_items[0].price}}
ID del producto de la preparación {{event_properties.${fulfillments}[0].line_items[0].product_id}}
Cantidad de la preparación {{event_properties.${fulfillments}[0].line_items[0].quantity}}
Envío de la preparación {{event_properties.${fulfillments}[0].line_items[0].requires_shipping}}
SKU de la preparación {{event_properties.${fulfillments}[0].line_items[0].sku}}
Título de la preparación {{event_properties.${fulfillments}[0].line_items[0].title}}
Proveedor de la preparación {{event_properties.${fulfillments}[0].line_items[0].vendor}}
ID de la variante {{event_properties.${line_items}[0].variant_id}}
Título de la variante {{event_properties.${line_items}[0].variant_title}}

Evento: shopify_partially_fulfilled_order
Tipo: Evento personalizado
Desencadenado: Cuando parte del pedido de un usuario está preparada y lista para el envío
Origen de datos: REST API de Braze
Caso de uso: (Transaccional) Actualización de la preparación del pedido

Variable Plantilla de Liquid
ID del pedido {{event_properties.${order_id}}}
Precio total {{event_properties.${total_price}}}
Descuentos totales {{event_properties.${total_discounts}}}
Estado confirmado {{event_properties.${confirmed}}}
URL del estado del pedido {{event_properties.${order_status_url}}}
Número de pedido {{event_properties.${order_number}}}
Marca de tiempo de cancelación {{event_properties.${cancelled_at}}}
Marca de tiempo de cierre {{event_properties.${closed_at}}}
ID del artículo {{event_properties.${line_items}[0].product_id}}
Cantidad del artículo {{event_properties.${line_items}[0].quantity}}
SKU del artículo {{event_properties.${line_items}[0].sku}}
Título del artículo {{event_properties.${line_items}[0].title}}
Proveedor del artículo {{event_properties.${line_items}[0].vendor}}
Nombre del artículo {{event_properties.${line_items}[0].name}}
Propiedades del artículo {{event_properties.${line_items}[0].properties}}
Precio del artículo {{event_properties.${line_items}[0].price}}
Título del envío {{event_properties.${shipping}[0].title}}
Precio del envío {{event_properties.${shipping}[0].price}}
Estado de preparación {{event_properties.${fulfillment_status}}}
Estado del envío de la preparación {{event_properties.${fulfillments}[0].shipment_status}}
Estado de preparación {{event_properties.${fulfillments}[0].status}}
Empresa de seguimiento de la preparación {{event_properties.${fulfillments}[0].tracking_company}}
Número de seguimiento de la preparación {{event_properties.${fulfillments}[0].tracking_number}}
Números de seguimiento de la preparación {{event_properties.${fulfillments}[0].tracking_numbers}}
URL de seguimiento de la preparación {{event_properties.${fulfillments}[0].tracking_url}}
URL de seguimiento de la preparación (varias) {{event_properties.${fulfillments}[0].tracking_urls}}
Estado de preparación {{event_properties.${fulfillments}[0].line_items[0].fulfillment_status}}
Nombre de la preparación {{event_properties.${fulfillments}[0].line_items[0].name}}
Precio de la preparación {{event_properties.${fulfillments}[0].line_items[0].price}}
ID del producto de la preparación {{event_properties.${fulfillments}[0].line_items[0].product_id}}
Cantidad de la preparación {{event_properties.${fulfillments}[0].line_items[0].quantity}}
Envío de la preparación {{event_properties.${fulfillments}[0].line_items[0].requires_shipping}}
SKU de la preparación {{event_properties.${fulfillments}[0].line_items[0].sku}}
Título de la preparación {{event_properties.${fulfillments}[0].line_items[0].title}}
Proveedor de la preparación {{event_properties.${fulfillments}[0].line_items[0].vendor}}
ID de la variante {{event_properties.${line_items}[0].variant_id}}
Título de la variante {{event_properties.${line_items}[0].variant_title}}

Evento: shopify_paid_order
Tipo: Evento personalizado
Desencadenado: Cuando el pedido de un usuario se marca como pagado en Shopify
Origen de datos: REST API de Braze
Caso de uso: (Transaccional) Confirmación del pago

Variable Plantilla de Liquid
ID del pedido {{event_properties.${order_id}}}
Estado confirmado {{event_properties.${confirmed}}}
URL del estado del pedido {{event_properties.${order_status_url}}}
Número de pedido {{event_properties.${order_number}}}
Marca de tiempo de cancelación {{event_properties.${cancelled_at}}}
Descuentos totales {{event_properties.${total_discounts}}}
Precio total {{event_properties.${total_price}}}
Etiquetas {{event_properties.${tags}}}
Códigos de descuento {{event_properties.${discount_codes}}}
ID del artículo {{event_properties.${line_items}[0].product_id}}
Cantidad del artículo {{event_properties.${line_items}[0].quantity}}
SKU del artículo {{event_properties.${line_items}[0].sku}}
Título del artículo {{event_properties.${line_items}[0].title}}
Proveedor del artículo {{event_properties.${line_items}[0].vendor}}
Propiedades del artículo {{event_properties.${line_items}[0].properties}}
Precio del artículo {{event_properties.${line_items}[0].price}}
Título del envío {{event_properties.${shipping}[0].title}}
Precio del envío {{event_properties.${shipping}[0].price}}
ID de la variante {{event_properties.${line_items}[0].variant_id}}
Título de la variante {{event_properties.${line_items}[0].variant_title}}

Evento: ecommerce.order_cancelled
Tipo: Evento recomendado
Desencadenado: Cuando se cancela el pedido de un usuario
Origen de datos: REST API de Braze
Caso de uso: (Transaccional) Confirmación de la cancelación del pedido

Variable Plantilla de Liquid
ID del pedido {{event_properties.${order_id}}}
Precio total {{event_properties.${total_price}}}
Descuentos totales {{event_properties.${total_discounts}}}
Confirmado {{event_properties.${confirmed}}}
URL del estado del pedido {{event_properties.${order_status_url}}}
Número de pedido {{event_properties.${order_number}}}
Marca de tiempo de cancelación {{event_properties.${cancelled_at}}}
Etiquetas {{event_properties.${tags}}}
Códigos de descuento {{event_properties.${discount_codes}}}
Estado de preparación {{event_properties.${fulfillment_status}}}
Preparaciones {{event_properties.${fulfillments}}}
ID del artículo {{event_properties.${line_items}[0].product_id}}
Cantidad del artículo {{event_properties.${line_items}[0].quantity}}
SKU del artículo {{event_properties.${line_items}[0].sku}}
Título del artículo {{event_properties.${line_items}[0].title}}
Proveedor del artículo {{event_properties.${line_items}[0].vendor}}
Nombre del artículo {{event_properties.${line_items}[0].name}}
Propiedades del artículo {{event_properties.${line_items}[0].properties}}
Estado de preparación {{event_properties.${line_items}[0].fulfillment_status}}
Título del envío {{event_properties.${shipping}[0].title}}
Precio del envío {{event_properties.${shipping}[0].price}}
ID de la variante {{event_properties.${line_items}[0].variant_id}}
Título de la variante {{event_properties.${line_items}[0].variant_title}}

Evento: ecommerce.order_refunded
Tipo: Evento recomendado
Desencadenado: Cuando se reembolsa el pedido de un usuario
Origen de datos: REST API de Braze
Caso de uso: (Transaccional) Confirmación del reembolso

Variable Plantilla de Liquid
ID del pedido {{event_properties.${order_id}}}
Nota del pedido {event_properties.${note}}}
ID del artículo {{event_properties.${line_items}[0].product_id}}
Cantidad del artículo {{event_properties.${line_items}[0].quantity}}
SKU del artículo {{event_properties.${line_items}[0].sku}}
Título del artículo {{event_properties.${line_items}[0].title}}
Proveedor del artículo {{event_properties.${line_items}[0].vendor}}
Nombre del artículo {{event_properties.${line_items}[0].name}}
Propiedades del artículo {{event_properties.${line_items}[0].properties}}
Precio del artículo {{event_properties.${line_items}[0].price}}
ID de la variante {{event_properties.${line_items}[0].variant_id}}
Título de la variante {{event_properties.${line_items}[0].variant_title}}

Evento: shopify_account_login
Tipo: Evento personalizado
Desencadenado: Cuando un usuario inicia sesión en su cuenta
Origen de datos: REST API de Braze
Caso de uso: Serie de bienvenida

Variable Plantilla de Liquid
source {{event_properties.${source}}}

Atributos personalizados de Shopify compatibles

{
  "attributes": [
    {
      "shopify_tags": "VIP_customer",
      "shopify_total_spent": "60.00",
      "shopify_orders_count": "3",
      "shopify_last_order_id": "1234567",
      "shopify_zipcode": "10001",
      "shopify_province": "null"
    }
  ]
}
Nombre del atributo Descripción Origen de datos
shopify_total_spent La cantidad total de dinero que el cliente ha gastado en todo su historial de pedidos. Webhook customers/purchasing_summary de Shopify
shopify_orders_count El número de pedidos asociados a este cliente. No se cuentan los pedidos de prueba ni los archivados. Webhook customers/purchasing_summary de Shopify
shopify_last_order_id El ID del último pedido del cliente. Webhook customers/purchasing_summary de Shopify
shopify_zipcode El código postal del cliente según su dirección predeterminada. Webhooks customers/create y customers/update de Shopify
shopify_province La provincia del cliente según su dirección predeterminada. Webhooks customers/create y customers/update de Shopify
shopify_locale La configuración regional del cliente (por ejemplo, en o fr-CA), establecida a partir del idioma del navegador recopilado por el píxel web de Braze hasta que realiza un pedido, y después actualizada con la configuración regional de su último pago. Píxel web de Braze, webhooks orders/* de Shopify, reposición histórica de clientes

Personalización con Liquid

Para añadir personalización con Liquid a tus atributos personalizados de Shopify, selecciona + Personalización. Después, selecciona Atributos personalizados como tipo de personalización.

La sección "Añadir personalización" con el desplegable "Atributo" desplegado.

Después de seleccionar tu atributo personalizado, introduce un valor predeterminado y copia el fragmento de código de Liquid en tu mensaje.

Pegar un fragmento de código de Liquid en un mensaje.

Atributos estándar de Shopify admitidos

  • Correo electrónico
  • Nombre
  • Apellido
  • Teléfono
  • Ciudad
  • País

Valores vacíos de Shopify

Cuando Shopify envía un valor vacío para un atributo de usuario, puedes elegir si Braze conserva o borra el valor que ya está en el perfil de usuario. En la configuración de tu integración de Shopify, en Comportamiento en el perfil de usuario cuando Shopify envía un valor vacío, selecciona una de las siguientes opciones:

Opción Cuándo usarla
Mantener el valor existente Ideal cuando otros orígenes de datos también actualizan estos perfiles de usuario, como los números de teléfono de tu CRM.
Borrar el valor existente Ideal cuando Shopify es tu fuente de verdad, por lo que un valor vacío significa que los datos se eliminaron.

La configuración se aplica a los atributos estándar y a los atributos personalizados de Shopify que Braze sincroniza desde los perfiles de cliente. Las integraciones usan Mantener el valor existente de forma predeterminada. Por ejemplo, si los números de teléfono también provienen de tu CRM y Shopify envía un número de teléfono vacío, el número del CRM se mantiene en el perfil de usuario de Braze en lugar de borrarse.

Metacampos de clientes de Shopify

Los metacampos de clientes de Shopify contienen tus propios datos sobre un cliente, como un nivel de fidelización o una puntuación de riesgo de cancelación. Con la integración estándar, puedes sincronizar hasta 20 definiciones de metacampos de clientes con los perfiles de usuario de Braze y usarlas para segmentar y personalizar.

Cómo llegan los metacampos al perfil de usuario

Braze añade un atributo personalizado anidado por cada tienda conectada, llamado shopify_metafields_<store>, donde <store> es la primera parte de tu dominio <store>.myshopify.com. Cada metacampo seleccionado se convierte en una clave dentro de ese objeto, llamada <namespace>_<key>. Por ejemplo, las definiciones custom.vip_tier y custom.loyalty_points de la tienda acme.myshopify.com llegan a un perfil así:

{
  "shopify_metafields_acme": {
    "custom_vip_tier": "gold",
    "custom_loyalty_points": 120
  }
}

Cada actualización se fusiona en profundidad con el objeto, por lo que una actualización que lleva una sola clave nunca borra las demás, y Braze nunca elimina una clave del objeto. Si un metacampo está vacío en Shopify, el perfil conserva su último valor, independientemente de la configuración de valores vacíos para otros atributos.

Tipos de metacampos admitidos

Solo aparecen en el selector las definiciones con los siguientes tipos. Otros tipos, como referencias, archivos, JSON, dinero y valoración, no se admiten.

Tipo de Shopify Se almacena en el perfil como
Texto de una sola línea, Texto de varias líneas, Color, URL, ID Cadena
Número entero Entero
Decimal Número
Verdadero o falso Booleano
Fecha, Fecha y hora Hora, para que puedas usar filtros de segmentación basados en fechas
Lista de textos de una sola línea, fechas, fechas y horas, colores, ID o URL Matriz de cadenas

Braze omite un valor en el perfil, y sigue escribiendo las demás claves, cuando:

  • Un valor de cadena, o un elemento de una lista, tiene más de 255 caracteres.
  • Un valor no se puede convertir al tipo de la definición, por ejemplo, texto en un campo de número entero.
  • La clave del atributo (<namespace>_<key>) tiene más de 255 caracteres o contiene un carácter que Braze no puede almacenar, como $ o ..

Cuándo se sincronizan los valores

Origen Cuándo
Webhooks customers/create y customers/update de Shopify Cada vez que un cliente cambia en Shopify, incluido un cambio en un metacampo seleccionado
Reposición histórica Si seleccionas metacampos durante la configuración, la reposición inicial de clientes los incluye
Clientes existentes Cuando añades metacampos a una tienda conectada, Braze sincroniza sus valores con los perfiles de usuario de los clientes actualizados desde el inicio de tu ventana de reposición histórica de clientes (o desde que se conectó la tienda, si la reposición estaba desactivada). La página de integración muestra Sincronizando metacampos de clientes con perfiles de usuario existentes mientras se ejecuta, y el selector no está disponible hasta que termina.

Puedes consultar el estado de la sincronización en la tabla Atributos de usuario de Shopify de la página de integración. Muestra Atributos predeterminados y Metacampos de clientes con un estado (Activo, o Actualizando mientras se ejecuta una sincronización) y el número de atributos de cada uno. Selecciona el icono de vista en una fila para ver los nombres de los atributos.

Cambiar o eliminar metacampos

  • Para cambiar la selección, selecciona Editar configuración en la página de integración y actualiza el selector en el paso Seguimiento de datos de Shopify. Al añadir un metacampo se inicia una sincronización para los clientes existentes; al eliminar uno se detienen las actualizaciones de esa clave.
  • Si eliminas un metacampo de la selección, o desactivas Sincronizar metacampos de clientes como atributos de usuario, los perfiles de usuario conservan el último valor de Shopify y dejan de actualizarse.
  • Si eliminas una definición en Shopify, Braze la quita de tu selección automáticamente. Los valores que ya están en los perfiles de usuario se mantienen.

Segmentación y personalización

Antes de poder filtrar por los metacampos, genera un esquema para el atributo: ve a Configuración de datos > Atributos personalizados, busca shopify_metafields_<store> y selecciona Generar esquema. Braze crea el esquema a partir de los valores que ya están en los perfiles de usuario, así que hazlo cuando termine la primera sincronización y vuelve a generarlo después de añadir metacampos para que aparezcan las nuevas claves.

Para segmentar por un metacampo, añade el filtro Atributos personalizados anidados, selecciona shopify_metafields_<store>, selecciona la clave como propiedad y, a continuación, elige un comparador para su tipo. Los metacampos de fecha usan los comparadores Hora y Día del año. Para personalizar un mensaje, usa la etiqueta custom_attribute con notación de puntos. Para el perfil del ejemplo anterior, {{custom_attribute.${shopify_metafields_acme}.custom_vip_tier}} devuelve gold.

No puedes usar atributos personalizados anidados como filtro en una llamada a la API de Connected Audience, y Vista previa como usuario personalizado solo acepta datos simulados como cadenas o matrices de cadenas. Para ver la lista completa, consulta Consideraciones sobre los atributos personalizados anidados.

Metacampos de pedidos de Shopify

Los metacampos de pedidos de Shopify contienen tus propios datos sobre un pedido, como una nota de regalo o una preferencia de preparación del envío. Con la integración estándar de Shopify, puedes añadir determinados metacampos de pedidos a los eventos de pedidos. Para saber cómo aparecen en los eventos, qué eventos los incluyen, qué tipos se admiten y cómo cambiar tu selección, consulta Metacampos de pedidos de Shopify.

Recopilación de datos del SDK

Para obtener más información sobre qué datos recopilan los SDK de Braze, consulta Recopilación de datos del SDK.

Carga de datos históricos

Los datos históricos de Shopify se importan desde antes de que conectes Braze. Durante la configuración, eliges hasta qué fecha anterior quieres importar los eventos de pedidos y los perfiles de clientes. Cada intervalo de tiempo se cuenta hacia atrás desde la fecha en que completas tu integración.

Mediante la configuración de la integración estándar de Shopify o la configuración de la integración personalizada de Shopify, puedes activar la carga de datos históricos para incluir clientes y pedidos anteriores en Segments, Campaigns y Canvas. Cuando la actives, selecciona:

  • Un intervalo de fechas para pedidos: Últimos 90 días, Último año o Últimos 2 años (el valor predeterminado es Últimos 90 días)
  • Un intervalo de fechas para perfiles de clientes: Último año, Últimos 2 años o Todo el tiempo (el valor predeterminado es Todo el tiempo)

Braze muestra un recuento estimado de registros y el tiempo de procesamiento de cada opción antes de que termines la configuración. Cuando se completa la carga de datos históricos, los intervalos que seleccionaste aparecen como fechas concretas en la página del partner de Shopify. Estas selecciones no se pueden cambiar una vez completada la configuración.

Cuando Braze importa tus clientes de Shopify, les asigna el tipo de external_id que elegiste en tu configuración.

Si planeas integrar con un ID externo personalizado (ya sea para la integración estándar o la integración personalizada), deberás añadir tu ID externo personalizado como metacampo de cliente de Shopify a todos los perfiles de clientes de Shopify existentes y, a continuación, realizar el backfill histórico.

Cómo selecciona Braze los datos históricos

Braze utiliza estos campos de fecha de Shopify cuando se ejecuta la carga inicial:

Datos Intervalos disponibles Campo de fecha de Shopify
Eventos de pedidos (pedido realizado, pedido reembolsado y pedido cancelado) Últimos 90 días, Último año o Últimos 2 años Fecha de creación del pedido
Perfiles de usuario Último año, Últimos 2 años o Todo el tiempo Fecha de actualización del cliente

Si migras pedidos históricos a Shopify y conservas sus fechas de creación originales, Braze solo importa los pedidos cuyas fechas de creación están dentro del intervalo de pedidos que seleccionaste.

Configurar la carga de datos históricos de Shopify

  1. Selecciona Activar la carga de datos históricos en el paso Seguimiento de datos de Shopify.
  2. Elige un intervalo de fechas para los pedidos y otro para los perfiles de clientes. Revisa los recuentos estimados y el tiempo de procesamiento de tus selecciones.
  3. Después de completar la configuración de tu integración, Braze inicia la sincronización inicial de datos. Puedes supervisar el progreso en la pestaña Datos de Shopify de la configuración de tu integración.

La página de configuración de la integración de Shopify con un indicador de carga que muestra que los eventos se están sincronizando.

Velocidad y tiempo de sincronización de la carga

La carga de datos históricos la realiza la integración de Shopify de Braze, no el Braze SDK, y se inicia automáticamente cuando completas la configuración de la integración.

Después de habilitar la carga de datos históricos, Braze importa los eventos de pedidos y los perfiles de clientes de Shopify por lotes. Los eventos de pedidos y los perfiles de clientes se sincronizan en plazos distintos, así que uno puede terminar antes que el otro. Las cargas grandes se dividen en intervalos de fechas paralelos para que puedan ejecutarse al mismo tiempo.

El tiempo de sincronización depende de la cantidad de datos históricos que haya en tu tienda y de los intervalos que hayas seleccionado. Las tiendas con un gran volumen de pedidos o con bases de clientes grandes pueden tardar más en completar la carga. No puedes cambiar la velocidad de la carga ni solicitar una sincronización más rápida.

Datos sincronizados

Para la sincronización inicial de datos, Braze importa los eventos de pedidos y los perfiles de usuario descritos en Cómo selecciona Braze los datos históricos. Cuando Braze importa tus clientes de Shopify, les asigna el tipo de external_id que elegiste en tu configuración. Si seleccionaste metacampos de clientes durante la configuración, la carga de clientes también escribe esos valores. Si seleccionaste metacampos de pedidos durante la configuración, los pedidos cargados incluyen esos valores en los eventos de pedidos compatibles.

En la siguiente tabla se resumen los datos incluidos en esa carga inicial.

Eventos recomendados de Braze Eventos personalizados de Shopify Atributos estándar de Braze Estados de suscripción de Braze
  • Pedido realizado
  • Pedido cancelado
  • Pedido reembolsado
  • shopify_tags
  • shopify_total_spent
  • shopify_orders_count
  • shopify_last_order_id
  • shopify_zipcode
  • shopify_province
  • shopify_locale
  • Correo electrónico
  • Nombre
  • Apellido
  • Teléfono
  • Ciudad
  • País
  • Ingresos totales
  • Reembolsos totales
  • Pedidos totales
  • Suscripciones de marketing por correo electrónico asociadas a esta tienda de Shopify
  • Suscripciones de marketing por SMS asociadas a esta tienda de Shopify
New Stuff!