Shopifyのデータ機能
この記事では、BrazeのShopify機能の概要を説明します。トラッキング対象のShopifyデータやペイロード例、履歴バックフィル、製品の同期について取り上げます。
追跡対象の Shopify イベント
Shopify 統合では、e コマース推奨イベントを使用して主要なショッピング行動を取得します。これらのイベントを使った実装例とマーケティング戦略については、e コマースのユースケースを参照してください。

Shopify連携は、Shopifyの顧客作成と顧客更新のwebhookをサポートしています。これらはデータ設定の構成設定にあります。Shopifyでユーザープロファイルが作成または更新されると、対応するBrazeのユーザープロファイルも作成または更新されます。
これらのアクションはBrazeでカスタムイベントをトリガーせず、ShopifyのユーザーデータをBrazeと同期するためだけに使用されます。同期されるデータには、カスタム属性、標準属性項目、および設定内で有効にされている場合は購読グループの状態が含まれます。
{
"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 は、e コマースイベントに必要なイベントプロパティ (cart_id や cart_token など) の提供を Shopify に依存しています。まれに、Shopify側の一時的な問題によってこれらのプロパティが欠落し、該当するイベントが破棄されることがあります。
イベント: ecommerce.product_viewed
タイプ: 推奨イベント
トリガー: 顧客が商品ページを閲覧したとき
データソース: Braze SDK
ユースケース: ブラウズ放棄
| 変数 | 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}}} URL の前に Shopify サイトのドメインを追加してください。 |
price |
{{event_properties.${price}}} |
currency |
{{event_properties.${currency}}} |
source |
{{event_properties.${source}}} |
sku |
{{event_properties.${metadata}.sku}} |
type |
event_properties.${type} |
イベント: ecommerce.cart_updated
タイプ: 推奨イベント
トリガー: 顧客がショッピングカートに商品を追加、削除、または更新したとき
データソース: Braze SDK
ユースケース: カート放棄
カート放棄キャンバスでは、まず最初のショッピングカートLiquidタグを追加して、メッセージ内でショッピングカートのコンテキストを取得する必要があります。
{% shopping_cart {{context.${cart_id}}} %}
その後、次のショッピングカートLiquidタグをメッセージに追加できます。
| 変数 | 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 }} |

イベント: ecommerce.checkout_started
タイプ: 推奨イベント
トリガー: ユーザーがチェックアウトページに移動したとき
データソース: Braze REST API
ユースケース: チェックアウト放棄

顧客が高速チェックアウトオプションとして Shop Pay を使用する場合、Shopify は特定の標準チェックアウトイベント (Shopify のチェックアウト開始 Webhook など) をスキップすることがあります。その場合、Braze はチェックアウトトークンのエイリアスを追加するために必要なデータを受け取れず、チェックアウト放棄のトラッキングやユーザープロファイルの照合に影響する可能性があります。
チェックアウト放棄キャンバスでは、まず次のLiquidタグを使用する必要があります。
{% shopping_cart {{context.${cart_id}}} :abort_if_not_abandoned false %}
{{context.${cart_id}}}
その後、次のLiquidタグをメッセージに追加して、チェックアウト時点でカートに入っている商品を参照できます。
| 変数 | 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 }} |
トリガーとなる ecommerce.checkout_started イベントのイベントプロパティ (source や checkout_url など) を使ってパーソナライズすることもできます。これらのプロパティはショッピングカートに保存されないため、{% shopping_cart %} タグでは利用できません。チェックアウト放棄キャンバスでは、キャンバスコンテキストから参照してください。
| 変数 | Liquidテンプレート |
|---|---|
source |
{{context.${source}}} |
checkout_url |
{{context.${metadata}.checkout_url}} |
たとえば、チェックアウト放棄メールでは次のようになります。
{% 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>
イベント: ecommerce.order_placed
タイプ: 推奨イベント
トリガー: ユーザーがチェックアウトプロセスを正常に完了し、注文したとき
データソース: Braze REST API
ユースケース: 注文確認、購入後のリターゲティング、アップセルまたはクロスセル
別のシステムがすでに Order Placed イベントを Braze に送信している場合は、Shopify データの追跡ステップで Send Order Placed events from another source を使用して、ストアごとにこのイベントをオフにできます。その場合、Braze はそのストアのリアルタイムの注文とバックフィルされた注文について ecommerce.order_placed をスキップしますが、その他の注文イベント、shopify_paid_order、購入属性は引き続き更新されます。詳細については、標準データ設定を参照してください。
| 変数 | 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}} |

Shopify のチェックアウト完了 Webhook には、商品 URL や画像 URL が含まれていません。そのため、メール向けのカート放棄商品パーソナライゼーションで説明されているように、カタログのLiquidパーソナライゼーションを使用する必要があります。
イベント: shopify_fulfilled_order
タイプ: カスタムイベント
トリガー: ユーザーの注文が履行され、発送準備が整ったとき
データソース: Braze REST API
ユースケース: (トランザクション) フルフィルメントの更新
| 変数 | Liquidテンプレート |
|---|---|
| 注文 ID | {{event_properties.${order_id}}} |
| 合計金額 | {{event_properties.${total_price}}} |
| 割引合計 | {{event_properties.${total_discounts}}} |
| 確認ステータス | {{event_properties.${confirmed}}} |
| 注文ステータス URL | {{event_properties.${order_status_url}}} |
| 注文番号 | {{event_properties.${order_number}}} |
| キャンセルのタイムスタンプ | {{event_properties.${cancelled_at}}} |
| クローズのタイムスタンプ | {{event_properties.${closed_at}}} |
| アイテム ID | {{event_properties.${line_items}[0].product_id}} |
| アイテムの数量 | {{event_properties.${line_items}[0].quantity}} |
| アイテムの SKU | {{event_properties.${line_items}[0].sku}} |
| アイテムのタイトル | {{event_properties.${line_items}[0].title}} |
| アイテムのベンダー | {{event_properties.${line_items}[0].vendor}} |
| アイテム名 | {{event_properties.${line_items}[0].name}} |
| アイテムのプロパティ | {{event_properties.${line_items}[0].properties}} |
| アイテムの価格 | {{event_properties.${line_items}[0].price}} |
| 配送のタイトル | {{event_properties.${shipping}[0].title}} |
| 配送料金 | {{event_properties.${shipping}[0].price}} |
| フルフィルメントのステータス | {{event_properties.${fulfillment_status}}} |
| フルフィルメントの発送ステータス | {{event_properties.${fulfillments}[0].shipment_status}} |
| ステータス | {{event_properties.${fulfillments}[0].status}} |
| フルフィルメントの配送業者 | {{event_properties.${fulfillments}[0].Fulfillment tracking_company}} |
| フルフィルメントの追跡番号 | {{event_properties.${fulfillments}[0].Fulfillment tracking_number}} |
| フルフィルメントの追跡番号 (複数) | {{event_properties.${fulfillments}[0].Fulfillment tracking_numbers}} |
| フルフィルメントの追跡 URL | {{event_properties.${fulfillments}[0].Fulfillment tracking_url}} |
| フルフィルメントの追跡 URL (複数) | {{event_properties.${fulfillments}[0].Fulfillment tracking_urls}} |
| フルフィルメントのステータス | {{event_properties.${fulfillments}[0].line_items[0].fulfillment_status}} |
| フルフィルメント名 | {{event_properties.${fulfillments}[0].line_items[0].name}} |
| フルフィルメントの価格 | {{event_properties.${fulfillments}[0].line_items[0].price}} |
| フルフィルメントの商品 ID | {{event_properties.${fulfillments}[0].line_items[0].product_id}} |
| フルフィルメントの数量 | {{event_properties.${fulfillments}[0].line_items[0].quantity}} |
| フルフィルメントの配送要否 | {{event_properties.${fulfillments}[0].line_items[0].requires_shipping}} |
| フルフィルメントの SKU | {{event_properties.${fulfillments}[0].line_items[0].sku}} |
| フルフィルメントのタイトル | {{event_properties.${fulfillments}[0].line_items[0].title}} |
| フルフィルメントのベンダー | {{event_properties.${fulfillments}[0].line_items[0].vendor}} |
| バリアント ID | {{event_properties.${line_items}[0].variant_id}} |
| バリアントのタイトル | {{event_properties.${line_items}[0].variant_title}} |
イベント: shopify_partially_fulfilled_order
タイプ: カスタムイベント
トリガー: ユーザーの注文の一部が履行され、発送準備が整ったとき
データソース: Braze REST API
ユースケース: (トランザクション) フルフィルメントの更新
| 変数 | Liquidテンプレート |
|---|---|
| 注文 ID | {{event_properties.${order_id}}} |
| 合計金額 | {{event_properties.${total_price}}} |
| 割引合計 | {{event_properties.${total_discounts}}} |
| 確認ステータス | {{event_properties.${confirmed}}} |
| 注文ステータス URL | {{event_properties.${order_status_url}}} |
| 注文番号 | {{event_properties.${order_number}}} |
| キャンセルのタイムスタンプ | {{event_properties.${cancelled_at}}} |
| クローズのタイムスタンプ | {{event_properties.${closed_at}}} |
| アイテム ID | {{event_properties.${line_items}[0].product_id}} |
| アイテムの数量 | {{event_properties.${line_items}[0].quantity}} |
| アイテムの SKU | {{event_properties.${line_items}[0].sku}} |
| アイテムのタイトル | {{event_properties.${line_items}[0].title}} |
| アイテムのベンダー | {{event_properties.${line_items}[0].vendor}} |
| アイテム名 | {{event_properties.${line_items}[0].name}} |
| アイテムのプロパティ | {{event_properties.${line_items}[0].properties}} |
| アイテムの価格 | {{event_properties.${line_items}[0].price}} |
| 配送のタイトル | {{event_properties.${shipping}[0].title}} |
| 配送料金 | {{event_properties.${shipping}[0].price}} |
| フルフィルメントのステータス | {{event_properties.${fulfillment_status}}} |
| フルフィルメントの発送ステータス | {{event_properties.${fulfillments}[0].shipment_status}} |
| フルフィルメントのステータス | {{event_properties.${fulfillments}[0].status}} |
| フルフィルメントの配送業者 | {{event_properties.${fulfillments}[0].tracking_company}} |
| フルフィルメントの追跡番号 | {{event_properties.${fulfillments}[0].tracking_number}} |
| フルフィルメントの追跡番号 (複数) | {{event_properties.${fulfillments}[0].tracking_numbers}} |
| フルフィルメントの追跡 URL | {{event_properties.${fulfillments}[0].tracking_url}} |
| フルフィルメントの追跡 URL (複数) | {{event_properties.${fulfillments}[0].tracking_urls}} |
| フルフィルメントのステータス | {{event_properties.${fulfillments}[0].line_items[0].fulfillment_status}} |
| フルフィルメント名 | {{event_properties.${fulfillments}[0].line_items[0].name}} |
| フルフィルメントの価格 | {{event_properties.${fulfillments}[0].line_items[0].price}} |
| フルフィルメントの商品 ID | {{event_properties.${fulfillments}[0].line_items[0].product_id}} |
| フルフィルメントの数量 | {{event_properties.${fulfillments}[0].line_items[0].quantity}} |
| フルフィルメントの配送要否 | {{event_properties.${fulfillments}[0].line_items[0].requires_shipping}} |
| フルフィルメントの SKU | {{event_properties.${fulfillments}[0].line_items[0].sku}} |
| フルフィルメントのタイトル | {{event_properties.${fulfillments}[0].line_items[0].title}} |
| フルフィルメントのベンダー | {{event_properties.${fulfillments}[0].line_items[0].vendor}} |
| バリアント ID | {{event_properties.${line_items}[0].variant_id}} |
| バリアントのタイトル | {{event_properties.${line_items}[0].variant_title}} |
イベント: shopify_paid_order
タイプ: カスタムイベント
トリガー: Shopify でユーザーの注文が支払い済みとしてマークされたとき
データソース: Braze REST API
ユースケース: (トランザクション) 支払い確認
| 変数 | Liquidテンプレート |
|---|---|
| 注文 ID | {{event_properties.${order_id}}} |
| 確認ステータス | {{event_properties.${confirmed}}} |
| 注文ステータス URL | {{event_properties.${order_status_url}}} |
| 注文番号 | {{event_properties.${order_number}}} |
| キャンセルのタイムスタンプ | {{event_properties.${cancelled_at}}} |
| 割引合計 | {{event_properties.${total_discounts}}} |
| 合計金額 | {{event_properties.${total_price}}} |
| タグ | {{event_properties.${tags}}} |
| 割引コード | {{event_properties.${discount_codes}}} |
| アイテム ID | {{event_properties.${line_items}[0].product_id}} |
| アイテムの数量 | {{event_properties.${line_items}[0].quantity}} |
| アイテムの SKU | {{event_properties.${line_items}[0].sku}} |
| アイテムのタイトル | {{event_properties.${line_items}[0].title}} |
| アイテムのベンダー | {{event_properties.${line_items}[0].vendor}} |
| アイテムのプロパティ | {{event_properties.${line_items}[0].properties}} |
| アイテムの価格 | {{event_properties.${line_items}[0].price}} |
| 配送のタイトル | {{event_properties.${shipping}[0].title}} |
| 配送料金 | {{event_properties.${shipping}[0].price}} |
| バリアント ID | {{event_properties.${line_items}[0].variant_id}} |
| バリアントのタイトル | {{event_properties.${line_items}[0].variant_title}} |
イベント: ecommerce.order_cancelled
タイプ: 推奨イベント
トリガー: ユーザーの注文がキャンセルされたとき
データソース: Braze REST API
ユースケース: (トランザクション) 注文キャンセルの確認
| 変数 | Liquidテンプレート |
|---|---|
| 注文 ID | {{event_properties.${order_id}}} |
| 合計金額 | {{event_properties.${total_price}}} |
| 割引合計 | {{event_properties.${total_discounts}}} |
| 確認済み | {{event_properties.${confirmed}}} |
| 注文ステータス URL | {{event_properties.${order_status_url}}} |
| 注文番号 | {{event_properties.${order_number}}} |
| キャンセルのタイムスタンプ | {{event_properties.${cancelled_at}}} |
| タグ | {{event_properties.${tags}}} |
| 割引コード | {{event_properties.${discount_codes}}} |
| フルフィルメントのステータス | {{event_properties.${fulfillment_status}}} |
| フルフィルメント | {{event_properties.${fulfillments}}} |
| アイテム ID | {{event_properties.${line_items}[0].product_id}} |
| アイテムの数量 | {{event_properties.${line_items}[0].quantity}} |
| アイテムの SKU | {{event_properties.${line_items}[0].sku}} |
| アイテムのタイトル | {{event_properties.${line_items}[0].title}} |
| アイテムのベンダー | {{event_properties.${line_items}[0].vendor}} |
| アイテム名 | {{event_properties.${line_items}[0].name}} |
| アイテムのプロパティ | {{event_properties.${line_items}[0].properties}} |
| フルフィルメントのステータス | {{event_properties.${line_items}[0].fulfillment_status}} |
| 配送のタイトル | {{event_properties.${shipping}[0].title}} |
| 配送料金 | {{event_properties.${shipping}[0].price}} |
| バリアント ID | {{event_properties.${line_items}[0].variant_id}} |
| バリアントのタイトル | {{event_properties.${line_items}[0].variant_title}} |
イベント: ecommerce.order_refunded
タイプ: 推奨イベント
トリガー: ユーザーの注文が返金されたとき
データソース: Braze REST API
ユースケース: (トランザクション) 返金確認
| 変数 | Liquidテンプレート |
|---|---|
| 注文 ID | {{event_properties.${order_id}}} |
| 注文メモ | {event_properties.${note}}} |
| アイテム ID | {{event_properties.${line_items}[0].product_id}} |
| アイテムの数量 | {{event_properties.${line_items}[0].quantity}} |
| アイテムの SKU | {{event_properties.${line_items}[0].sku}} |
| アイテムのタイトル | {{event_properties.${line_items}[0].title}} |
| アイテムのベンダー | {{event_properties.${line_items}[0].vendor}} |
| アイテム名 | {{event_properties.${line_items}[0].name}} |
| アイテムのプロパティ | {{event_properties.${line_items}[0].properties}} |
| アイテムの価格 | {{event_properties.${line_items}[0].price}} |
| バリアント ID | {{event_properties.${line_items}[0].variant_id}} |
| バリアントのタイトル | {{event_properties.${line_items}[0].variant_title}} |
サポートされている Shopify カスタム属性

すべての属性のソースはBraze REST APIです。
| 属性名 | 説明 | データソース |
|---|---|---|
shopify_total_spent |
顧客が注文履歴全体で支払った合計金額です。 | Shopify の customers/purchasing_summary Webhook |
shopify_orders_count |
この顧客に関連付けられている注文の数です。テスト注文とアーカイブ済みの注文はカウントされません。 | Shopify の customers/purchasing_summary Webhook |
shopify_last_order_id |
顧客の最後の注文の ID です。 | Shopify の customers/purchasing_summary Webhook |
shopify_zipcode |
顧客のデフォルト住所の郵便番号です。 | Shopify の customers/create および customers/update Webhook |
shopify_province |
顧客のデフォルト住所の州・都道府県です。 | Shopify の customers/create および customers/update Webhook |
shopify_locale |
顧客のロケール (en や fr-CA など) です。顧客が注文するまでは Braze Web ピクセルが収集したブラウザーの言語から設定され、その後は最新のチェックアウトのロケールで更新されます。 |
Braze Web ピクセル、Shopify orders/* Webhook、過去の顧客データのバックフィル |

Shopify は顧客の最後の注文の名前を提供しなくなったため、Braze は shopify_last_order_name 属性を設定しません。すでに値が設定されているプロファイルではその値が保持されますが、更新はされません。
Liquidパーソナライゼーション
Shopify カスタム属性に Liquidパーソナライゼーションを追加するには、+ パーソナライゼーションを選択します。次に、パーソナライゼーションタイプとしてカスタム属性を選択します。

カスタム属性を選択したら、デフォルト値を入力し、Liquid スニペットをコピーしてメッセージに貼り付けます。

サポートされているShopifyの標準属性

すべての属性のソースはBraze REST APIです。
- メール
- 名
- 姓
- 電話
- 市区町村
- 国

Brazeは、既存のユーザープロファイルとデータに差異がある場合にのみ、サポートされているShopifyのカスタム属性とBrazeの標準属性を更新します。たとえば、受信したShopifyのデータに名としてBobが含まれており、BrazeのユーザープロファイルにすでにBobが名として存在する場合、Brazeは更新をトリガーせず、データポイントも消費されません。
Shopifyからの空の値
Shopifyがユーザー属性に空の値を送信した場合、ユーザープロファイルにすでにある値をBrazeが保持するかクリアするかを選択できます。Shopify統合の設定で、Shopifyが空の値を送信したときのユーザープロファイルでの動作から、次のいずれかを選択します。
| オプション | 使用するタイミング |
|---|---|
| 既存の値を保持 | CRMからの電話番号など、他のソースもこれらのユーザープロファイルを更新する場合に最適です。 |
| 既存の値をクリア | Shopifyが信頼できる唯一の情報源であり、空の値がデータの削除を意味する場合に最適です。 |
この設定は、Brazeがユーザープロファイルから同期する標準属性とShopifyのカスタム属性に適用されます。統合のデフォルトは既存の値を保持です。たとえば、電話番号がCRMからも取得されていて、Shopifyが空の電話番号を送信した場合、CRMの番号はクリアされずにBrazeのユーザープロファイルに残ります。

Shopify顧客メタフィールド
Shopify顧客メタフィールドには、ロイヤルティティアや解約リスクスコアなど、顧客に関する独自のデータを保存します。標準統合では、最大20個の顧客メタフィールド定義をBrazeユーザープロファイルに同期し、セグメンテーションやパーソナライゼーションに使用できます。
メタフィールドがユーザープロファイルに保存される仕組み
Brazeは、接続されたストアごとに1つの階層化カスタム属性を shopify_metafields_<store> という名前で追加します。<store> は、<store>.myshopify.com ドメインの最初の部分です。選択した各メタフィールドは、そのオブジェクト内の <namespace>_<key> という名前のキーになります。たとえば、ストア acme.myshopify.com の定義 custom.vip_tier と custom.loyalty_points は、プロファイル上で次のように保存されます。
{
"shopify_metafields_acme": {
"custom_vip_tier": "gold",
"custom_loyalty_points": 120
}
}
各更新はオブジェクトにディープマージされるため、1つのキーを含む更新によって他のキーがクリアされることはなく、Brazeがオブジェクトからキーを削除することもありません。Shopifyでメタフィールドが空の場合、他の属性の空の値の設定にかかわらず、プロファイルは最後の値を保持します。
サポートされているメタフィールドタイプ
ピッカーには、次のタイプの定義のみが表示されます。参照、ファイル、JSON、金額、評価などの他のタイプはサポートされていません。
| Shopifyのタイプ | プロファイルでの保存形式 |
|---|---|
| 単一行テキスト、複数行テキスト、色、URL、ID | 文字列 |
| 整数 | 整数 |
| 小数 | 数値 |
| 真偽値 | ブール値 |
| 日付、日時 | 時間 (日付ベースのセグメントフィルターを使用できます) |
| 単一行テキスト、日付、日時、色、ID、またはURLのリスト | 文字列の配列 |
次の場合、Brazeはその値をプロファイルに書き込まず、他のキーの書き込みは続行します。
- 文字列値またはリスト内の項目が255文字を超える場合。
- 値を定義のタイプに変換できない場合 (整数フィールド内のテキストなど)。
- 属性キー (
<namespace>_<key>) が255文字を超える場合、または$や.など、Brazeが保存できない文字を含む場合。
値が同期されるタイミング
| ソース | タイミング |
|---|---|
Shopifyの customers/create および customers/update Webhook |
Shopifyで顧客が変更されたとき (選択したメタフィールドの変更を含む) |
| 履歴バックフィル | 設定時にメタフィールドを選択した場合、初回の顧客バックフィルにそれらが含まれます |
| 既存の顧客 | 接続済みのストアにメタフィールドを追加すると、Brazeは、履歴顧客バックフィル期間の開始以降 (バックフィルがオフだった場合はストアの接続以降) に更新された顧客のユーザープロファイルに、それらの値を同期します。この処理の実行中、統合ページには 既存のユーザープロファイルに顧客メタフィールドを同期中 と表示され、完了するまでピッカーは使用できません。 |
同期の状態は、統合ページの Shopifyユーザー属性 テーブルで確認できます。このテーブルには デフォルト属性 と 顧客メタフィールド が、ステータス (アクティブ、または同期の実行中は 更新中) と、それぞれの属性数とともに一覧表示されます。行の表示アイコンを選択すると、属性名を確認できます。
メタフィールドの変更または削除
- 選択を変更するには、統合ページで 設定を編集 を選択し、Shopifyデータのトラッキングステップでピッカーを更新します。メタフィールドを追加すると、既存の顧客に対する同期が開始されます。メタフィールドを削除すると、そのキーの更新が停止します。
- 選択からメタフィールドを削除した場合、または 顧客メタフィールドをユーザー属性として同期 をオフにした場合、ユーザープロファイルはShopifyからの最後の値を保持し、更新を停止します。
- Shopifyで定義を削除すると、Brazeは自動的にその定義を選択から削除します。ユーザープロファイルにすでに保存されている値はそのまま残ります。
セグメンテーションとパーソナライゼーション
メタフィールドでフィルタリングする前に、その属性のスキーマを生成する必要があります。データ設定 > カスタム属性 に移動し、shopify_metafields_<store> を見つけて スキーマを生成 を選択します。Brazeはユーザープロファイルにすでに保存されている値からスキーマを構築するため、この操作は最初の同期が完了した後に行い、メタフィールドを追加した後は新しいキーが表示されるようにスキーマを再生成してください。
メタフィールドでセグメント化するには、階層化カスタム属性 フィルターを追加し、shopify_metafields_<store> を選択して、キーをプロパティとして選択し、そのタイプに応じた比較演算子を選択します。日付メタフィールドでは 時間 および 年間通算日 の比較演算子を使用します。メッセージをパーソナライズするには、ドット表記で custom_attribute タグを使用します。前述の例のプロファイルでは、{{custom_attribute.${shopify_metafields_acme}.custom_vip_tier}} は gold を返します。
Connected Audience APIの呼び出しでは、階層化カスタム属性をフィルターとして使用できません。また、カスタムユーザーとしてプレビュー では、モックデータとして文字列または文字列の配列のみを受け付けます。完全な一覧については、階層化カスタム属性に関する考慮事項を参照してください。
Shopify注文メタフィールド
Shopify注文メタフィールドには、ギフトメッセージやフルフィルメントの希望など、注文に関する独自のデータが保存されます。Shopify標準統合を使用すると、選択した注文メタフィールドを注文イベントに追加できます。イベントでの表示方法、メタフィールドを含むイベント、サポートされているタイプ、および選択内容の変更方法については、Shopify注文メタフィールドを参照してください。
SDKデータ収集
Braze SDKが収集するデータの詳細については、SDKデータ収集を参照してください。
履歴バックフィル
Brazeに接続する前のShopify履歴データがインポートされます。設定時に、注文イベントと顧客プロファイルをどこまでさかのぼってインポートするかを選択します。各期間は、統合を完了した日からさかのぼって計算されます。
Shopify標準統合の設定またはShopifyカスタム統合の設定で履歴バックフィルをオンにすると、過去の顧客と注文をセグメント、キャンペーン、キャンバスに含めることができます。オンにする際は、次を選択します。
- 注文の期間:過去90日間、過去1年間、または過去2年間(デフォルトは過去90日間)
- 顧客プロファイルの期間:過去1年間、過去2年間、または全期間(デフォルトは全期間)
設定を完了する前に、Brazeは各オプションの推定レコード数と処理時間を表示します。バックフィルが完了すると、選択した期間がShopifyパートナーページに具体的な日付として表示されます。これらの選択内容は、設定完了後に変更できません。
BrazeがShopifyの顧客をインポートする際は、設定で選択したexternal_idタイプが割り当てられます。

アクティブなキャンペーンやキャンバスがある既存のBrazeのお客様は、履歴バックフィルを有効にする前に、インポートされる顧客と注文イベントがセグメントやジャーニーにどのような影響を与えるかを確認してください。履歴バックフィルは、すでにアクティブなキャンペーンやキャンバスに含まれているユーザーをさかのぼって更新することはありません。
カスタムexternal IDを使用して統合する予定の場合(標準統合またはカスタム統合のいずれか)、カスタムexternal IDをShopify顧客メタフィールドとして既存のすべてのShopify顧客プロファイルに追加し、その後に履歴バックフィルを実行する必要があります。
Brazeが履歴データを選択する方法
Brazeは、初回読み込みの実行時に次のShopify日付フィールドを使用します。
| データ | 利用可能な期間 | Shopifyの日付フィールド |
|---|---|---|
| 注文イベント(注文完了、注文返金、注文キャンセル) | 過去90日間、過去1年間、または過去2年間 | 注文作成日 |
| ユーザープロファイル | 過去1年間、過去2年間、または全期間 | 顧客更新日 |
過去の注文を元の作成日のままShopifyに移行した場合、Brazeは選択した注文期間内に作成日が含まれる注文のみをインポートします。
Shopify履歴バックフィルの設定
- Shopifyデータを追跡ステップで履歴バックフィルをオンにするを選択します。
- 注文の期間と顧客プロファイルの期間を選択します。選択内容の推定件数と処理時間を確認します。
- 統合の設定を完了すると、Brazeは初回データ同期を開始します。進行状況は、統合設定のShopifyデータタブで確認できます。

バックフィルの同期速度とタイミング
履歴バックフィルはBraze SDKではなくBrazeのShopify統合によって実行され、統合の設定を完了すると自動的に開始されます。
履歴バックフィルを有効にすると、BrazeはShopifyから注文イベントと顧客プロファイルをバッチでインポートします。注文イベントと顧客プロファイルは別々のタイムラインで同期されるため、一方が先に完了することがあります。大規模なバックフィルは、同時に実行できるよう並列の期間に分割されます。
同期にかかる時間は、ストア内の履歴データの量と選択した期間によって異なります。注文量が多いストアや顧客基盤が大きいストアでは、バックフィルの完了に時間がかかる場合があります。バックフィルの速度を変更したり、より速い同期をリクエストしたりすることはできません。
同期されるデータ
初回データ同期では、BrazeはBrazeが履歴データを選択する方法で説明している注文イベントとユーザープロファイルをインポートします。BrazeがShopifyの顧客をインポートする際は、設定で選択したexternal_idタイプが割り当てられます。設定時に顧客メタフィールドを選択した場合、顧客のバックフィルでそれらの値も書き込まれます。設定時に注文メタフィールドを選択した場合、バックフィルされた注文には、サポートされている注文イベントにそれらの値が含まれます。
次の表は、初回読み込みに含まれるデータをまとめたものです。
| Braze推奨イベント | Shopifyカスタムイベント | Braze標準属性 | Braze購読ステータス |
|---|---|---|---|
|
|
|
|