Recursos de dados da Shopify
Este artigo fornece uma visão geral dos recursos da Braze para Shopify, incluindo quais dados da Shopify são rastreados e exemplos de cargas úteis, backfill histórico e sincronizações de produtos.
Eventos rastreados da Shopify
A integração com a Shopify usa eventos recomendados de eCommerce para capturar os principais comportamentos de compra. Para ver exemplos de implementação e estratégias de marketing com esses eventos, consulte Casos de uso de eCommerce.

A integração da Shopify oferece suporte a webhooks de criação e atualização de clientes da Shopify, que estão localizados nas suas configurações de dados. Quando um perfil de usuário é criado ou atualizado na Shopify, um perfil de usuário correspondente na Braze será criado ou atualizado.
Essas ações não disparam eventos personalizados na Braze e são usadas exclusivamente para sincronizar dados de usuários da Shopify com a Braze. Os dados sincronizados incluem atributos personalizados, atributos padrão e, se ativado na sua configuração, estados de grupo de inscrições.
{
"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"
}
}

A Braze depende da Shopify para fornecer as propriedades de evento obrigatórias (como cart_id ou cart_token) para eventos de eCommerce. Em casos raros, problemas temporários na Shopify podem fazer com que essas propriedades não sejam enviadas, o que pode levar ao descarte dos eventos afetados.
Evento: ecommerce.product_viewed
Tipo: Evento recomendado
Disparado: Quando um cliente visualiza a página de um produto
Fonte de dados: SDKs da Braze
Caso de uso: Abandono de navegação
| Variável | Modelo 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}}} Adicione o domínio do seu site Shopify antes do URL. |
price |
{{event_properties.${price}}} |
currency |
{{event_properties.${currency}}} |
source |
{{event_properties.${source}}} |
sku |
{{event_properties.${metadata}[0].sku}} |
type |
event_properties.${type} |
Evento: ecommerce.cart_updated
Tipo: Evento recomendado
Disparado: Quando um cliente adiciona, remove ou atualiza itens no carrinho de compras
Fonte de dados: SDKs da Braze
Caso de uso: Abandono de carrinho
Para Canvas de carrinho abandonado, primeiro você precisa adicionar a Liquid tag inicial do carrinho de compras para obter o contexto do carrinho na sua mensagem.
{% shopping_cart {{context.${cart_id}}} %}
Depois, você pode adicionar as seguintes Liquid tags do carrinho de compras à sua mensagem.
| Variável | Modelo 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[0].sku }} |
source |
{{ shopping_cart.source }} |
metadata (value) |
{{ shopping_cart.metadata[0].<add_value_here> }} |

Para saber mais sobre como criar um loop for em Liquid para adicionar dinamicamente todos os produtos ao seu e-mail, consulte Personalização de produtos de carrinho abandonado para e-mails.
Evento: ecommerce.checkout_started
Tipo: Evento recomendado
Disparado: Quando um usuário acessa a página de checkout
Fonte de dados: REST API da Braze
Caso de uso: Abandono de checkout

Se um cliente usar o Shop Pay como opção de checkout acelerado, a Shopify pode ignorar certos eventos padrão de checkout (como o webhook de checkout iniciado da Shopify). Isso significa que a Braze pode não receber os dados necessários para adicionar o alias do token de checkout, o que pode afetar o rastreamento de abandono de checkout e a reconciliação de perfis de usuário.
Para Canvas de checkout abandonado, primeiro você precisa usar a seguinte Liquid tag:
{% shopping_cart {{context.${cart_id}}} :abort_if_not_abandoned false %}
{{context.${cart_id}}}
Depois, você pode adicionar as seguintes Liquid tags à sua mensagem para fazer referência aos produtos do carrinho no momento do checkout.
| Variável | Modelo 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 }} |
source |
{{ shopping_cart.source }} |
checkout_url |
{{ shopping_cart.metadata[0].checkout_url }} |
Evento: ecommerce.order_placed
Tipo: Evento recomendado
Disparado: Quando um usuário conclui o checkout e faz um pedido
Fonte de dados: REST API da Braze
Caso de uso: Confirmação de pedido, redirecionamento pós-compra, upsell ou cross-sell
Se outro sistema já envia eventos de pedido feito para a Braze, você pode desativar esse evento para uma loja com a opção Send Order Placed events from another source na etapa Track Shopify data. Assim, a Braze ignora ecommerce.order_placed nos pedidos ativos e retroativos dessa loja, enquanto os outros eventos de pedido, shopify_paid_order e os atributos de compra continuam sendo atualizados. Para mais detalhes, consulte Configuração de dados padrão.
| Variável | Modelo 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}} |

O webhook de checkout concluído da Shopify não contém URLs de produtos nem URLs de imagens. Por isso, você precisa usar a personalização Liquid com catálogos, conforme mencionado em Personalização de produtos de carrinho abandonado para e-mails.
Evento: shopify_fulfilled_order
Tipo: Evento personalizado
Disparado: Quando o pedido de um usuário é processado e está pronto para envio
Fonte de dados: REST API da Braze
Caso de uso: (Transacional) Atualização de processamento
| Variável | Modelo Liquid |
|---|---|
| ID do pedido | {{event_properties.${order_id}}} |
| Preço total | {{event_properties.${total_price}}} |
| Total de descontos | {{event_properties.${total_discounts}}} |
| Status de confirmação | {{event_properties.${confirmed}}} |
| URL do status do pedido | {{event_properties.${order_status_url}}} |
| Número do pedido | {{event_properties.${order_number}}} |
| Data e hora do cancelamento | {{event_properties.${cancelled_at}}} |
| Data e hora do fechamento | {{event_properties.${closed_at}}} |
| ID do item | {{event_properties.${line_items}[0].product_id}} |
| Quantidade do item | {{event_properties.${line_items}[0].quantity}} |
| SKU do item | {{event_properties.${line_items}[0].sku}} |
| Título do item | {{event_properties.${line_items}[0].title}} |
| Fornecedor do item | {{event_properties.${line_items}[0].vendor}} |
| Nome do item | {{event_properties.${line_items}[0].name}} |
| Propriedades do item | {{event_properties.${line_items}[0].properties}} |
| Preço do item | {{event_properties.${line_items}[0].price}} |
| Título do frete | {{event_properties.${shipping}[0].title}} |
| Preço do frete | {{event_properties.${shipping}[0].price}} |
| Status do processamento | {{event_properties.${fulfillment_status}}} |
| Status de envio do processamento | {{event_properties.${fulfillments}[0].shipment_status}} |
| Status | {{event_properties.${fulfillments}[0].status}} |
| Transportadora do processamento | {{event_properties.${fulfillments}[0].Fulfillment tracking_company}} |
| Código de rastreamento do processamento | {{event_properties.${fulfillments}[0].Fulfillment tracking_number}} |
| Códigos de rastreamento do processamento | {{event_properties.${fulfillments}[0].Fulfillment tracking_numbers}} |
| URL de rastreamento do processamento | {{event_properties.${fulfillments}[0].Fulfillment tracking_url}} |
| URLs de rastreamento do processamento | {{event_properties.${fulfillments}[0].Fulfillment tracking_urls}} |
| Status do processamento | {{event_properties.${fulfillments}[0].line_items[0].fulfillment_status}} |
| Nome do processamento | {{event_properties.${fulfillments}[0].line_items[0].name}} |
| Preço do processamento | {{event_properties.${fulfillments}[0].line_items[0].price}} |
| ID do produto do processamento | {{event_properties.${fulfillments}[0].line_items[0].product_id}} |
| Quantidade do processamento | {{event_properties.${fulfillments}[0].line_items[0].quantity}} |
| Envio do processamento | {{event_properties.${fulfillments}[0].line_items[0].requires_shipping}} |
| SKU do processamento | {{event_properties.${fulfillments}[0].line_items[0].sku}} |
| Título do processamento | {{event_properties.${fulfillments}[0].line_items[0].title}} |
| Fornecedor do processamento | {{event_properties.${fulfillments}[0].line_items[0].vendor}} |
| ID da variante | {{event_properties.${line_items}[0].variant_id}} |
| Título da variante | {{event_properties.${line_items}[0].variant_title}} |
Evento: shopify_partially_fulfilled_order
Tipo: Evento personalizado
Disparado: Quando parte do pedido de um usuário é processada e está pronta para envio
Fonte de dados: REST API da Braze
Caso de uso: (Transacional) Atualização de processamento
| Variável | Modelo Liquid |
|---|---|
| ID do pedido | {{event_properties.${order_id}}} |
| Preço total | {{event_properties.${total_price}}} |
| Total de descontos | {{event_properties.${total_discounts}}} |
| Status de confirmação | {{event_properties.${confirmed}}} |
| URL do status do pedido | {{event_properties.${order_status_url}}} |
| Número do pedido | {{event_properties.${order_number}}} |
| Data e hora do cancelamento | {{event_properties.${cancelled_at}}} |
| Data e hora do fechamento | {{event_properties.${closed_at}}} |
| ID do item | {{event_properties.${line_items}[0].product_id}} |
| Quantidade do item | {{event_properties.${line_items}[0].quantity}} |
| SKU do item | {{event_properties.${line_items}[0].sku}} |
| Título do item | {{event_properties.${line_items}[0].title}} |
| Fornecedor do item | {{event_properties.${line_items}[0].vendor}} |
| Nome do item | {{event_properties.${line_items}[0].name}} |
| Propriedades do item | {{event_properties.${line_items}[0].properties}} |
| Preço do item | {{event_properties.${line_items}[0].price}} |
| Título do frete | {{event_properties.${shipping}[0].title}} |
| Preço do frete | {{event_properties.${shipping}[0].price}} |
| Status do processamento | {{event_properties.${fulfillment_status}}} |
| Status de envio do processamento | {{event_properties.${fulfillments}[0].shipment_status}} |
| Status do processamento | {{event_properties.${fulfillments}[0].status}} |
| Transportadora do processamento | {{event_properties.${fulfillments}[0].tracking_company}} |
| Código de rastreamento do processamento | {{event_properties.${fulfillments}[0].tracking_number}} |
| Códigos de rastreamento do processamento | {{event_properties.${fulfillments}[0].tracking_numbers}} |
| URL de rastreamento do processamento | {{event_properties.${fulfillments}[0].tracking_url}} |
| URLs de rastreamento do processamento | {{event_properties.${fulfillments}[0].tracking_urls}} |
| Status do processamento | {{event_properties.${fulfillments}[0].line_items[0].fulfillment_status}} |
| Nome do processamento | {{event_properties.${fulfillments}[0].line_items[0].name}} |
| Preço do processamento | {{event_properties.${fulfillments}[0].line_items[0].price}} |
| ID do produto do processamento | {{event_properties.${fulfillments}[0].line_items[0].product_id}} |
| Quantidade do processamento | {{event_properties.${fulfillments}[0].line_items[0].quantity}} |
| Envio do processamento | {{event_properties.${fulfillments}[0].line_items[0].requires_shipping}} |
| SKU do processamento | {{event_properties.${fulfillments}[0].line_items[0].sku}} |
| Título do processamento | {{event_properties.${fulfillments}[0].line_items[0].title}} |
| Fornecedor do processamento | {{event_properties.${fulfillments}[0].line_items[0].vendor}} |
| ID da variante | {{event_properties.${line_items}[0].variant_id}} |
| Título da variante | {{event_properties.${line_items}[0].variant_title}} |
Evento: shopify_paid_order
Tipo: Evento personalizado
Disparado: Quando o pedido de um usuário é marcado como pago na Shopify
Fonte de dados: REST API da Braze
Caso de uso: (Transacional) Confirmação de pagamento
| Variável | Modelo Liquid |
|---|---|
| ID do pedido | {{event_properties.${order_id}}} |
| Status de confirmação | {{event_properties.${confirmed}}} |
| URL do status do pedido | {{event_properties.${order_status_url}}} |
| Número do pedido | {{event_properties.${order_number}}} |
| Data e hora do cancelamento | {{event_properties.${cancelled_at}}} |
| Total de descontos | {{event_properties.${total_discounts}}} |
| Preço total | {{event_properties.${total_price}}} |
| Tags | {{event_properties.${tags}}} |
| Códigos de desconto | {{event_properties.${discount_codes}}} |
| ID do item | {{event_properties.${line_items}[0].product_id}} |
| Quantidade do item | {{event_properties.${line_items}[0].quantity}} |
| SKU do item | {{event_properties.${line_items}[0].sku}} |
| Título do item | {{event_properties.${line_items}[0].title}} |
| Fornecedor do item | {{event_properties.${line_items}[0].vendor}} |
| Propriedades do item | {{event_properties.${line_items}[0].properties}} |
| Preço do item | {{event_properties.${line_items}[0].price}} |
| Título do frete | {{event_properties.${shipping}[0].title}} |
| Preço do frete | {{event_properties.${shipping}[0].price}} |
| ID da variante | {{event_properties.${line_items}[0].variant_id}} |
| Título da variante | {{event_properties.${line_items}[0].variant_title}} |
Evento: ecommerce.order_cancelled
Tipo: Evento recomendado
Disparado: Quando o pedido de um usuário é cancelado
Fonte de dados: REST API da Braze
Caso de uso: (Transacional) Confirmação de cancelamento de pedido
| Variável | Modelo Liquid |
|---|---|
| ID do pedido | {{event_properties.${order_id}}} |
| Preço total | {{event_properties.${total_price}}} |
| Total de descontos | {{event_properties.${total_discounts}}} |
| Confirmado | {{event_properties.${confirmed}}} |
| URL do status do pedido | {{event_properties.${order_status_url}}} |
| Número do pedido | {{event_properties.${order_number}}} |
| Data e hora do cancelamento | {{event_properties.${cancelled_at}}} |
| Tags | {{event_properties.${tags}}} |
| Códigos de desconto | {{event_properties.${discount_codes}}} |
| Status do processamento | {{event_properties.${fulfillment_status}}} |
| Processamentos | {{event_properties.${fulfillments}}} |
| ID do item | {{event_properties.${line_items}[0].product_id}} |
| Quantidade do item | {{event_properties.${line_items}[0].quantity}} |
| SKU do item | {{event_properties.${line_items}[0].sku}} |
| Título do item | {{event_properties.${line_items}[0].title}} |
| Fornecedor do item | {{event_properties.${line_items}[0].vendor}} |
| Nome do item | {{event_properties.${line_items}[0].name}} |
| Propriedades do item | {{event_properties.${line_items}[0].properties}} |
| Status do processamento | {{event_properties.${line_items}[0].fulfillment_status}} |
| Título do frete | {{event_properties.${shipping}[0].title}} |
| Preço do frete | {{event_properties.${shipping}[0].price}} |
| ID da variante | {{event_properties.${line_items}[0].variant_id}} |
| Título da variante | {{event_properties.${line_items}[0].variant_title}} |
Evento: ecommerce.order_refunded
Tipo: Evento recomendado
Disparado: Quando o pedido de um usuário é reembolsado
Fonte de dados: REST API da Braze
Caso de uso: (Transacional) Confirmação de reembolso
| Variável | Modelo Liquid |
|---|---|
| ID do pedido | {{event_properties.${order_id}}} |
| Nota do pedido | {event_properties.${note}}} |
| ID do item | {{event_properties.${line_items}[0].product_id}} |
| Quantidade do item | {{event_properties.${line_items}[0].quantity}} |
| SKU do item | {{event_properties.${line_items}[0].sku}} |
| Título do item | {{event_properties.${line_items}[0].title}} |
| Fornecedor do item | {{event_properties.${line_items}[0].vendor}} |
| Nome do item | {{event_properties.${line_items}[0].name}} |
| Propriedades do item | {{event_properties.${line_items}[0].properties}} |
| Preço do item | {{event_properties.${line_items}[0].price}} |
| ID da variante | {{event_properties.${line_items}[0].variant_id}} |
| Título da variante | {{event_properties.${line_items}[0].variant_title}} |
Evento: shopify_account_login
Tipo: Evento personalizado
Disparado: Quando um usuário faz login na conta
Fonte de dados: REST API da Braze
Caso de uso: Série de boas-vindas
| Variável | Modelo Liquid |
|---|---|
source |
{{event_properties.${source}}} |

No momento, a integração com a Shopify não oferece suporte ao preenchimento do evento de compra da Braze. Por isso, filtros de compra, Liquid tags, gatilhos baseados em ação e análise de dados devem usar o evento ecommerce.order_placed.
Atributos personalizados da Shopify compatíveis

Todos os atributos são originados da REST API da Braze.
| Nome do atributo | Descrição | Fonte de dados |
|---|---|---|
shopify_total_spent |
O valor total que o cliente gastou em todo o seu histórico de pedidos. | Webhook customers/purchasing_summary da Shopify |
shopify_orders_count |
O número de pedidos associados a esse cliente. Pedidos de teste e arquivados não são contabilizados. | Webhook customers/purchasing_summary da Shopify |
shopify_last_order_id |
O ID do último pedido do cliente. | Webhook customers/purchasing_summary da Shopify |
shopify_zipcode |
O CEP do endereço padrão do cliente. | Webhooks customers/create e customers/update da Shopify |
shopify_province |
A província (estado) do endereço padrão do cliente. | Webhooks customers/create e customers/update da Shopify |
shopify_locale |
A localidade do cliente (por exemplo, en ou fr-CA). Ela é definida a partir do idioma do navegador coletado pelo pixel da web da Braze até que o cliente faça um pedido e, depois, é atualizada com a localidade do checkout mais recente. |
Pixel da web da Braze, webhooks orders/* da Shopify, preenchimento retroativo de clientes históricos |

A Shopify não fornece mais o nome do último pedido do cliente, então a Braze não define um atributo shopify_last_order_name. Os perfis que já têm um valor o mantêm, mas ele não é atualizado.
Personalização com Liquid
Para adicionar personalização com Liquid aos seus atributos personalizados da Shopify, selecione + Personalização. Em seguida, selecione Atributos personalizados como tipo de personalização.

Depois de selecionar seu atributo personalizado, insira um valor padrão e copie o snippet de Liquid para sua mensagem.

Atributos padrão do Shopify compatíveis

Todos os atributos são originados da REST API da Braze.
- Nome
- Sobrenome
- Telefone
- Cidade
- País

A Braze só atualiza os atributos personalizados do Shopify compatíveis e os atributos padrão da Braze se houver diferença em relação aos dados do perfil de usuário existente. Por exemplo, se os dados recebidos do Shopify tiverem o nome Bob e Bob já constar como nome no perfil de usuário da Braze, a Braze não vai disparar uma atualização, e você não será cobrado por um ponto de dados.
Metafields de cliente da Shopify
Os metafields de cliente da Shopify armazenam seus próprios dados sobre um cliente, como um nível de fidelidade ou uma pontuação de risco de churn. Com a integração padrão, você pode sincronizar até 20 definições de metafields de cliente com os perfis de usuário da Braze e usá-las para segmentar e personalizar.
Como os metafields chegam ao perfil de usuário
A Braze adiciona um atributo personalizado aninhado por loja conectada, chamado shopify_metafields_<store>, em que <store> é a primeira parte do seu domínio <store>.myshopify.com. Cada metafield selecionado se torna uma chave dentro desse objeto, chamada <namespace>_<key>. Por exemplo, as definições custom.vip_tier e custom.loyalty_points na loja acme.myshopify.com chegam a um perfil assim:
{
"shopify_metafields_acme": {
"custom_vip_tier": "gold",
"custom_loyalty_points": 120
}
}
Cada atualização é mesclada profundamente no objeto. Então, uma atualização que traz uma chave nunca apaga as outras, e a Braze nunca remove uma chave do objeto. Se um metafield estiver vazio na Shopify, o perfil mantém o último valor.
Tipos de metafield compatíveis
Somente definições com os tipos a seguir aparecem no seletor. Outros tipos, como referências, arquivos, JSON, dinheiro e classificação, não são compatíveis.
| Tipo na Shopify | Armazenado no perfil como |
|---|---|
| Texto de linha única, texto de várias linhas, cor, URL, ID | String |
| Inteiro | Inteiro |
| Decimal | Número |
| Verdadeiro ou falso | Booleano |
| Data, data e hora | Tempo, para que você possa usar filtros de Segment baseados em data |
| Lista de textos de linha única, datas, datas e horas, cores, IDs ou URLs | Array de strings |
A Braze deixa um valor fora do perfil, e continua gravando as outras chaves, quando:
- Um valor de string, ou um item em uma lista, tem mais de 255 caracteres.
- Um valor não pode ser convertido para o tipo da definição, por exemplo, texto em um campo inteiro.
- A chave do atributo (
<namespace>_<key>) tem mais de 255 caracteres ou contém um caractere que a Braze não consegue armazenar, como$ou..
Quando os valores são sincronizados
| Fonte | Quando |
|---|---|
Webhooks customers/create e customers/update da Shopify |
Sempre que um cliente muda na Shopify, incluindo uma alteração em um metafield selecionado |
| Preenchimento histórico | Se você selecionar metafields durante a configuração, o preenchimento inicial de clientes os inclui |
| Clientes existentes | Quando você adiciona metafields a uma loja conectada, a Braze sincroniza os valores com os perfis de usuário dos clientes atualizados desde o início da janela de preenchimento histórico de clientes (ou desde que a loja foi conectada, se o preenchimento estava desativado). A página de integração mostra Sincronizando metafields de cliente com perfis de usuário existentes enquanto isso é executado, e o seletor fica indisponível até terminar. |
Você pode verificar o estado da sincronização na tabela Atributos de usuário da Shopify na página de integração. Ela lista Atributos padrão e Metafields de cliente com um status (Ativo, ou Atualizando enquanto uma sincronização é executada) e o número de atributos em cada um. Selecione o ícone de visualização em uma linha para ver os nomes dos atributos.
Alterar ou remover metafields
- Para alterar a seleção, selecione Editar configurações na página de integração e atualize o seletor na etapa Rastrear dados da Shopify. Adicionar um metafield inicia uma sincronização para clientes existentes; remover um interrompe as atualizações dessa chave.
- Se você remover um metafield da seleção, ou desativar Sincronizar metafields de cliente como atributos de usuário, os perfis de usuário mantêm o último valor da Shopify e deixam de ser atualizados.
- Se você excluir uma definição na Shopify, a Braze a remove automaticamente da sua seleção. Os valores que já estão nos perfis de usuário permanecem.
Segmentação e personalização
Antes de poder filtrar pelos metafields, gere um esquema para o atributo: acesse Configurações de dados > Atributos personalizados, encontre shopify_metafields_<store> e selecione Gerar esquema. A Braze cria o esquema a partir dos valores que já estão nos perfis de usuário. Portanto, faça isso depois que a primeira sincronização terminar e gere o esquema novamente depois de adicionar metafields para que as novas chaves apareçam.
Para segmentar por um metafield, adicione o filtro Atributos personalizados aninhados, selecione shopify_metafields_<store>, selecione a chave como propriedade e escolha um comparador para o tipo dela. Metafields de data usam os comparadores Tempo e Dia do ano. Para personalizar uma mensagem, use a tag custom_attribute com notação de ponto. Para o perfil do exemplo anterior, {{custom_attribute.${shopify_metafields_acme}.custom_vip_tier}} retorna gold.
Não é possível usar atributos personalizados aninhados como filtro em uma chamada de API do Connected Audience, e Prévia como usuário personalizado aceita dados simulados apenas como strings ou arrays de strings. Para ver a lista completa, consulte Considerações sobre atributos personalizados aninhados.
Coleta de dados do SDK
Para saber mais sobre quais dados são coletados pelos SDKs da Braze, consulte Coleta de dados do SDK.
Preenchimento histórico
Os dados históricos da Shopify são importados de antes de você conectar a Braze. Durante a configuração, você escolhe até quando importar eventos de pedidos e perfis de clientes. Cada período é contado retroativamente a partir da data em que você conclui sua integração.
Na configuração da integração padrão da Shopify ou na configuração da integração personalizada da Shopify, você pode ativar o preenchimento histórico para incluir clientes e pedidos anteriores em Segments, Campaigns e Canvas. Ao ativá-lo, selecione:
- Um intervalo de datas para pedidos: Últimos 90 dias, Último ano ou Últimos 2 anos (o padrão é Últimos 90 dias)
- Um intervalo de datas para perfis de clientes: Último ano, Últimos 2 anos ou Todo o período (o padrão é Todo o período)
A Braze mostra uma contagem estimada de registros e o tempo de processamento de cada opção antes de você concluir a configuração. Depois que o preenchimento termina, os períodos selecionados aparecem como datas específicas na página de parceiro da Shopify. Essas seleções não podem ser alteradas depois que a configuração é concluída.
Quando a Braze importa seus clientes da Shopify, ela atribui o tipo de external_id que você escolheu nas suas configurações.

Se você já é cliente da Braze e tem Campaigns ou Canvas ativos, analise como os clientes e eventos de pedidos importados afetam seus Segments e jornadas antes de ativar o preenchimento histórico. O preenchimento histórico não atualiza retroativamente os usuários que já estão em Campaigns ou Canvas ativos.
Se você planeja integrar com um ID externo personalizado (seja para a integração padrão ou para a integração personalizada), será necessário adicionar seu ID externo personalizado como um metacampo de cliente da Shopify a todos os perfis de clientes existentes da Shopify e, em seguida, realizar o backfill histórico.
Como a Braze seleciona os dados históricos
A Braze usa estes campos de data da Shopify quando o carregamento inicial é executado:
| Dados | Períodos disponíveis | Campo de data da Shopify |
|---|---|---|
| Eventos de pedidos (pedido realizado, pedido reembolsado e pedido cancelado) | Últimos 90 dias, Último ano ou Últimos 2 anos | Data de criação do pedido |
| Perfis de usuário | Último ano, Últimos 2 anos ou Todo o período | Data de atualização do cliente |
Se você migrar pedidos históricos para a Shopify e mantiver as datas de criação originais, a Braze importará apenas os pedidos cujas datas de criação estejam dentro do período de pedidos selecionado.
Configuração do preenchimento histórico da Shopify
- Selecione Ativar preenchimento histórico na etapa Rastrear dados da Shopify.
- Escolha um intervalo de datas para pedidos e um intervalo de datas para perfis de clientes. Revise as contagens estimadas e o tempo de processamento das suas seleções.
- Depois que você concluir a configuração da integração, a Braze inicia a sincronização inicial dos dados. Você pode acompanhar o progresso na guia Dados da Shopify das configurações da integração.

Taxa e tempo de sincronização do preenchimento
O preenchimento histórico é realizado pela integração da Braze com a Shopify, e não pelo SDK da Braze, e começa automaticamente quando você conclui a configuração da integração.
Depois que você ativa o preenchimento histórico, a Braze importa eventos de pedidos e perfis de clientes da Shopify em lotes. Eventos de pedidos e perfis de clientes são sincronizados em cronogramas separados, então um pode terminar antes do outro. Preenchimentos grandes são divididos em intervalos de datas paralelos para que possam ser executados ao mesmo tempo.
O tempo de sincronização depende da quantidade de dados históricos da sua loja e dos períodos que você selecionou. Lojas com alto volume de pedidos ou grandes bases de clientes podem levar mais tempo para concluir o preenchimento. Não é possível alterar a velocidade do preenchimento nem solicitar uma sincronização mais rápida.
Dados sincronizados
Na sincronização inicial, a Braze importa os eventos de pedidos e os perfis de usuário descritos em Como a Braze seleciona os dados históricos. Quando a Braze importa seus clientes da Shopify, ela atribui o tipo de external_id que você escolheu nas suas configurações. Se você selecionou metacampos de clientes durante a configuração, o preenchimento de clientes também grava esses valores.
A tabela a seguir resume os dados incluídos nesse carregamento inicial.
| Eventos recomendados pela Braze | Eventos personalizados da Shopify | Atributos padrão da Braze | Status de inscrição da Braze |
|---|---|---|---|
|
|
|
|