顧客のメタフィールドが更新された際に、Shopify Flow を実行する

顧客のメタフィールドが更新された際に、Shopify Flow を実行する

ページをコピーする

顧客がプロフィールを更新した際に、その顧客の服のサイズに一致する商品に自動的にタグを付与します。Workflow Trigger Extensionsの「顧客メタフィールド」トリガーを使用します。

Workflow Trigger ExtensionsアプリのCustomer Metafield Updateトリガーを使用して、顧客の服のサイズ設定に基づいて商品にタグを付ける方法を理解するために、以下のシナリオを想定します。


シナリオ:顧客がサイズを更新 → 該当するすべての商品に自動的にタグが付けられる

あるファッション小売業者は、顧客が自分のプロフィールにお気に入りの服のサイズを登録できるようにしています。顧客がサイズを更新するたびに、Flowはそのサイズで入手可能なすべての商品を自動的に検索してタグ付けするため、サイズ別のコレクションやフィルター、パーソナライズされたおすすめ商品の作成が簡単に行えます。

顧客レコードのメタフィールドcustom.clothing_sizeが、新しいサイズ値(例:"XL")に更新されます。

この条件により、メタフィールドの値が空白でないことが確認され、有効なサイズが設定されている場合にのみワークフローが実行されるようになります。

Flowは、顧客のサイズ値に一致するバリアントオプションを持つすべての商品をクエリします(例:"XL")。

一致した各商品にはavailable-in-XL(または設定されたサイズ)というタグが付けられ、サイズ別のコレクションやストアフロントで簡単に表示できるようになります。

お客様に対し、ご自身のサイズの新商品が購入可能になったことをお知らせするメールが送信されます。


このフローの構築方法

以下の2つの手順に従って、このフローを構築できます:

  1. アプリに「顧客メタフィールドトリガー」を追加する
  2. Shopify Flow を作成する

以下のデモ動画でも、これらの手順をご覧いただけます(動画には音声がありません):


1) 顧客メタフィールドにトリガーを追加する

まず、監視したい顧客メタフィールドにトリガーを登録する必要があります。

  • まず、Workflow Trigger Extensions→「ダッシュボード」→「セットアップガイド」から「顧客アクセス」が設定されていることを確認してください。「顧客アクセスを許可」という項目が表示されます。また、Workflow Trigger Extensions→「権限」から権限を確認することもできます。
  • 次に、「Customer」メタフィールドトリガーを作成する必要があります。「セットアップガイド」が表示されない場合は、アプリのメタフィールドトリガーページに直接移動してください。
  • トリガーを追加ボタンを押して、新しいトリガーを作成します。
  • リソースタイプCustomerを選択し、メタフィールドcustom.clothing_sizeを検索します。それを選択し、トリガーを追加ボタンを押して確定します。

メタフィールドが設定されているにもかかわらず、選択したリソースにそのメタフィールドが表示されない場合は、「メタフィールドトリガー」ページにあるメタフィールドを更新ボタンをクリックしてください。これによりキャッシュがクリアされ、メタフィールドが表示されるようになります。


2) Shopify Flow を作成する

それでは、顧客のサイズが更新されるたびに、一致する商品を検索してタグ付けを行うフローを作成しましょう。

  • Shopify Flow を開き、新しいワークフローを作成します。Workflow Trigger ExtensionsアプリのMetafield Updateトリガーを選択します。
  • [イベントの記録] をクリックし、新しいタブで顧客のcustom.clothing_sizeメタフィールドを"XL"に更新して、サンプルペイロードを取得します。[テストイベントの選択] をクリックして、記録されたペイロードをワークフロービルダーに読み込みます。
  • 顧客データと新しいメタフィールドの値を含むペイロードが表示されます。ここには、顧客が先ほど設定した新しいサイズ値(例:"XL")が格納されています。
  • 「メタフィールドの値が空白でないこと」かつmetafield.key = "clothing_size"かつresourceType = "CUSTOMER"であることを確認する条件を追加します。
  • アクションを追加**:商品のバリエーションデータを取得し**、メタフィールドの値Variant option1 == {{ metafield.value }}に一致するバリエーションオプション1でフィルタリングします。これにより、顧客のサイズに該当するバリエーションを持つすべての商品が取得されます。

私の場合、バリアント(サイズ)とそのオプション1については、利用可能な選択肢が1つしかありません。もし他の場所にバリアントの選択肢がある場合は、それがオプション2、あるいはオプション3となるでしょう。

  • アクションを追加**:検索結果に表示された各商品にタグを追加**:available-in-{{ metafield.value }} サイズ"XL"を設定した顧客の場合、このアクションにより、条件に一致するすべての商品にタグavailable-in-XLが追加されます。
  • 必要に応じて、「顧客にタグを追加」アクションを追加し、顧客レコードを同期状態に保ちます:size-{{ metafield.value }}