メインコンテンツまでスキップ

メタフィールドデータを外部システムに連携させる

メタフィールドのデータを外部サービスに連携することで、別のサービスでもShopifyのリソースを最大限に活用できます

このベストプラクティスでは、AL CustomerMetaSyncを使って、以下の構成を作成する方法を解説します:

  • 誕生日が入力されたことを条件に、別のサービスに誕生日データを連携する

今回はロイヤリティー、ポイントでよく活用されるLoyalityLionを実例として紹介します。


ステップ1:誕生日メタフィールドを作成

Shopifyにはお客様のメタフィールドとして「誕生日」が標準で準備されています。

詳しいドキュメントはList of standard metafield definitionsをご確認ください。

※Shopify Formsで誕生日のメタフィールドを作成してないのに、自動で作成されるのはこの標準メタフィールドが活用されています。

もし誕生日の標準メタフィールドが作成されてない場合、AL CustomerMetaSyncのホーム画面に以下のようなアイコンが表示されます。誕生日の定義を追加するをクリックして、メタフィールドの定義を追加してください。


ステップ2:フォームブロックを作成

AL CustomerMetaSyncの管理画面で、以下のようにフォームブロックを作成します:

  1. 「誕生日」の1フィールドを追加

誕生日は変わることがないデータのため、設定中のフォームブロックではオプション設定 > 編集を許可 > データがなければ1度だけ編集を許可 に選択を入れましょう。


ステップ3:プロフィールページにフォームを設置


ステップ4:サンキューページにフォームを設置


ステップ5:注文状況ページにフォームを設置


ステップ6:Shopify FlowでLoyalityLionに登録された誕生日データを送信

誕生日がプロフィール、サンキュー、注文状況ページのいずれかで送信されたことをトリガーに、Shopify Flowを使ってLoyalityLionに誕生日データを送信する仕組みを作成します。

AL CustomerMetaSyncでは、プロフィール、サンキュー、注文状況ページでフォームが送信されると、Shopify Flowを起動することができます。

Shopify Flowでは以下のように構成します:

  1. トリガー:「Customer Metafield Submitted on Profile Page」&「Customer Metafield Submitted on Thank you Page」&「Customer Metafield Submitted on Order status page」
  2. 条件:該当フォームのBlock IDで絞り込み
  3. 条件:LL birthday valueが空白または存在しません。
  4. アクション:「Log output」で登録した値を出力する
  5. アクション:「Send HTTP request」を使ってLoyalityLionが提供するAPIのエンドポイントにデータ送信
  6. 条件:LoialityLionからのレスポンスの結果がokかを判定
  7. アクション:「Send Internal email」を使って、エラーが生じた場合、管理者にメール

上記項目を一つずつ詳細を解説します。

1: どこのページから誕生日を登録しても、LoyalityLionにデータ連携できるよう、誕生日を設置した全てのページでトリガーが発火するように準備します。

2: 作成したフォームブロックでのみFlowを動かすための条件です。

3: LoyalityLionはShopifyとの連携において、LoyalityLionのインターフェイスを通じて誕生日が登録された場合、loyaltylion.birthday というShopifyのメタフィールドにLoyalityLionの誕生日データが連携されます。既にLoyalityLionに誕生日の登録がないかを判定するため、この条件を設けます。

4: エラーなどが生じた場合、登録したメタフィールドの値に問題がないか検証するためにLog outputの過程を設けています。必ずしも必要ではありません。

5: LoyalityLionが提供する Update Customer のAPIを利用して誕生日データを送信します。LoyalityLionではAPI keyを事前に作成する必要があります。詳しくは API keysのreate an API key をご参照ください。

※5のプロセスはエンジニア的要素を必要とし、慣れてない方からするとハードルがあります。サポートが必要な場合は、いつでも弊社にお問い合わせください。

6: LoyalityLionの処理結果を受け取って、正常に処理が終わったかを判定します。

7: 6の結果を受け、リクエストが正常に処理でなければ、Send Intenal Emailを使用し管理者や運営者に通知を行います。