ShopifyでECサイトを運営していると、売上データを効率的に集計したい場面があります。しかし、Shopifyの管理画面だけでは細かい分析が難しいこともあります。そこで、GoogleスプレッドシートとShopifyのAPIを連携すれば、リアルタイムで売上データを取得し、自由に集計できます。この記事では、ShopifyのAPIから売上データを取得する手順を詳しく解説します。
【要点】Shopify APIを使って売上データをスプレッドシートに自動取得する方法
- Shopifyのプライベートアプリ作成: APIキーとパスワードを発行して認証を準備します。
- Apps Scriptでカスタム関数を作成: UrlFetchAppを使ってAPIを呼び出し、データを取得します。
- シートにデータを展開: 取得したJSONをパースして、売上明細を表形式で表示します。
ADVERTISEMENT
目次
Shopify API連携でできることと準備
Shopify APIを使うと、注文データや顧客データを外部から取得できます。Googleスプレッドシートに取り込めば、QUERY関数やピボットテーブルを使って自由に集計できます。事前に必要なものは、Shopifyのストアと管理者権限、そしてGoogleアカウントです。APIの利用には、Shopifyのプライベートアプリを作成して認証情報を取得します。この認証情報を使って、スプレッドシート上でAPIリクエストを送信します。
Shopifyデータをスプレッドシートに取り込む手順
以下の手順で、売上データを自動取得できる仕組みを作ります。最初にShopify側でプライベートアプリを作成し、その後GoogleスプレッドシートのApps Scriptでコードを記述します。
Shopifyでプライベートアプリを作成する
- 管理画面でアプリ設定を開く
Shopify管理画面の左下にある「設定」から「アプリと販売チャネル」をクリックし、「アプリを管理」を選択します。 - プライベートアプリを作成する
画面下部の「プライベートアプリを作成する」をクリックします。アプリ名は任意で構いません。 - APIスコープを設定する
「管理API」タブで、必要なデータのスコープにチェックを入れます。売上データを取得する場合は「Orders」の読み取り権限(read_orders)を有効にします。 - APIキーとパスワードをコピーする
「アプリを作成」をクリックすると、APIキーとパスワードが表示されます。この情報は後で使うので、安全な場所に保存してください。
GoogleスプレッドシートでApps Scriptを設定する
- スクリプトエディタを開く
スプレッドシートを開き、メニューから「拡張機能」→「Apps Script」を選択します。 - 関数を記述する
以下のコードをエディタに貼り付けます。APIキーとパスワードは、先ほど保存した値に置き換えてください。function getShopifyOrders() {
var apiKey = 'あなたのAPIキー';
var password = 'あなたのパスワード';
var shopName = 'あなたのストア名';
var url = 'https://' + apiKey + ':' + password + '@' + shopName + '.myshopify.com/admin/api/2023-10/orders.json?status=any';
var response = UrlFetchApp.fetch(url);
var data = JSON.parse(response.getContentText());
var orders = data.orders;
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.clear();
sheet.appendRow(['注文番号', '日付', '合計金額', '顧客名', 'ステータス']);
for (var i = 0; i < orders.length; i++) {
var order = orders[i];
sheet.appendRow([order.name, order.created_at, order.total_price, order.customer.first_name + ' ' + order.customer.last_name, order.financial_status]);
}
} - スクリプトを保存して実行する
関数名「getShopifyOrders」を選択し、実行ボタンを押します。初回は権限の承認が必要です。承認後、シートに注文データが表示されます。 - トリガーで自動実行を設定する(オプション)
定期的にデータを更新したい場合は、Apps Scriptの「トリガー」メニューから時間ベースのトリガーを設定します。例えば1時間ごとに実行するようにします。
API連携時の注意点とトラブル対策
APIを利用する際には、いくつかの制限やエラーが発生する可能性があります。以下に主な注意点をまとめます。
レート制限に引っかかる
Shopify APIには1秒あたりのリクエスト数に制限があります。大量のデータを取得しようとするとエラーになる場合があります。その場合は、処理を分割するか、リクエスト間に待機時間を入れてください。
APIバージョンの違いでエラーになる
コード内のAPIバージョン(例:2023-10)は、最新の安定バージョンを指定します。古いバージョンだとエンドポイントが変更されている場合があります。Shopifyのドキュメントで最新バージョンを確認してください。
認証情報の漏洩リスク
スクリプト内にAPIキーとパスワードを直接書くと、シートを共有した際に情報が漏れる危険があります。スクリプトのプロパティや別のシートに隠すなど、セキュリティに注意してください。
ADVERTISEMENT
手動エクスポートとAPI連携の比較
| 項目 | 手動CSVエクスポート | API連携 |
|---|---|---|
| 更新の手間 | 毎回手動で出力する必要があります | 自動実行で常に最新データを保てます |
| データ量 | 最大データ数に制限があります | ページネーションで大量データも取得できます |
| カスタマイズ性 | 出力形式が固定されます | 必要なフィールドだけを選択できます |
API連携は初期設定に少し時間がかかりますが、一度構築すれば自動化できるメリットがあります。
まとめ
この記事では、ShopifyのAPIを使って売上データをGoogleスプレッドシートに取得する手順を解説しました。プライベートアプリの作成とApps Scriptのコードを組み合わせることで、手動エクスポートの手間を省けます。取得したデータは、ピボットテーブルやSUMIFS関数を使って日次・月次の売上集計に活用できます。また、APIのバージョン管理や認証情報の取り扱いに注意すれば、安定したデータ連携が実現できます。ぜひ、この仕組みを導入してECデータ分析を効率化してください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
