Ir para o conteúdo

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.

{
    "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
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 }}

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

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}}

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}}}

Atributos personalizados da Shopify compatíveis

{
  "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"
    }
  ]
}
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

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.

A seção "Adicionar personalização" com o menu suspenso "Atributo" expandido.

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

Colando um snippet de Liquid em uma mensagem.

Atributos padrão compatíveis com a Shopify

  • E-mail
  • Nome
  • Sobrenome
  • Telefone
  • Cidade
  • País

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.

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ê 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

  1. Selecione Ativar backfill histórico na etapa Rastrear dados da Shopify.
  2. 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.
  3. 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.

Página de configurações da integração da Shopify com um indicador de carregamento mostrando que os eventos estão sendo sincronizados.

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
  • Pedido feito
  • Pedido cancelado
  • Pedido reembolsado
  • shopify_tags
  • shopify_total_spent
  • shopify_orders_count
  • shopify_last_order_id
  • shopify_zipcode
  • shopify_province
  • shopify_locale
  • E-mail
  • Nome
  • Sobrenome
  • Telefone
  • Cidade
  • País
  • Receita total
  • Total de reembolsos
  • Total de pedidos
  • Inscrições de marketing por e-mail associadas a esta loja da Shopify
  • Inscrições de marketing por SMS associadas a esta loja da Shopify
New Stuff!