【Shopify Flow活用】Matrixifyを使わずにShopifyメタフィールドなどの顧客情報をエクスポートする方法

Shopifyのデータをエクスポートする方法は複数存在しますが、それぞれにメリット・デメリットがあります。

公式のエクスポート機能は直感的ですが、API経由でのみ取得可能な情報は出力できません。また、Matrixifyを使うとより詳細なデータのエクスポートが可能ですが、10ユーザーを超えると有料となります。

そこで本記事では、Shopify Flowを使って「無料で、詳細な顧客データをエクスポートする方法」をご紹介します。

本記事で紹介する施策に使うアプリ・サービス

  • ワークフローの自動化Shopifyアプリ「Shopify Flow」:Shopifyベーシックプラン以上で利用可能(2023年8月時点)
  • オンラインでスプレッドシートを作成・編集できる「Google Sheet」:Googleアカウントがあれば誰でも利用可能

ワークフローの設定に使う「Shopify Flow」とは、Shopify内の会員登録・購入・発送などのイベントやShopifyアプリ側のイベントをトリガー(発動条件)にして、Shopify内のデータで条件分岐を作り、タグ付与・削除やメタフィールドへのデータ追加などのShopify上のアクションやShopifyアプリ側でのアクションをノーコードで実現できるアプリです。

詳しくはこちらの記事を併せてご一読ください!

※有料アプリの利用もアリな場合は、速くて簡単なMatrixifyでのエクスポートがおすすめ

Shopifyの顧客データを出力するには、公式のエクスポート機能を使う方法や、Matrixifyという出力アプリを使う方法、Shopify Flowのスケジュールトリガーを使う方法などがあります。

公式のエクスポート機能を使うと、Shopify顧客管理からすぐにエクスポートできますが、API経由でしか取得できないメタフィールドなどの顧客情報は出力できません。

※ 公式のエクスポート機能で出力できるのは「姓名 / メールアドレス / マーケティングメール同意の有無 / 会社 / 住所 / 支払合計額 / 注文数 / 顧客タグ / 顧客メモ / 免税の有無」です。

メタフィールドやその他の情報を含んだデータをエクスポートしたい時、弊社がよくお勧めしているのはMatrixifyです。操作は簡単で、スピードも速いです。

Matrixifyでの顧客情報の出力方法は、こちらの記事内で紹介しています。

ただし、Matrixifyを使う方法では、10ユーザーを超えたエクスポートには有料プランの利用が必須となります。

そこで本記事では、Shopify Flowを使って無料でエクスポートする方法をご紹介します。

当手法ではShopify Flowのスケジュールトリガーを利用しており、一回の処理で呼び出せる顧客数が最大100個までという制限があるため、(出力したい顧客の数÷100)回処理を繰り返す形になる点にご留意ください。また、重複して顧客情報が出力されるのを回避する目的で、30分に1回の処理を行う設定にしているため、1日を使って、最大2400個までの出力になります。

顧客数が多ければ多いほど待つ時間も増えますので、その点も加味して、Matrixifyを使うか、Shopify Flowを使う(本記事で紹介する方法を使う)か検討いただけますと幸いです。

無料で顧客データをエクスポートするには?メタフィールドに保存しているLINE IDを抽出する例で解説

Shopify Flowのスケジュールトリガーを使って、顧客管理のメタフィールドに保存されているデータをエクスポートする方法を解説していきます。本記事では、メタフィールドに保存されているデータの例として「LINEのユーザーID」をエクスポートしていきますが、他のデータを出力する際にもご利用いただけます。

※弊社の提供しているShopifyアプリ「CRM PLUS on LINE」では、顧客のメタフィールドにLINEのユーザーIDを格納しています。

Shopify Flowでのワークフロー設定イメージ

まず最初に、今回設定するShopify Flowの完成イメージはこちら(下図)です。

Shopify Flowの完成イメージ
Shopify Flow設定イメージ:定期的にトリガーが発火し、条件に合った顧客のデータをGoogle Sheetに出力している

スケジュールトリガーを利用して顧客情報を取得し、Google Sheetへの出力と、重複処理を回避するための顧客タグを付与する流れです。

続いて、このワークフローの設定手順をひとつひとつ解説していきます。

手順1:スケジュールトリガーの設定

今回は、スケジュールトリガーを利用して、ワークフローを定期実行したいのでShopify公式の提供する「Scheduled time」をトリガーに指定します。

「Scheduled time」をトリガーに指定
Shopify Flow トリガー設定:Scheduled time

トリガーにはScheduleを2つ設定します。一つは任意の日時開始で :00 に開始するもの、もう一つは :30 に開始するものです。どちらも1時間ごとに繰り返し設定することで、30分ごとに本ワークフローのトリガーが発火するようになります。

手順2:アクション(Get customer data)の設定

出力する顧客のデータを取得するために、Get customer dataアクションを指定します。

Get customer dataアクションを指定
Shopify Flow アクション設定:まだ顧客シートに出力していない人を呼び出す(Getする)

「Sort data by」欄では、取得する顧客の順番を指定できます。必要に応じて適宜設定してください。上記画像の例では、顧客情報にアップデート(顧客情報の編集や注文の作成)があったユーザーを降順(新しい順)に指定しています。

「Maximum number of customers」欄には、データを取得する顧客数を入力します。最大値の”100”を指定してください。※動作確認で少しだけ出力してみる場合は”5”などでも可です。

「クエリを編集」欄は、一定の条件に合ったユーザーだけを絞り込みたい時に使います。

データを絞り込むクエリを選択
データを絞り込むクエリ(プリセット)

プリセットされているクエリを利用することもできますし、「高度」のクエリを選択して自身で記述することもできます。

今回は、「高度」のクエリを選択して、同一ユーザーへの重複実行を避けるためのクエリを設定していきます。

Get customer dataアクションを指定
Shopify Flow アクション設定:まだ顧客シートに出力していない人を呼び出す(Getする)

上記画像内にある”tag:’line’ AND NOT tag:’sheetAdded’”は、 顧客タグ「line」が付与されており、かつ顧客タグ「sheetAdded」が付与されていないことを指定しています。

AND NOT tag:’sheetAdded’ は、本ワークフローの処理が同一ユーザーに重複して実行されないようにするための検索クエリです。必ず設定してください。

手順3:アクション(For each loop)の設定

For each loop アクションを設定
Shopify Flow アクション設定:For each loop

手順2で設定したアクション(Get customer data)でデータを取得したので、次にデータを出力するアクションを設定します。

For each loop アクションを選択して、「リスト」欄では”Get customer data”を指定します。

このブロックには Then と Do this for each item の2つの繋ぎ口がありますが、今回は「Do this for each item」を選択して、手順4の設定に進みます。

手順4:アクション(Add row to spreadsheet)の設定

「Add row to spreadsheet」を指定
Shopify Flow アクション設定:Add row to spreadsheet

「Google Sheets for Shopify Flow」から提供されているアクション「Add row to spreadsheet」を指定します。

「Spreadsheet URL」には出力先となるGoogle SheetのURLを、「Tab name」にはSheet内のどのタブに出力するかを指定します。

Google Sheet のタブ
Google Sheet のタブ(画面下部にあります)

「Row contents (comma separated)」 には、出力したいデータを指定します。基本的には右下の「変数を追加」から探して指定します。画像の例ではユーザーのShopify IDとメタフィールドの値を出力しています。

{{getCustomerDataForeachitem.id}} がShopify IDを指定したもの、{% for metafields_item in… から始まるものが、メタフィールドの中でもNamespaceやKeyを特定のものに指定して出力する変数です。

{% for metafields_item in getCustomerDataForeachitem.metafields %}{% if metafields_item.namespace == '[namespace]' %}{% if metafields_item.key == '[key]' %}{{ metafields_item.value }}{% endif %}{% endif %}{% endfor %} 

上記の [namespace]、[key]の部分を特定のものに置き換えてご利用ください。

※初めてAdd row to spreadsheetを使う場合の注意点

Google Sheets for Shopify FlowをGoogleアカウントと連携

初めてGoogle Sheetのアクションを設定する時には、先にGoogleアカウントとの連携が必要です。「連携」ボタンをクリックし、許認可画面で許可をして連携を完了させてください。

手順5:アクション(For each loop)の設定

2個目のアクションを設定したいので、1つ目の For each loop の「Then」に2つ目の For each loop を繋げます。

1つ目の For each loop の「Then」に2つ目の For each loop を繋げる
Shopify Flow アクション設定:For each loop

1つ目同様に「リスト」には”Get customer data”を指定します。

手順6:アクション(Add customer tags)の設定

「Add customer tags」の設定
Shopify Flow アクション設定:Add customer tags

2つ目の For each loop のDo this for each item 欄に、Shopify公式のアクション Add customer tags を指定します。次回以降Get customer dataで使ってデータを取得する際に、一度Google Sheetに出力されたユーザーが重複して取得されないよう、「sheetAdded」タグを付与します。

※このタグ付与設定を行うことで、手順2の「高度なクエリ」で指定した AND NOT tag:’sheetAdded’ の除外対象になります。

手順7:ワークフローのテスト実行

実行してみて、Google Sheetに出力されていたら設定完了です。100ユーザーずつ出力されるので、( 出力したいユーザー数 ÷ 100 )回実行してください。

終わりに

弊社ソーシャルPLUSでは、(LINE活用に関する)Shopify Flowの構築・活用サポートも行っています。お困りの際はぜひお気軽にご相談くださいませ。

ShopifyとLINEを連携したCRMを実現するShopifyアプリ「CRM PLUS on LINE」 | ソーシャルPLUS
ID連携を軸に、LINEを活用した顧客コミュニケーションの最適化を実現するShopifyアプリです。顧客・購買データを基にしたセグメント配信やLINE公式アカウント上での顧客対応、リッチメニューの出し分け、購入・発送完了通知等、多様なLIN...
お問い合わせ | LINE連携Shopifyアプリ「CRM PLUS on LINE」
株式会社ソーシャルPLUSが提供するShopifyアプリ「CRM PLUS on LINE」は、Shopifyで構築したECサイトを対象に、購入完了ページ等からのID連携や自動友だち追加、Shopify上の購入履歴等に応じたメッセージ配信ま...
タイトルとURLをコピーしました