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キーの発行とアクセス権限
- Mailchimpアカウントにログインする
ダッシュボードの右上にあるプロフィールアイコンをクリックし、「Account」を選択します。 - APIキーを作成する
「Extras」メニューから「API keys」を選び、「Create A Key」ボタンを押します。表示されたキーをコピーして安全な場所に保管してください。 - データセンターのURLを確認する
APIキーの末尾に「-us1」などの文字列が含まれています。これがデータセンターの識別子で、APIエンドポイントのベースURLに使用します。例えば「us1」なら「https://us1.api.mailchimp.com/3.0/」がベースURLです。
Apps ScriptでAPIリクエストを書く
- スプレッドシートのスクリプトエディタを開く
メニューから「拡張機能」→「Apps Script」をクリックします。 - スクリプトコードを記述する
以下のコードを入力します。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);
} - スクリプトを実行する
保存後、実行ボタンを押します。初回は承認が必要です。Mailchimpのデータがシートに書き込まれます。
定期的に自動更新するトリガーを設定する
- トリガーを追加する
スクリプトエディタの左側メニューで時計アイコンをクリックし、「トリガーを追加」を選択します。 - 実行間隔を設定する
「時間ベースのトリガー」を選び、1時間ごとや日次など希望の頻度を設定します。これでスプレッドシートが自動更新されます。
API連携でよく起きるトラブルと対処法
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
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
