Shopify Flowを使ってスプレッドシートに注文データを入れる方法

どうも、業務効率化が大好きな小坂です。

今回は、Shopifyの注文データをShopify Flowを使ってGoogle Spread Sheet(以下GSS)に自動連係する方法について解説したいと思います!

主にマーケティングや分析をしている人にとっては役に立つ内容と思いますので是非ご覧頂ければと思います!

なぜ連携したいのか?

Shopifyって、決まったデータ分析ってやりやすいんですが、深くデータ分析をしたいときにはいまだに僕はエクセルやスプレッドシートには敵わないんですよね。

例えば、サブスクユーザーと単品ユーザーの比率や、ユーザー別の売上比率をダッシュボードとして見ておきたい時なんかには、GSSにデータ連携してこねくりまわせるようにしておきたい。

そんな時、毎回データをエクスポートして貼る、だなんてことはやりたくない。

ということでこの連携を自動化したいと思います。

どうやって連携するのか?

Shopify Flowの「Google Sheets for Shopify Flow」を使って連携していきます。

ただ、公式の回答ってすごい抽象的なんで、細かく書いていきます!

1.ShopifyFlowのインストール

shopify app storeでShopify Flowと検索してインストールしましょう。

https://apps.shopify.com/flow

2.ワークフローを作る

アプリを開いたら右上にある「ワークフローを作成」を押下します。

3.トリガーを選択する

そうすると、以下の画面になりますので、トリガーを選択、を選びましょう。

トリガーを選択するようになります。
要は、何を起点にワークフローを動かすか、という事ですね。

4.条件やアクションを設定していく

ということで、トリガーを選択し、「Then+」というボタンを押しながら、以下のようになるように設定していきます。
英語で項目などを入力してあげると候補が出てきて作りやすくなります。

Order paid→アクション→Wait→条件→Title一致→アクション→Add row to spreadsheet

という作成になっていきます。

ちなみに、なぜWaitをしているかというと、外部決済などを使っているからか、そのままやって過去エラーがあったことがあったので、時間を空けています。

またTitleについては、、Shopify POSなんかを使っていると、Online以外のデータも連携されるので、EC上の売上のみを抽出するために上記の設定にしているので、Online Store一致は店舗によっては削除してOKです。

設定したいという方は、order.channelInformation.app.titleを参考に設定してみてください。

※2024/3/13 読者の方から問い合わせをいただき、詳細を追記させて頂きました!

5.GSSのアプリを入れ設定する

ここで注意が、Add ro to spreadsheetの部分です。

最初にアクションを選択すると、インストール済のアプリ、というフィルタがかかっているので、「Google Sheets for Shopify Flow」が表示されません。

なので、一旦×ボタンを押して、クリアにしてあげてから検索をしましょう。

その後は、画面に従って、インストールやGoogleでのSSOログイン。
Spreadsheet URL は、GSSのURLをそのまま書きます。
Tab nameは、作りたいシートの名称にします。

6.連携したいデータを決める

そして、Row contents (comma separated)が、スプレッドシートに入れていきたいデータをカンマ区切りで追加していきます。

サンプルとしてはこんな感じです。

{{order.name}},{{order.email}},{{order.createdAt}},{{order.subtotalPriceSet.shopMoney.amount}},{% for taxLines_item in order.taxLines %}{{taxLines_item.priceSet.shopMoney.amount}}{% endfor %},{{order.shippingLine.title}},{{order.customer.numberOfOrders}},{{order.customer.amountSpent.amount}},{% for tags_item in order.tags %}{{tags_item}}{% endfor %},{{order.discountCode}},{% for lineItems_item in order.lineItems %}{{lineItems_item.name}}{% endfor %},{% for lineItems_item in order.lineItems %}{{lineItems_item.title}}{% endfor %},{{order.id}}

こればっかりは実際にエクスポートしたデータを扱ったことがない人にはイメージが付きづらいと思うのですが、GSSのヘッダーとしてはこういう形式になります。

Shopify Flow GSS連携サンプル

更に追加したい場合は

ちなみにこの形式だとemailなどを吐き出す形式になっているので、customer.idなどを活用すると、よりセキュアにデータ連携や分析などが出来るようになります。

追加したいデータがないかな、と思う人は、「変数を追加」から探すか、

英語ですが、データ構造を見て、オブジェクトを探しましょう。

https://shopify.dev/docs/api/admin-graphql/2023-10/objects/Order

まとめ:ShopifyFlowの可能性は無限大

Shopify Flowって、簡単にアプリやAPIと連携して活用できるんですが、オンライン上に細かい設定までってなかなか書かれていないんですよね。

Slackとの連携だったり、今まで作ったShopify Flowのワークフローは数知れず…

少しずつ実際の設定方法など細かいところまでご紹介していきたいと思います!
もし、こういうの作りたい!とかあればお気軽に問合せかTwitterまで連絡いただければと思います!

それでは!