Passer au contenu

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.

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

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

É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

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

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

Attributs personnalisés Shopify pris en charge

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

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.

La section « Ajouter une personnalisation » avec la liste déroulante « Attribut » développée.

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

Collage d’un extrait de code Liquid dans un message.

Attributs standard Shopify pris en charge

  • E-mail
  • Prénom
  • Nom
  • Téléphone
  • Ville
  • Pays

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é.

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

  1. Sélectionnez Activer le remplissage historique à l’étape Suivre les données Shopify.
  2. 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.
  3. 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.

La page des paramètres d’intégration Shopify avec un indicateur de chargement montrant que les événements sont en cours de synchronisation.

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
  • Commande passée
  • Commande annulée
  • Commande remboursée
  • shopify_tags
  • shopify_total_spent
  • shopify_orders_count
  • shopify_last_order_id
  • shopify_zipcode
  • shopify_province
  • shopify_locale
  • E-mail
  • Prénom
  • Nom
  • Téléphone
  • Ville
  • Pays
  • Chiffre d’affaires total
  • Total des remboursements
  • Total des commandes
  • Abonnements au marketing par e-mail associés à cette boutique Shopify
  • Abonnements au marketing par SMS associés à cette boutique Shopify
New Stuff!