Sincronização de produtos da Shopify
Você pode sincronizar todos os produtos da sua loja Shopify com um catálogo da Braze para uma personalização mais profunda do envio de mensagens.
Os catálogos da Shopify serão atualizados quase em tempo real à medida que você fizer edições e alterações nos produtos da sua loja Shopify. É possível enriquecer seu carrinho abandonado, a confirmação do pedido e muito mais com os detalhes e as informações mais atualizadas do produto.
Além de oferecer suporte aos dados principais de produtos da Shopify, você pode sincronizar coleções da Shopify, tags de produtos e metacampos de produtos com o seu catálogo da Braze. Esses campos adicionais possibilitam uma personalização mais rica, seleções de catálogo mais precisas e uma segmentação mais poderosa por meio de extensões de Segment.
Configure sua sincronização de produtos da Shopify
Se você já instalou sua loja Shopify, ainda poderá sincronizar seus produtos seguindo as instruções desta seção.
Etapa 1: Ativar a sincronização
Você pode sincronizar seus produtos com um catálogo da Braze por meio do fluxo de instalação da Shopify ou na página de parceiros da Shopify.

Etapa 2: Selecione o identificador do seu produto
Selecione o identificador de produto principal a ser usado como ID do catálogo da Braze:
- Shopify Variant ID é uma boa opção padrão quando seus SKUs estão ausentes, duplicados entre variantes ou podem conter caracteres como barras, pontos, espaços ou “e” comercial. Os Variant IDs são numéricos e sempre atendem a esses requisitos.
- SKU funciona bem quando cada variante tem um SKU exclusivo que segue as mesmas regras de caracteres do Shopify Variant ID, e você deseja que o envio de mensagens ou a análise de dados use SKUs de varejo como chave do catálogo.
- Você pode usar SKUs de texto livre que contenham caracteres não permitidos usando o Shopify Variant ID em vez do SKU.
O valor selecionado se torna o item_id do catálogo e pode conter apenas letras, números, hífens e sublinhados.

Se estiver usando SKU como ID do catálogo, certifique-se de que todos os seus produtos e variantes na sua loja tenham um SKU definido e que sejam exclusivos.
- Se um item não tiver um SKU, a Braze não poderá sincronizar esse produto no catálogo.
- Se você tiver mais de um produto com o mesmo SKU, isso pode causar um comportamento inesperado ou substituir involuntariamente as informações do produto.
Etapa 3: Configure dados adicionais de produtos (opcional)
Opcionalmente, você pode ativar a sincronização de tags de produtos, coleções da Shopify e metacampos. Ative ou modifique essas configurações após a sincronização inicial na página de parceiros da Shopify.

Adicione tags de produtos, coleções da Shopify e metacampos na Shopify primeiro. Se eles não existirem na Shopify, não aparecerão na Braze.

- Selecione Sync Shopify collections para abrir o modal de configuração de coleções.
- Selecione até 20 coleções para sincronizar.
- O modal fornece uma lista pesquisável de até 5.000 das coleções criadas ou atualizadas mais recentemente na sua loja Shopify.
- Coleções selecionadas anteriormente que não estão mais entre as 5.000 principais ainda aparecerão na sua seleção.

A Braze usa o ID de coleção da Shopify para identificar coleções sincronizadas, que são então usadas ao criar seleções de catálogo e filtros de Segment.


Para exemplos de como usar cada tipo de dado de produto, consulte Casos de uso de catálogos da Shopify
Etapa 4: Acompanhe o progresso da sincronização
Após salvar sua configuração, a Braze começará a sincronizar seus produtos e atualizará o status para In Progress na página de parceiros da Shopify. O tempo de sincronização depende do número de produtos e variantes na sua loja.
Você pode sair da página assim que a sincronização estiver em andamento; a Braze enviará uma notificação no dashboard quando a sincronização for concluída. Após a conclusão, o status será atualizado para Active e você poderá visualizar seus produtos selecionando o nome do catálogo na página de parceiros da Shopify.

Você também pode visualizar tags de produtos, metacampos e coleções sincronizados no seu catálogo da Shopify como novas colunas.


Se a sincronização exceder o limite de armazenamento do seu catálogo, a Braze interromperá a sincronização e as novas atualizações de produtos não serão mais refletidas. Entre em contato com seu CSM para fazer upgrade do seu nível, se necessário.
Etapa 5: Gerencie sua configuração
Cada tipo de sincronização possui um cartão de resumo na página de parceiros da Shopify mostrando a contagem total sincronizada, o status atual e um link para o seu catálogo. Selecione o ícone de visualização para ver sua configuração ativa e editá-la.
Você pode modificar a sincronização de produtos da Shopify, incluindo o gerenciamento de tags de produtos, coleções e metacampos de produtos a qualquer momento na página de parceiros da Shopify.


Alterar suas seleções sincronizadas pode afetar Campaigns, Canvas ou seleções de catálogo ativas que fazem referência a elas. Atualize o conteúdo ativo para que funcione corretamente ao aplicar as alterações.
Dados de catálogo da Shopify compatíveis
| Campo | Tipo de dado | Exemplos |
|---|---|---|
id |
string | 45264808411274 quando o identificador de produto do catálogo é Shopify Variant ID12345 quando o identificador de produto do catálogo é SKU (corresponde ao valor selecionado na Etapa 2) |
store_name |
string | “your-store” (subdomínio da loja Shopify, sem .myshopify.com) |
shopify_product_id |
número | 7939032613002 (armazenado como número no seu catálogo da Braze; as APIs da Shopify podem retornar esse ID como string) |
shopify_variant_id |
número | 45264808411274 (armazenado como número no seu catálogo da Braze; as APIs da Shopify podem retornar esse ID como string) |
product_title |
string | “Classic leather jacket” |
variant_title |
string | “Large / Red”, “Medium” ou “Default Title” para produtos com uma única variante |
status |
string | “active”, “draft”, “archived” |
product_image_url |
string | “https://cdn.shopify.com/s/files/1/0641/0970/7402/files/t_shir.jpg?v=1736538760” |
variant_image_url |
string | A mesma URL no estilo CDN da imagem do produto quando não existe imagem da variante; caso contrário, uma URL de imagem específica da variante |
vendor |
string | “Flash and Thread”, “PantsLabyrinth” |
product_type |
string | “Outerwear”, “T-Shirts” (do campo Product type do produto na Shopify) |
product_url |
string | “https://your-store.myshopify.com/products/classic-leather-jacket” |
product_handle |
string | “classic-leather-jacket” |
published_scope |
string | “web”, “global” |
price |
número | 10.00, 24.99A Shopify costuma retornar preços como strings (por exemplo, "199.00" na REST Admin API). A Braze os converte em números para este campo do catálogo. |
compare_at_price |
número | 15.00 quando Compare at price está definido na Shopify0 quando a Shopify não tem preço comparativo. As APIs da Shopify normalmente retornam null para um preço comparativo não definido; a Braze armazena 0 no catálogo para que o campo seja sempre numérico (esse é um padrão da Braze, não um valor que a Shopify envia como 0). |
inventory_quantity |
número | 20, 0 ou um valor negativo quando a venda acima do estoque é permitida (por exemplo, -18) |
options |
string | “Size,Color” A Shopify permite até três tipos de opção por produto (por exemplo, tamanho, cor, material). O valor de options é uma lista desses nomes separados por vírgula. |
option_values |
string | “Medium,Red”, “Large,Red” Cada valor segue a mesma ordem de options (até três valores). |
sku |
string | “12345”, “SKU-001-RED-L” |
product_tags |
array | ["Summer", "Sale", "New"]Requer a sincronização de tags de produtos. |
collection_ids |
array | [123456789012, 987654321098] (IDs de coleções da Shopify)Requer a sincronização de coleções da Shopify. |
Colunas de metacampos |
Varia conforme o tipo | Cada metacampo sincronizado aparece como uma coluna separada, nomeada pela sua chave. Para saber mais, consulte Metacampos compatíveis na guia “Metacampos de produtos” da etapa 3. |

Seu catálogo da Shopify é gerenciado pela Shopify. Para atualizar seu catálogo, faça as alterações diretamente na sua loja Shopify, e elas serão sincronizadas automaticamente com a Braze. Para excluir seu catálogo da Shopify, acesse a página de parceiro da Shopify na Braze e desative a sincronização.
Casos de uso do catálogo da Shopify
Estes casos de uso mostram como você pode usar os dados sincronizados do seu catálogo da Shopify para personalizar mensagens.

A Braze sincroniza até 250 variantes de cada produto da Shopify no seu catálogo. As variantes além desse limite não são sincronizadas. Se precisar de mais de 250 variantes por produto, entre em contato com o gerente de sucesso do cliente da Braze.
Use as coleções da Shopify para trazer às suas mensagens os mesmos agrupamentos de produtos selecionados que você usa no site e nas experiências de aplicativo da Shopify. Por exemplo, destaque “New Arrivals” em um e-mail promocional, faça venda cruzada de “Best Sellers” em um Canvas de carrinho abandonado ou direcione usuários que navegaram por uma coleção sazonal.
Seleção de catálogo
- Na Shopify, crie uma coleção “New Women’s Products - In Stock” com seus produtos de melhor desempenho.

- Na Braze, ative a sincronização de coleções e selecione “Women’s Products - In Stock”.


Para coleções da Shopify, você deve usar o ID da coleção, que aparece no URL quando você visualiza a coleção. Por exemplo, o URL https://admin.shopify.com/store/se-team-ecommerce/collections/470645342446 tem o ID da coleção 470645342446.
Personalização

Ao fazer referência a IDs de coleção em seleções de catálogo, use apenas o valor numérico do ID, sem os colchetes de array [] que aparecem nos dados do catálogo. Por exemplo, se os IDs de coleção aparecem como [123456789012, 987654321098] no seu catálogo, escreva apenas o ID numérico (como 470645342446) no filtro da seleção.
- Crie uma seleção de catálogo chamada “New Women’s Products - In Stock” filtrada pelos produtos que têm o ID dessa coleção. Você só pode usar um único campo de array em uma seleção de catálogo, com até 50 produtos na sua coleção.
- Você também pode criar suas próprias seleções personalizadas filtrando pelo campo Coleções.

- Na sua mensagem, insira a coleção usando a seleção que você criou ou fazendo referência direta à coleção. Por exemplo, você pode usar um bloco de produto em HTML como este:
{% catalog_selection_items se-team-ecommerce_shopify_catalog shopify_collection_womens_instock %}
{% if items[0] == blank %}
{% abort_message('Catalog selection returned no items') %}
{% endif %}
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="border-collapse:collapse;">
{% for item in items %}
{% if forloop.index0 < 3 %}
{% assign title = item.product_title | default: '' %}
{% assign image_url = item.variant_image_url | default: '' %}
{% assign price = item.price | default: '' %}
{% assign url = item.product_url | default: '' %}
<tr>
<td width="200" valign="top" style="padding:12px 12px 12px 0;">
{% if image_url == blank %}
<div style="width:200px;height:200px;background:#f2f2f2;line-height:200px;text-align:center;font-family:Arial,sans-serif;font-size:12px;color:#666;">
No image
</div>
{% else %}
{% if url == blank %}
<img src="{{ image_url }}" width="200" height="200" alt="{{ title | escape }}" style="display:block;border:0;outline:none;text-decoration:none;" />
{% else %}
<a href="{{ url }}" style="text-decoration:none;">
<img src="{{ image_url }}" width="200" height="200" alt="{{ title | escape }}" style="display:block;border:0;outline:none;text-decoration:none;" />
</a>
{% endif %}
{% endif %}
</td>
<td valign="top" style="padding:12px 0;font-family:Arial,sans-serif;font-size:14px;line-height:20px;color:#111;">
{% if title != blank %}<div style="font-weight:600;">{{ title | escape }}</div>{% endif %}
{% if price != blank %}<div>Price: ${{ price }}</div>{% endif %}
{% if url != blank %}<div><a href="{{ url }}" style="color:#F84B09;">View product</a></div>{% endif %}
</td>
</tr>
{% endif %}
{% endfor %}
</table>
Ou, se quiser mencionar produtos novos específicos em uma notificação por push, use a ferramenta Adicionar personalização e especifique os itens do catálogo.
Checkout the latest women's clothing:
{% catalog_selection_items se-team-ecommerce_shopify_catalog shopify_collection_womens_instock %}
{{ items[0].product_title}}{{items[0].price}}
{{ items[1].product_title}}{{items[1].price}}
{{ items[2].product_title}}{{items[2].price}}

Segmentação por catálogo (SQL)
Crie um Segment de usuários que interagiram com uma coleção. Use extensões de segmento para criar Segments com base na participação em coleções. Por exemplo, para encontrar usuários que compraram produtos de uma coleção específica no último ano, use esta consulta:
-- Description:
-- This query fetches users who have engaged with catalog items that contain a specific collection ID. It joins the catalog
-- to custom events by matching any element in an array within events.properties.products (e.g. any product
-- with variant_id equal to a catalog item), using Snowflake LATERAL FLATTEN to explode the array.
SELECT
DISTINCT(events.user_id)
FROM
USERS_BEHAVIORS_CUSTOMEVENT_SHARED AS events,
LATERAL FLATTEN(input => GET_PATH(TRY_PARSE_JSON(events.properties), 'products'), outer => false) AS event_item
JOIN CATALOGS_ITEMS_SHARED AS items ON (
(
items.field_name = 'id'
AND
items.field_value = GET_PATH(event_item.value, 'variant_id')::STRING
)
OR
items.item_id = GET_PATH(event_item.value, 'variant_id')::STRING
)
WHERE
events.name = 'ecommerce.order_placed'
and events.app_group_id = '<app_group_id>'
AND items.catalog_id = '<catalog_id>'
AND (items.field_name = 'collection_ids' AND ARRAY_CONTAINS('<collection_ids_value>'::VARIANT, TRY_PARSE_JSON(items.field_value)));

Você também pode configurar notificações de queda de preço e notificações de volta ao estoque!
Para cada caso de uso, você deve criar um evento personalizado que capture o status de inscrição do usuário no seu catálogo. O evento personalizado precisa de uma propriedade de evento que corresponda ao SKU ou ID da variante da Shopify que você selecionou como parte da sincronização de produtos do Shopify.
Desativar a sincronização de produtos
A desativação do recurso de sincronização de produtos da Shopify excluirá o catálogo completo e os produtos. Isso também pode afetar quaisquer mensagens que possam estar usando ativamente os dados do produto desse catálogo. Confirme se você atualizou ou pausou essas Campaigns ou Canvas antes da desativação, pois isso pode resultar no envio de mensagens sem detalhes do produto. Não exclua o catálogo da Shopify diretamente na página de catálogos.
Solução de problemas
Se a sincronização de produtos do Shopify apresentar um erro, a causa pode ser um dos erros abaixo. Siga as instruções para corrigir o problema e resolver a sincronização:
| Erro | Motivo | Solução |
|---|---|---|
| Erro de servidor | Isso ocorre quando há um erro de servidor do lado da Shopify no momento em que tentamos sincronizar seus produtos. | Desative a sincronização e sincronize novamente todo o seu inventário de produtos. |
| SKU duplicado | Isso ocorre quando você usa o SKU como ID do item de catálogo e várias variantes compartilham o mesmo SKU. Cada item_id do catálogo precisa ser único. Por isso, os itens afetados podem não ser sincronizados, acumular registros de erro ou ter as informações do produto sobrescritas sem querer. |
Revise a lista completa de produtos e variantes na Shopify para garantir que não haja SKUs duplicados. Se houver, atualize-os para SKUs únicos somente na sua conta da loja Shopify. Depois de corrigir, desative a sincronização e sincronize novamente todo o seu inventário de produtos. |
| Limite de catálogo excedido | Isso ocorre quando você excede o limite do seu catálogo. A Braze não consegue concluir a sincronização nem mantê-la ativa porque não há mais espaço de armazenamento disponível. | Há duas soluções para esse problema: 1. Entre em contato com seu gerente de conta para fazer upgrade do seu nível e aumentar o limite do catálogo. 2. Libere espaço de armazenamento excluindo qualquer um dos itens a seguir: - Itens de outros catálogos - Outros catálogos - Seleções criadas Depois de aplicar qualquer uma das soluções, desative a sincronização e sincronize novamente. |
Para mais detalhes sobre a validação de itens de catálogo, consulte Solução de problemas na documentação da API de catálogos.










