ADVERTISEMENT

【Googleスプレッドシート】ShopifyのAPIから売上データを取得!ECデータ集計の手順

【Googleスプレッドシート】ShopifyのAPIから売上データを取得!ECデータ集計の手順
🛡️ 超解決

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でプライベートアプリを作成する

  1. 管理画面でアプリ設定を開く
    Shopify管理画面の左下にある「設定」から「アプリと販売チャネル」をクリックし、「アプリを管理」を選択します。
  2. プライベートアプリを作成する
    画面下部の「プライベートアプリを作成する」をクリックします。アプリ名は任意で構いません。
  3. APIスコープを設定する
    「管理API」タブで、必要なデータのスコープにチェックを入れます。売上データを取得する場合は「Orders」の読み取り権限(read_orders)を有効にします。
  4. APIキーとパスワードをコピーする
    「アプリを作成」をクリックすると、APIキーとパスワードが表示されます。この情報は後で使うので、安全な場所に保存してください。

GoogleスプレッドシートでApps Scriptを設定する

  1. スクリプトエディタを開く
    スプレッドシートを開き、メニューから「拡張機能」→「Apps Script」を選択します。
  2. 関数を記述する
    以下のコードをエディタに貼り付けます。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]);
    }
    }
  3. スクリプトを保存して実行する
    関数名「getShopifyOrders」を選択し、実行ボタンを押します。初回は権限の承認が必要です。承認後、シートに注文データが表示されます。
  4. トリガーで自動実行を設定する(オプション)
    定期的にデータを更新したい場合は、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

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。