Fonctionnalités des données de Shopify
Cet article donne un aperçu des fonctionnalités Braze pour Shopify, y compris les données Shopify suivies et des exemples de payloads, le backfill historique et les synchronisations de produits.
Événements Shopify suivis
L’intégration Shopify utilise les événements eCommerce recommandés pour capturer les principaux comportements d’achat. Pour des exemples de mise en œuvre et des stratégies marketing utilisant ces événements, consultez les cas d’usage eCommerce.

L’intégration Shopify prend en charge les webhooks de création et de mise à jour des clients Shopify, qui se trouvent dans vos paramètres de configuration des données. Lorsqu’un profil utilisateur est créé ou mis à jour dans Shopify, un profil utilisateur correspondant est créé ou mis à jour dans Braze.
Ces actions ne déclenchent pas d’événements personnalisés dans Braze et servent uniquement à synchroniser les données utilisateur Shopify avec Braze. Les données synchronisées comprennent les attributs personnalisés, les attributs standard et, si cette option est activée dans votre configuration, les états des groupes d’abonnement.
{
"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"
}
}

Braze s’appuie sur Shopify pour fournir les propriétés d’événement requises (telles que cart_id ou cart_token) pour les événements eCommerce. Dans de rares cas, des problèmes temporaires chez Shopify peuvent entraîner l’absence de ces propriétés, ce qui peut provoquer l’abandon des événements concernés.
Événement : ecommerce.product_viewed
Type : Événement recommandé
Déclenchement : Lorsqu’un client consulte une page produit
Source de données : SDK Braze
Cas d’usage : Abandon de navigation
| Variable | Modèle 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}}} Ajoutez le domaine de votre site Shopify avant l’URL. |
price |
{{event_properties.${price}}} |
currency |
{{event_properties.${currency}}} |
source |
{{event_properties.${source}}} |
sku |
{{event_properties.${metadata}.sku}} |
type |
event_properties.${type} |
Événement : ecommerce.cart_updated
Type : Événement recommandé
Déclenchement : Lorsqu’un client ajoute, retire ou modifie des articles dans son panier
Source de données : SDK Braze
Cas d’usage : Abandon de panier
Pour les Canvas de panier abandonné, vous devez d’abord ajouter l’étiquette Liquid initiale du panier afin d’obtenir le contexte du panier dans votre message.
{% shopping_cart {{context.${cart_id}}} %}
Vous pouvez ensuite ajouter les étiquettes Liquid de panier suivantes dans votre message.
| Variable | Modèle 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 }} |

Pour savoir comment créer une boucle Liquid for afin d’ajouter dynamiquement tous les produits dans votre e-mail, consultez la section Personnalisation des produits de panier abandonné pour les e-mails.
Événement : ecommerce.checkout_started
Type : Événement recommandé
Déclenchement : Lorsqu’un utilisateur accède à la page de paiement
Source de données : REST API de Braze
Cas d’usage : Abandon de paiement

Si un client utilise Shop Pay comme option de paiement accéléré, Shopify peut contourner certains événements de paiement standard (comme le webhook Shopify de début de paiement). Braze risque alors de ne pas recevoir les données nécessaires pour ajouter l’alias du jeton de paiement, ce qui peut affecter le suivi des abandons de paiement et le rapprochement des profils utilisateurs.
Pour les Canvas de paiement abandonné, vous devez d’abord utiliser l’étiquette Liquid suivante :
{% shopping_cart {{context.${cart_id}}} :abort_if_not_abandoned false %}
{{context.${cart_id}}}
Vous pouvez ensuite ajouter les étiquettes Liquid suivantes dans votre message pour faire référence aux produits présents dans le panier au moment du paiement.
| Variable | Modèle 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 }} |
Vous pouvez également personnaliser votre message avec les propriétés de l’événement déclencheur ecommerce.checkout_started, telles que source et checkout_url. Ces propriétés ne sont pas stockées dans le panier : elles ne sont donc pas disponibles via l’étiquette {% shopping_cart %}. Dans un Canvas de paiement abandonné, référencez-les depuis le contexte du Canvas :
| Variable | Modèle Liquid |
|---|---|
source |
{{context.${source}}} |
checkout_url |
{{context.${metadata}.checkout_url}} |
Par exemple, dans un e-mail de paiement abandonné :
{% 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>
Événement : ecommerce.order_placed
Type : Événement recommandé
Déclenchement : Lorsqu’un utilisateur termine le processus de paiement et passe une commande
Source de données : REST API de Braze
Cas d’usage : Confirmation de commande, reciblage après achat, ventes incitatives ou ventes croisées
Si un autre système envoie déjà des événements Order Placed à Braze, vous pouvez désactiver cet événement pour une boutique grâce à l’option Send Order Placed events from another source à l’étape de suivi des données Shopify. Braze ignore alors ecommerce.order_placed pour les commandes en direct et les commandes importées rétroactivement de cette boutique, tandis que les autres événements de commande, shopify_paid_order et les attributs d’achat continuent d’être mis à jour. Pour plus de détails, consultez la section Configuration standard des données.
| Variable | Modèle 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}} |

Le webhook Shopify de paiement finalisé ne contient pas les URL des produits ni celles des images. Vous devez donc utiliser la personnalisation Liquid des catalogues, comme indiqué dans la section Personnalisation des produits de panier abandonné pour les e-mails.
Événement : shopify_fulfilled_order
Type : Événement personnalisé
Déclenchement : Lorsque la commande d’un utilisateur est traitée et prête à être expédiée
Source de données : REST API de Braze
Cas d’usage : (Transactionnel) Mise à jour du traitement de la commande
| Variable | Modèle Liquid |
|---|---|
| ID de commande | {{event_properties.${order_id}}} |
| Prix total | {{event_properties.${total_price}}} |
| Total des remises | {{event_properties.${total_discounts}}} |
| Statut confirmé | {{event_properties.${confirmed}}} |
| URL du statut de la commande | {{event_properties.${order_status_url}}} |
| Numéro de commande | {{event_properties.${order_number}}} |
| Horodatage d’annulation | {{event_properties.${cancelled_at}}} |
| Horodatage de clôture | {{event_properties.${closed_at}}} |
| ID de l’article | {{event_properties.${line_items}[0].product_id}} |
| Quantité de l’article | {{event_properties.${line_items}[0].quantity}} |
| SKU de l’article | {{event_properties.${line_items}[0].sku}} |
| Titre de l’article | {{event_properties.${line_items}[0].title}} |
| Fournisseur de l’article | {{event_properties.${line_items}[0].vendor}} |
| Nom de l’article | {{event_properties.${line_items}[0].name}} |
| Propriétés de l’article | {{event_properties.${line_items}[0].properties}} |
| Prix de l’article | {{event_properties.${line_items}[0].price}} |
| Intitulé de la livraison | {{event_properties.${shipping}[0].title}} |
| Prix de la livraison | {{event_properties.${shipping}[0].price}} |
| Statut du traitement | {{event_properties.${fulfillment_status}}} |
| Statut d’expédition du traitement | {{event_properties.${fulfillments}[0].shipment_status}} |
| Statut | {{event_properties.${fulfillments}[0].status}} |
| Transporteur du traitement | {{event_properties.${fulfillments}[0].Fulfillment tracking_company}} |
| Numéro de suivi du traitement | {{event_properties.${fulfillments}[0].Fulfillment tracking_number}} |
| Liste des numéros de suivi du traitement | {{event_properties.${fulfillments}[0].Fulfillment tracking_numbers}} |
| URL de suivi du traitement | {{event_properties.${fulfillments}[0].Fulfillment tracking_url}} |
| Liste des URL de suivi du traitement | {{event_properties.${fulfillments}[0].Fulfillment tracking_urls}} |
| Statut de traitement de l’article | {{event_properties.${fulfillments}[0].line_items[0].fulfillment_status}} |
| Nom de l’article traité | {{event_properties.${fulfillments}[0].line_items[0].name}} |
| Prix de l’article traité | {{event_properties.${fulfillments}[0].line_items[0].price}} |
| ID de produit de l’article traité | {{event_properties.${fulfillments}[0].line_items[0].product_id}} |
| Quantité traitée | {{event_properties.${fulfillments}[0].line_items[0].quantity}} |
| Livraison requise pour l’article traité | {{event_properties.${fulfillments}[0].line_items[0].requires_shipping}} |
| SKU de l’article traité | {{event_properties.${fulfillments}[0].line_items[0].sku}} |
| Titre de l’article traité | {{event_properties.${fulfillments}[0].line_items[0].title}} |
| Fournisseur de l’article traité | {{event_properties.${fulfillments}[0].line_items[0].vendor}} |
| ID de variante | {{event_properties.${line_items}[0].variant_id}} |
| Titre de la variante | {{event_properties.${line_items}[0].variant_title}} |
Événement : shopify_partially_fulfilled_order
Type : Événement personnalisé
Déclenchement : Lorsqu’une partie de la commande d’un utilisateur est traitée et prête à être expédiée
Source de données : REST API de Braze
Cas d’usage : (Transactionnel) Mise à jour du traitement de la commande
| Variable | Modèle Liquid |
|---|---|
| ID de commande | {{event_properties.${order_id}}} |
| Prix total | {{event_properties.${total_price}}} |
| Total des remises | {{event_properties.${total_discounts}}} |
| Statut confirmé | {{event_properties.${confirmed}}} |
| URL du statut de la commande | {{event_properties.${order_status_url}}} |
| Numéro de commande | {{event_properties.${order_number}}} |
| Horodatage d’annulation | {{event_properties.${cancelled_at}}} |
| Horodatage de clôture | {{event_properties.${closed_at}}} |
| ID de l’article | {{event_properties.${line_items}[0].product_id}} |
| Quantité de l’article | {{event_properties.${line_items}[0].quantity}} |
| SKU de l’article | {{event_properties.${line_items}[0].sku}} |
| Titre de l’article | {{event_properties.${line_items}[0].title}} |
| Fournisseur de l’article | {{event_properties.${line_items}[0].vendor}} |
| Nom de l’article | {{event_properties.${line_items}[0].name}} |
| Propriétés de l’article | {{event_properties.${line_items}[0].properties}} |
| Prix de l’article | {{event_properties.${line_items}[0].price}} |
| Intitulé de la livraison | {{event_properties.${shipping}[0].title}} |
| Prix de la livraison | {{event_properties.${shipping}[0].price}} |
| Statut du traitement | {{event_properties.${fulfillment_status}}} |
| Statut d’expédition du traitement | {{event_properties.${fulfillments}[0].shipment_status}} |
| Statut du traitement | {{event_properties.${fulfillments}[0].status}} |
| Transporteur du traitement | {{event_properties.${fulfillments}[0].tracking_company}} |
| Numéro de suivi du traitement | {{event_properties.${fulfillments}[0].tracking_number}} |
| Liste des numéros de suivi du traitement | {{event_properties.${fulfillments}[0].tracking_numbers}} |
| URL de suivi du traitement | {{event_properties.${fulfillments}[0].tracking_url}} |
| Liste des URL de suivi du traitement | {{event_properties.${fulfillments}[0].tracking_urls}} |
| Statut de traitement de l’article | {{event_properties.${fulfillments}[0].line_items[0].fulfillment_status}} |
| Nom de l’article traité | {{event_properties.${fulfillments}[0].line_items[0].name}} |
| Prix de l’article traité | {{event_properties.${fulfillments}[0].line_items[0].price}} |
| ID de produit de l’article traité | {{event_properties.${fulfillments}[0].line_items[0].product_id}} |
| Quantité traitée | {{event_properties.${fulfillments}[0].line_items[0].quantity}} |
| Livraison requise pour l’article traité | {{event_properties.${fulfillments}[0].line_items[0].requires_shipping}} |
| SKU de l’article traité | {{event_properties.${fulfillments}[0].line_items[0].sku}} |
| Titre de l’article traité | {{event_properties.${fulfillments}[0].line_items[0].title}} |
| Fournisseur de l’article traité | {{event_properties.${fulfillments}[0].line_items[0].vendor}} |
| ID de variante | {{event_properties.${line_items}[0].variant_id}} |
| Titre de la variante | {{event_properties.${line_items}[0].variant_title}} |
Événement : shopify_paid_order
Type : Événement personnalisé
Déclenchement : Lorsque la commande d’un utilisateur est marquée comme payée dans Shopify
Source de données : REST API de Braze
Cas d’usage : (Transactionnel) Confirmation de paiement
| Variable | Modèle Liquid |
|---|---|
| ID de commande | {{event_properties.${order_id}}} |
| Statut confirmé | {{event_properties.${confirmed}}} |
| URL du statut de la commande | {{event_properties.${order_status_url}}} |
| Numéro de commande | {{event_properties.${order_number}}} |
| Horodatage d’annulation | {{event_properties.${cancelled_at}}} |
| Total des remises | {{event_properties.${total_discounts}}} |
| Prix total | {{event_properties.${total_price}}} |
| Étiquettes | {{event_properties.${tags}}} |
| Codes de remise | {{event_properties.${discount_codes}}} |
| ID de l’article | {{event_properties.${line_items}[0].product_id}} |
| Quantité de l’article | {{event_properties.${line_items}[0].quantity}} |
| SKU de l’article | {{event_properties.${line_items}[0].sku}} |
| Titre de l’article | {{event_properties.${line_items}[0].title}} |
| Fournisseur de l’article | {{event_properties.${line_items}[0].vendor}} |
| Propriétés de l’article | {{event_properties.${line_items}[0].properties}} |
| Prix de l’article | {{event_properties.${line_items}[0].price}} |
| Intitulé de la livraison | {{event_properties.${shipping}[0].title}} |
| Prix de la livraison | {{event_properties.${shipping}[0].price}} |
| ID de variante | {{event_properties.${line_items}[0].variant_id}} |
| Titre de la variante | {{event_properties.${line_items}[0].variant_title}} |
Événement : ecommerce.order_cancelled
Type : Événement recommandé
Déclenchement : Lorsque la commande d’un utilisateur est annulée
Source de données : REST API de Braze
Cas d’usage : (Transactionnel) Confirmation d’annulation de commande
| Variable | Modèle Liquid |
|---|---|
| ID de commande | {{event_properties.${order_id}}} |
| Prix total | {{event_properties.${total_price}}} |
| Total des remises | {{event_properties.${total_discounts}}} |
| Confirmé | {{event_properties.${confirmed}}} |
| URL du statut de la commande | {{event_properties.${order_status_url}}} |
| Numéro de commande | {{event_properties.${order_number}}} |
| Horodatage d’annulation | {{event_properties.${cancelled_at}}} |
| Étiquettes | {{event_properties.${tags}}} |
| Codes de remise | {{event_properties.${discount_codes}}} |
| Statut du traitement | {{event_properties.${fulfillment_status}}} |
| Traitements | {{event_properties.${fulfillments}}} |
| ID de l’article | {{event_properties.${line_items}[0].product_id}} |
| Quantité de l’article | {{event_properties.${line_items}[0].quantity}} |
| SKU de l’article | {{event_properties.${line_items}[0].sku}} |
| Titre de l’article | {{event_properties.${line_items}[0].title}} |
| Fournisseur de l’article | {{event_properties.${line_items}[0].vendor}} |
| Nom de l’article | {{event_properties.${line_items}[0].name}} |
| Propriétés de l’article | {{event_properties.${line_items}[0].properties}} |
| Statut de traitement de l’article | {{event_properties.${line_items}[0].fulfillment_status}} |
| Intitulé de la livraison | {{event_properties.${shipping}[0].title}} |
| Prix de la livraison | {{event_properties.${shipping}[0].price}} |
| ID de variante | {{event_properties.${line_items}[0].variant_id}} |
| Titre de la variante | {{event_properties.${line_items}[0].variant_title}} |
Événement : ecommerce.order_refunded
Type : Événement recommandé
Déclenchement : Lorsque la commande d’un utilisateur est remboursée
Source de données : REST API de Braze
Cas d’usage : (Transactionnel) Confirmation de remboursement
| Variable | Modèle Liquid |
|---|---|
| ID de commande | {{event_properties.${order_id}}} |
| Note de commande | {event_properties.${note}}} |
| ID de l’article | {{event_properties.${line_items}[0].product_id}} |
| Quantité de l’article | {{event_properties.${line_items}[0].quantity}} |
| SKU de l’article | {{event_properties.${line_items}[0].sku}} |
| Titre de l’article | {{event_properties.${line_items}[0].title}} |
| Fournisseur de l’article | {{event_properties.${line_items}[0].vendor}} |
| Nom de l’article | {{event_properties.${line_items}[0].name}} |
| Propriétés de l’article | {{event_properties.${line_items}[0].properties}} |
| Prix de l’article | {{event_properties.${line_items}[0].price}} |
| ID de variante | {{event_properties.${line_items}[0].variant_id}} |
| Titre de la variante | {{event_properties.${line_items}[0].variant_title}} |
Événement : shopify_account_login
Type : Événement personnalisé
Déclenchement : Lorsqu’un utilisateur se connecte à son compte
Source de données : REST API de Braze
Cas d’usage : Série de bienvenue
| Variable | Modèle Liquid |
|---|---|
source |
{{event_properties.${source}}} |

L’intégration Shopify ne permet pas actuellement d’alimenter l’événement d’achat de Braze. Par conséquent, les filtres d’achat, les étiquettes Liquid, les déclencheurs par événement et les analyses doivent utiliser l’événement ecommerce.order_placed.
Attributs personnalisés Shopify pris en charge

Tous les attributs proviennent de la REST API de Braze.
{
"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"
}
]
}
| Nom de l’attribut | Description | Source de données |
|---|---|---|
shopify_total_spent |
Le montant total dépensé par le client sur l’ensemble de son historique de commandes. | Webhook customers/purchasing_summary de Shopify |
shopify_orders_count |
Le nombre de commandes associées à ce client. Les commandes de test et archivées ne sont pas comptabilisées. | Webhook customers/purchasing_summary de Shopify |
shopify_last_order_id |
L’ID de la dernière commande du client. | Webhook customers/purchasing_summary de Shopify |
shopify_zipcode |
Le code postal du client issu de son adresse par défaut. | Webhooks customers/create et customers/update de Shopify |
shopify_province |
La province du client issue de son adresse par défaut. | Webhooks customers/create et customers/update de Shopify |
shopify_locale |
La langue du client (par exemple, en ou fr-CA), définie à partir de la langue du navigateur collectée par le pixel web de Braze jusqu’à ce qu’il passe une commande, puis mise à jour à partir de la langue de son dernier checkout. |
Pixel web de Braze, webhooks orders/* de Shopify, remplissage rétroactif de l’historique client |

Shopify ne fournit plus le nom de la dernière commande d’un client. Braze ne définit donc pas d’attribut shopify_last_order_name. Les profils qui possèdent déjà une valeur la conservent, mais elle n’est plus mise à jour.
Personnalisation Liquid
Pour ajouter une personnalisation Liquid à vos attributs personnalisés Shopify, sélectionnez + Personnalisation. Sélectionnez ensuite Attributs personnalisés comme type de personnalisation.

Après avoir sélectionné votre attribut personnalisé, saisissez une valeur par défaut et copiez l’extrait de code Liquid dans votre message.

Attributs standard Shopify pris en charge

Tous les attributs proviennent de la REST API de Braze.
- Prénom
- Nom
- Téléphone
- Ville
- Pays

Braze met à jour les attributs personnalisés Shopify et les attributs standard de Braze pris en charge uniquement si les données diffèrent de celles du profil utilisateur existant. Par exemple, si les données Shopify entrantes contiennent le prénom Bob et que Bob figure déjà comme prénom dans le profil utilisateur Braze, Braze ne déclenche pas de mise à jour et aucun point de donnée ne vous est facturé.
Valeurs vides provenant de Shopify
Lorsque Shopify envoie une valeur vide pour un attribut utilisateur, vous pouvez choisir si Braze conserve ou efface la valeur déjà présente dans le profil utilisateur. Dans les paramètres de votre intégration Shopify, sous Comportement dans le profil utilisateur lorsque Shopify envoie une valeur vide, sélectionnez l’une des options suivantes :
| Option | Quand l’utiliser |
|---|---|
| Conserver la valeur existante | Idéal lorsque d’autres sources mettent également à jour ces profils utilisateurs, comme les numéros de téléphone issus de votre CRM. |
| Effacer la valeur existante | Idéal lorsque Shopify est votre source de vérité, de sorte qu’une valeur vide signifie que la donnée a été supprimée. |
Ce paramètre s’applique aux attributs standard et aux attributs personnalisés Shopify que Braze synchronise à partir des profils clients. Par défaut, les intégrations utilisent Conserver la valeur existante. Par exemple, si les numéros de téléphone proviennent également de votre CRM et que Shopify envoie un numéro de téléphone vide, le numéro du CRM reste dans le profil utilisateur Braze au lieu d’être effacé.

Si Shopify envoie un métachamp client vide, Braze n’écrase pas la valeur déjà présente dans le profil.
Métachamps client Shopify
Les métachamps client Shopify contiennent vos propres données sur un client, comme un niveau de fidélité ou un score de risque d’attrition. Avec l’intégration standard, vous pouvez synchroniser jusqu’à 20 définitions de métachamps client avec les profils utilisateurs de Braze, puis les utiliser pour segmenter et personnaliser.
Comment les métachamps arrivent dans le profil utilisateur
Braze ajoute un attribut personnalisé imbriqué par boutique connectée. Cet attribut s’appelle shopify_metafields_<store>, où <store> correspond à la première partie de votre domaine <store>.myshopify.com. Chaque métachamp sélectionné devient une clé de cet objet, nommée <namespace>_<key>. Par exemple, les définitions custom.vip_tier et custom.loyalty_points de la boutique acme.myshopify.com apparaissent ainsi dans un profil :
{
"shopify_metafields_acme": {
"custom_vip_tier": "gold",
"custom_loyalty_points": 120
}
}
Chaque mise à jour fusionne en profondeur ses valeurs dans l’objet. Une mise à jour qui contient une seule clé n’efface donc jamais les autres, et Braze ne supprime jamais de clé de l’objet. Si un métachamp est vide dans Shopify, le profil conserve sa dernière valeur, quel que soit le paramètre des valeurs vides défini pour les autres attributs.
Types de métachamps pris en charge
Seules les définitions des types suivants apparaissent dans le sélecteur. Les autres types, comme les références, les fichiers, le JSON, les montants et les notes, ne sont pas pris en charge.
| Type Shopify | Enregistré dans le profil en tant que |
|---|---|
| Texte sur une seule ligne, Texte multiligne, Couleur, URL, ID | Chaîne de caractères |
| Entier | Entier |
| Décimal | Nombre |
| Vrai ou faux | Booléen |
| Date, Date et heure | Heure, pour que vous puissiez utiliser des filtres de segmentation basés sur la date |
| Liste de textes sur une seule ligne, de dates, de dates et heures, de couleurs, d’ID ou d’URL | Tableau de chaînes de caractères |
Braze n’enregistre pas une valeur dans le profil, mais continue d’écrire les autres clés, dans les cas suivants :
- Une valeur de chaîne de caractères, ou un élément d’une liste, dépasse 255 caractères.
- Une valeur ne peut pas être convertie dans le type de la définition, par exemple du texte dans un champ de type entier.
- La clé d’attribut (
<namespace>_<key>) dépasse 255 caractères ou contient un caractère que Braze ne peut pas enregistrer, comme$ou..
Quand les valeurs sont synchronisées
| Source | Moment |
|---|---|
Webhooks Shopify customers/create et customers/update |
Dès qu’un client est modifié dans Shopify, y compris en cas de modification d’un métachamp sélectionné |
| Remplissage historique | Si vous sélectionnez des métachamps pendant la configuration, le remplissage initial des clients les inclut |
| Clients existants | Lorsque vous ajoutez des métachamps à une boutique connectée, Braze synchronise leurs valeurs avec les profils utilisateurs des clients mis à jour depuis le début de votre fenêtre de remplissage historique des clients (ou depuis la connexion de la boutique si le remplissage était désactivé). La page d’intégration affiche Synchronisation des métachamps client avec les profils utilisateurs existants pendant cette opération, et le sélecteur reste indisponible jusqu’à la fin. |
Vous pouvez vérifier l’état de la synchronisation dans le tableau Attributs utilisateur Shopify de la page d’intégration. Ce tableau répertorie les Attributs par défaut et les Métachamps client, avec leur statut (Actif, ou Mise à jour en cours pendant une synchronisation) et le nombre d’attributs de chacun. Sélectionnez l’icône d’affichage d’une ligne pour voir les noms des attributs.
Modifier ou supprimer des métachamps
- Pour modifier la sélection, sélectionnez Modifier les paramètres sur la page d’intégration, puis mettez à jour le sélecteur à l’étape de suivi des données Shopify. L’ajout d’un métachamp lance une synchronisation pour les clients existants. La suppression d’un métachamp arrête les mises à jour de cette clé.
- Si vous retirez un métachamp de la sélection, ou si vous désactivez Synchroniser les métachamps client en tant qu’attributs utilisateur, les profils utilisateurs conservent la dernière valeur reçue de Shopify et ne sont plus mis à jour.
- Si vous supprimez une définition dans Shopify, Braze la retire automatiquement de votre sélection. Les valeurs déjà présentes dans les profils utilisateurs sont conservées.
Segmentation et personnalisation
Avant de pouvoir filtrer sur les métachamps, générez un schéma pour l’attribut. Pour cela, allez dans Paramètres des données > Attributs personnalisés, recherchez shopify_metafields_<store>, puis sélectionnez Générer le schéma. Braze crée le schéma à partir des valeurs déjà présentes dans les profils utilisateurs. Effectuez donc cette opération une fois la première synchronisation terminée, puis régénérez le schéma après chaque ajout de métachamps pour faire apparaître les nouvelles clés.
Pour segmenter sur un métachamp, ajoutez le filtre Attributs personnalisés imbriqués, sélectionnez shopify_metafields_<store>, choisissez la clé comme propriété, puis choisissez un comparateur adapté à son type. Les métachamps de type date utilisent les comparateurs Heure et Jour de l’année. Pour personnaliser un message, utilisez l’étiquette custom_attribute avec la notation par points. Pour le profil de l’exemple précédent, {{custom_attribute.${shopify_metafields_acme}.custom_vip_tier}} renvoie gold.
Vous ne pouvez pas utiliser les attributs personnalisés imbriqués comme filtre dans un appel à l’API Connected Audience. De plus, Prévisualiser en tant qu’utilisateur personnalisé n’accepte les données fictives que sous forme de chaînes de caractères ou de tableaux de chaînes de caractères. Pour consulter la liste complète, reportez-vous aux considérations relatives aux attributs personnalisés imbriqués.
Métachamps de commande Shopify
Les métachamps de commande Shopify contiennent vos propres données sur une commande, comme un message cadeau ou une préférence d’exécution. Avec l’intégration standard de Shopify, vous pouvez ajouter certains métachamps de commande aux événements de commande. Pour savoir comment ils apparaissent dans les événements, quels événements les incluent, quels types sont pris en charge et comment modifier votre sélection, consultez Métachamps de commande Shopify.
Collecte des données du SDK
Pour en savoir plus sur les données collectées par les SDK de Braze, consultez la page Collecte des données du SDK.
Remplissage historique
Les données Shopify historiques sont celles qui datent d’avant la connexion de Braze, et elles sont importées. Lors de la configuration, vous choisissez jusqu’à quelle date remonter pour importer les événements de commande et les profils clients. Chaque période se calcule à partir de la date à laquelle vous terminez votre intégration.
Lors de la configuration de l’intégration standard de Shopify ou de la configuration de l’intégration personnalisée de Shopify, vous pouvez activer le remplissage historique pour inclure vos anciens clients et vos anciennes commandes dans les Segments, les Campaigns et les Canvas. Une fois cette option activée, sélectionnez :
- Une plage de dates pour les commandes : 90 derniers jours, Dernière année ou 2 dernières années (valeur par défaut : 90 derniers jours)
- Une plage de dates pour les profils clients : Dernière année, 2 dernières années ou Toute la période (valeur par défaut : Toute la période)
Avant que vous ne terminiez la configuration, Braze affiche une estimation du nombre d’enregistrements et du temps de traitement pour chaque option. Une fois le remplissage terminé, les périodes sélectionnées s’affichent sous forme de dates précises sur la page partenaire de Shopify. Ces choix ne peuvent plus être modifiés une fois la configuration terminée.
Lorsque Braze importe vos clients Shopify, elle leur attribue le type d’external_id que vous avez choisi dans vos paramètres de configuration.

Si vous êtes déjà client de Braze et que vous avez des Campaigns ou des Canvas actifs, vérifiez l’impact des clients et des événements de commande importés sur vos Segments et vos parcours avant d’activer le remplissage historique. Le remplissage historique ne met pas à jour rétroactivement les utilisateurs déjà présents dans des Campaigns ou des Canvas actifs.
Si vous prévoyez d’intégrer avec un ID externe personnalisé (que ce soit pour l’intégration standard ou l’intégration personnalisée), vous devrez ajouter votre ID externe personnalisé en tant que métachamp client Shopify à tous les profils clients Shopify existants, puis effectuer le backfill historique.
Comment Braze sélectionne les données historiques
Braze utilise les champs de date Shopify suivants lors du chargement initial :
| Données | Périodes disponibles | Champ de date Shopify |
|---|---|---|
| Événements de commande (commande passée, commande remboursée et commande annulée) | 90 derniers jours, Dernière année ou 2 dernières années | Date de création de la commande |
| Profils utilisateurs | Dernière année, 2 dernières années ou Toute la période | Date de mise à jour du client |
Si vous migrez des commandes historiques vers Shopify en conservant leur date de création d’origine, Braze n’importe que les commandes dont la date de création se situe dans la période de commandes que vous avez sélectionnée.
Configurer le remplissage historique Shopify
- Sélectionnez Activer le remplissage historique à l’étape Suivre les données Shopify.
- Choisissez une plage de dates pour les commandes et une autre pour les profils clients. Vérifiez les estimations de volume et de temps de traitement correspondant à vos choix.
- Une fois la configuration de votre intégration terminée, Braze lance la synchronisation initiale des données. Vous pouvez suivre sa progression dans l’onglet Données Shopify des paramètres de votre intégration.

Vitesse et délai de synchronisation du remplissage
Le remplissage historique est effectué par l’intégration Shopify de Braze, et non par le SDK de Braze. Il démarre automatiquement dès que vous terminez la configuration de l’intégration.
Une fois le remplissage historique activé, Braze importe par lots les événements de commande et les profils clients depuis Shopify. Les événements de commande et les profils clients se synchronisent selon des calendriers distincts : l’un peut donc se terminer avant l’autre. Les remplissages volumineux sont répartis en plages de dates parallèles afin de pouvoir s’exécuter simultanément.
La durée de synchronisation dépend du volume de données historiques de votre boutique et des périodes sélectionnées. Pour les boutiques qui enregistrent un grand nombre de commandes ou qui comptent une large base de clients, le remplissage peut prendre plus de temps. Il n’est pas possible de modifier la vitesse du remplissage ni de demander une synchronisation plus rapide.
Données synchronisées
Lors de la synchronisation initiale des données, Braze importe les événements de commande et les profils utilisateurs décrits dans la section Comment Braze sélectionne les données historiques. Lorsque Braze importe vos clients Shopify, elle leur attribue le type d’external_id que vous avez choisi dans vos paramètres de configuration. Si vous avez sélectionné des métachamps client lors de la configuration, le remplissage des clients écrit également ces valeurs. Si vous avez sélectionné des métachamps de commande lors de la configuration, les commandes importées incluent ces valeurs dans les événements de commande pris en charge.
Le tableau suivant récapitule les données incluses dans ce chargement initial.
| Événements recommandés par Braze | Événements personnalisés Shopify | Attributs standard de Braze | Statuts d’abonnement de Braze |
|---|---|---|---|
|
|
|
|