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. Isso pode fazer com que os eventos afetados sejam descartados.
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 | Template 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 da Shopify antes do 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
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 na sua mensagem.
| Variável | Template 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 }} |

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 alguns 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. Isso 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 na sua mensagem para referenciar os produtos que estão no carrinho no momento do checkout.
| Variável | Template 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 }} |
Você também pode personalizar com propriedades do evento de disparo ecommerce.checkout_started, como source e checkout_url. Essas propriedades não ficam armazenadas no carrinho de compras, então não estão disponíveis pela tag {% shopping_cart %}. Em um Canvas de checkout abandonado, referencie essas propriedades pelo contexto do Canvas:
| Variável | Template Liquid |
|---|---|
source |
{{context.${source}}} |
checkout_url |
{{context.${metadata}.checkout_url}} |
Por exemplo, em um e-mail de checkout 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
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 realizado 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 o ecommerce.order_placed para os pedidos em tempo real e preenchidos retroativamente dessa loja. Os outros eventos de pedido, o shopify_paid_order e os atributos de compra continuam sendo atualizados. Para saber mais, consulte Configuração de dados padrão.
| Variável | Template 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 com Liquid de catálogos, conforme descrito 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 | Template Liquid |
|---|---|
| ID do pedido | {{event_properties.${order_id}}} |
| Preço total | {{event_properties.${total_price}}} |
| Descontos totais | {{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 de 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}} |
| Número de rastreamento do processamento | {{event_properties.${fulfillments}[0].Fulfillment tracking_number}} |
| Números 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 de 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}} |
| Frete 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 | Template Liquid |
|---|---|
| ID do pedido | {{event_properties.${order_id}}} |
| Preço total | {{event_properties.${total_price}}} |
| Descontos totais | {{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 de processamento | {{event_properties.${fulfillment_status}}} |
| Status de envio do processamento | {{event_properties.${fulfillments}[0].shipment_status}} |
| Status de processamento | {{event_properties.${fulfillments}[0].status}} |
| Transportadora do processamento | {{event_properties.${fulfillments}[0].tracking_company}} |
| Número de rastreamento do processamento | {{event_properties.${fulfillments}[0].tracking_number}} |
| Números 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 de 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}} |
| Frete 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 | Template 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}}} |
| Descontos totais | {{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 do pedido
| Variável | Template Liquid |
|---|---|
| ID do pedido | {{event_properties.${order_id}}} |
| Preço total | {{event_properties.${total_price}}} |
| Descontos totais | {{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 de 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 de 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 | Template 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 própria conta
Fonte de dados: REST API da Braze
Caso de uso: Série de boas-vindas
| Variável | Template 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álises 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 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 |
O estado ou província 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é o cliente fazer um pedido. Depois disso, é atualizada com a localidade do checkout mais recente. |
Pixel da web da Braze, webhooks orders/* da Shopify, preenchimento retroativo do histórico de clientes |

A Shopify não fornece mais o nome do último pedido de um cliente, então a Braze não define o atributo shopify_last_order_name. 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 compatíveis com a Shopify

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

A Braze só atualiza os atributos personalizados compatíveis da Shopify e os atributos padrão da Braze quando os dados forem diferentes dos que já estão no perfil de usuário. Por exemplo, se os dados recebidos da Shopify trazem o nome Bob e Bob já existe como nome no perfil de usuário da Braze, a Braze não dispara uma atualização, e você não é cobrado por um ponto de dados.
Valores vazios da Shopify
Quando a Shopify envia um valor vazio para um atributo de usuário, você pode escolher se a Braze mantém ou limpa o valor que já está no perfil de usuário. Nas configurações da sua integração com a Shopify, em Comportamento no perfil de usuário quando a Shopify envia um valor vazio, selecione uma das opções a seguir:
| Opção | Quando usar |
|---|---|
| Manter o valor existente | Ideal quando outras fontes também atualizam esses perfis de usuário, como números de telefone vindos do seu CRM. |
| Limpar o valor existente | Ideal quando a Shopify é sua fonte de verdade. Nesse caso, um valor vazio significa que o dado foi removido. |
A configuração se aplica aos atributos padrão e aos atributos personalizados da Shopify que a Braze sincroniza a partir dos perfis de cliente. As integrações usam Manter o valor existente por padrão. Por exemplo, se os números de telefone também vêm do seu CRM e a Shopify envia um número de telefone vazio, o número do CRM permanece no perfil de usuário da Braze em vez de ser apagado.

Se a Shopify enviar um metacampo de cliente vazio, a Braze não sobrescreve o valor que já está no perfil.
Metacampos de clientes da Shopify
Os metacampos de clientes da Shopify guardam 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 metacampos de clientes com os perfis de usuário da Braze e usá-las para segmentar e personalizar.
Como os metacampos 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 metacampo selecionado vira 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 de forma profunda (deep merge) 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 metacampo estiver vazio na Shopify, o perfil mantém o último valor, independentemente da configuração de valores vazios para outros atributos.
Tipos de metacampos suportados
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 suportados.
| Tipo da Shopify | Armazenado no perfil como |
|---|---|
| Texto de linha única, Texto de várias linhas, Cor, URL, ID | String |
| Número inteiro | Integer |
| Decimal | Number |
| Verdadeiro ou falso | Boolean |
| Data, Data e hora | Time, 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 de 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 de número 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
| Origem | Quando |
|---|---|
Webhooks customers/create e customers/update da Shopify |
Sempre que um cliente muda na Shopify, incluindo uma alteração em um metacampo selecionado |
| Preenchimento retroativo do histórico | Se você selecionar metacampos durante a configuração, o preenchimento retroativo inicial de clientes os inclui |
| Clientes existentes | Quando você adiciona metacampos a uma loja conectada, a Braze sincroniza os valores com os perfis de usuário dos clientes atualizados desde o início da sua janela de preenchimento retroativo do histórico de clientes (ou desde a conexão da loja, se o preenchimento retroativo estava desativado). A página de integração mostra Sincronizando metacampos de clientes com perfis de usuário existentes enquanto isso acontece, e o seletor fica indisponível até o processo 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 Metacampos de clientes com um status (Ativo, ou Atualizando enquanto uma sincronização está em andamento) 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 metacampos
- 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 metacampo inicia uma sincronização para os clientes existentes. Remover um interrompe as atualizações dessa chave.
- Se você remover um metacampo da seleção, ou desativar Sincronizar metacampos de clientes como atributos de usuário, os perfis de usuário mantêm o último valor vindo da Shopify e param 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 filtrar pelos metacampos, 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 metacampos, para que as novas chaves apareçam.
Para segmentar por um metacampo, adicione o filtro Atributos personalizados aninhados, selecione shopify_metafields_<store>, selecione a chave como a propriedade e escolha um comparador para o tipo dela. Metacampos de data usam os comparadores Hora 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 da API de público conectado, e a opção 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.
Metafields de pedidos da Shopify
Os metafields de pedidos da Shopify armazenam seus próprios dados sobre um pedido, como uma mensagem de presente ou uma preferência de entrega. Com a integração padrão da Shopify, você pode adicionar metafields de pedidos selecionados aos eventos de pedido. Para saber como eles aparecem nos eventos, quais eventos os incluem, quais tipos são compatíveis e como alterar sua seleção, consulte Metafields de pedidos da Shopify.
Coleta de dados do SDK
Para saber mais sobre quais dados são coletados pelos SDKs da Braze, consulte Coleta de dados do SDK.
Backfill histórico
Os dados históricos da Shopify são importados de antes da conexão com a Braze. Durante a configuração, você escolhe até que data no passado importar eventos de pedido e perfis de clientes. Cada período é contado a partir da data em que você concluir 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 backfill histórico. Assim, clientes e pedidos antigos passam a ser incluídos 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)
Antes de você concluir a configuração, a Braze mostra uma estimativa da contagem de registros e do tempo de processamento para cada opção. Depois que o backfill for concluído, 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 for concluída.
Quando a Braze importa seus clientes da Shopify, ela atribui o tipo de external_id que você escolheu nas configurações.

Se você já é cliente da Braze e tem Campaigns ou Canvas ativos, analise como os clientes e eventos de pedido importados afetam seus Segments e jornadas antes de ativar o backfill histórico. O backfill histórico não atualiza retroativamente 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 pedido (pedido feito, 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 que você selecionou.
Configuração do backfill histórico da Shopify
- Selecione Ativar backfill histórico na etapa Rastrear dados da Shopify.
- Escolha um intervalo de datas para pedidos e outro 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 backfill
O backfill histórico é feito pela integração da Braze com a Shopify, e não pelo SDK da Braze. Ele começa automaticamente quando você conclui a configuração da integração.
Depois que você ativa o backfill histórico, a Braze importa eventos de pedido e perfis de clientes da Shopify em lotes. Eventos de pedido e perfis de clientes são sincronizados em cronogramas separados, então um pode terminar antes do outro. Backfills 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 com uma grande base de clientes podem levar mais tempo para concluir o backfill. Não é possível alterar a velocidade do backfill nem solicitar uma sincronização mais rápida.
Dados sincronizados
Na sincronização inicial de dados, a Braze importa os eventos de pedido e 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 configurações. Se você selecionou metacampos de clientes durante a configuração, o backfill de clientes também grava esses valores. Se você selecionou metacampos de pedidos durante a configuração, os pedidos importados no backfill incluem esses valores nos eventos de pedido compatíveis.
A tabela a seguir resume os dados incluídos nesse carregamento inicial.
| Eventos recomendados da Braze | Eventos personalizados da Shopify | Atributos padrão da Braze | Status de inscrição da Braze |
|---|---|---|---|
|
|
|
|