ADVERTISEMENT

【Googleスプレッドシート】Mailchimpのメール統計を取得!APIエンドポイントの活用

【Googleスプレッドシート】Mailchimpのメール統計を取得!APIエンドポイントの活用
🛡️ 超解決

Mailchimpで配信したメールの開封率やクリック率を、Googleスプレッドシートで一覧管理したいと思ったことはありませんか。手作業でエクスポートするのは手間がかかり、データが古くなってしまうこともあります。この記事では、MailchimpのAPIエンドポイントを活用して、スプレッドシートに直接メール統計を取得する方法を解説します。具体的な手順を踏めば、定期的なデータ更新も自動化でき、レポート作成の効率が格段に向上します。

【要点】Mailchimp APIをスプレッドシートで活用する3つのポイント

  • Mailchimp APIキーの取得: アカウント設定からAPIキーを発行し、スプレッドシートからアクセスできるようにします。
  • Apps ScriptでAPIリクエスト: Google Apps ScriptのUrlFetchAppを使ってMailchimp APIを呼び出し、JSONデータをスプレッドシートに展開します。
  • カスタム関数で簡略化: IMPORTJSONなどのカスタム関数を導入すると、APIデータをセルに直接取得できるようになります。

ADVERTISEMENT

Mailchimp APIエンドポイントで取得できるデータ

MailchimpはRESTful APIを提供しており、キャンペーンの統計情報をプログラムで取得できます。特にレポート系のエンドポイントを使うと、各キャンペーンの送信件数、開封数、クリック数、バウンス数などが取得可能です。例えば、/reportsエンドポイントにキャンペーンIDを指定すれば、詳細な統計がJSON形式で返ってきます。このデータをスプレッドシートに取り込めば、フィルタやグラフで自由に分析できるようになります。

Mailchimpのメール統計をスプレッドシートに取得する手順

事前準備: APIキーの発行とアクセス権限

  1. Mailchimpアカウントにログインする
    ダッシュボードの右上にあるプロフィールアイコンをクリックし、「Account」を選択します。
  2. APIキーを作成する
    「Extras」メニューから「API keys」を選び、「Create A Key」ボタンを押します。表示されたキーをコピーして安全な場所に保管してください。
  3. データセンターのURLを確認する
    APIキーの末尾に「-us1」などの文字列が含まれています。これがデータセンターの識別子で、APIエンドポイントのベースURLに使用します。例えば「us1」なら「https://us1.api.mailchimp.com/3.0/」がベースURLです。

Apps ScriptでAPIリクエストを書く

  1. スプレッドシートのスクリプトエディタを開く
    メニューから「拡張機能」→「Apps Script」をクリックします。
  2. スクリプトコードを記述する
    以下のコードを入力します。APIキーとデータセンターは自分のものに置き換えてください。
    function getMailchimpReports() {
    var apiKey = 'YOUR_API_KEY';
    var dc = 'us1'; // データセンター
    var url = 'https://' + dc + '.api.mailchimp.com/3.0/reports/campaigns';
    var options = {
    'method': 'get',
    'headers': {'Authorization': 'apikey ' + apiKey},
    'muteHttpExceptions': true
    };
    var response = UrlFetchApp.fetch(url, options);
    var data = JSON.parse(response.getContentText());
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var rows = [];
    // ヘッダー行
    rows.push(['キャンペーンID', 'タイトル', '送信件数', '開封数', 'クリック数']);
    // データ行を追加
    for (var i = 0; i < data.campaigns.length; i++) {
    var campaign = data.campaigns[i];
    rows.push([campaign.id, campaign.settings.title,
    campaign.emails_sent, campaign.unique_opens,
    campaign.unique_clicks]);
    }
    sheet.getRange(1, 1, rows.length, rows[0].length).setValues(rows);
    }
  3. スクリプトを実行する
    保存後、実行ボタンを押します。初回は承認が必要です。Mailchimpのデータがシートに書き込まれます。

定期的に自動更新するトリガーを設定する

  1. トリガーを追加する
    スクリプトエディタの左側メニューで時計アイコンをクリックし、「トリガーを追加」を選択します。
  2. 実行間隔を設定する
    「時間ベースのトリガー」を選び、1時間ごとや日次など希望の頻度を設定します。これでスプレッドシートが自動更新されます。

API連携でよく起きるトラブルと対処法

401 Unauthorizedエラーが出る場合

APIキーが正しくないか、権限が不足している可能性があります。APIキーを再発行し、スコープを確認してください。Mailchimp APIでは、APIキーに紐づくユーザーの権限でデータが制限されます。

データが全く取得できない場合

エンドポイントのURLが間違っているか、データセンターが異なるかもしれません。MailchimpアカウントのAPIキー画面に表示されるベースURLを確認し、コード内のデータセンター文字列を修正してください。

Apps Scriptの実行時間が制限を超える場合

大量のキャンペーンがあると、スクリプトが6分間の実行制限に達することがあります。その場合は、ページング処理を実装して一度に取得する件数を制限するか、トリガーの間隔を短くして分割取得してください。

ADVERTISEMENT

API利用の無料枠と有料プランの違い

プラン APIリクエスト制限 取得できる統計の詳細度
無料(Free) 月10,000リクエスト 基本的なキャンペーン統計のみ
有料(Essentials以上) 月50,000リクエスト以上 クリックマップや比較レポートなど詳細データ

無料プランでも基本的な統計取得には十分ですが、大量のキャンペーンがある場合はリクエスト数に注意が必要です。有料プランではより詳細なデータと高いリクエスト上限が得られます。

まとめ

Mailchimp APIエンドポイントを活用すれば、Googleスプレッドシートでメール統計を直接管理できるようになります。Apps Scriptを使った手順を実践することで、手動エクスポートの手間から解放され、データの鮮度も保てます。次に、このデータをQUERY関数で集計したり、グラフで可視化してレポートを自動生成することも可能です。ぜひAPI連携を活用して、メールマーケティングの効果測定を効率化してみてください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

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