パフォーマンスとキーワード

Google Search Console(サーチコンソール)のデータをGoogleスプレッドシートにエクスポートする方法

Search ConsoleのデータをGoogleスプレッドシートに入れる一番早い方法は、レポート右上のエクスポートボタンです。Google スプレッドシートを選ぶと、Search Consoleは表示中のデータを新しいスプレッドシートで開きます。このエクスポートは表ごとに1,000行で止まり、一度きりのコピーで更新されることはありません。もっと多くの行がほしい場合や、自動で更新されるシートにしたい場合は、Search Analytics for SheetsのようなアドオンかApps Scriptの短いスクリプトでスプレッドシートをSearch Console APIに接続し、定期的に実行します。シートがダッシュボードにデータを渡すためだけにあるなら、Looker Studioのコネクタが同じAPIを、シートを挟まずに読み込みます。

gscwizard.comの3か月分のGoogle Search Console検索パフォーマンスレポート。右上にエクスポートボタンがあり、その下にクリック数、表示回数、CTR、掲載順位の合計と日別のグラフがある
検索パフォーマンスのレポート右上にあるエクスポートボタンは、表示中のデータをGoogleスプレッドシート、Excel、CSVに送ります。上限は表ごとに1,000行です。

エクスポートボタンでGoogleスプレッドシートにエクスポートする

Search Consoleのほとんどのレポートはエクスポートでき、現在Googleが提供している形式はGoogleスプレッドシート、Microsoft Excel、CSVの3つです。検索パフォーマンスのレポートでは、次のように操作します。

  1. 検索パフォーマンス > 検索結果(またはDiscover、Google ニュース)を開き、先に期間、検索タイプ、フィルタを設定します。エクスポートには、フィルタを適用した状態で、レポートに表示されている内容がそのまま含まれるからです。
  2. レポート右上のエクスポートをクリックします。
  3. Google スプレッドシートを選びます。Search Consoleが、自分のGoogleアカウントの新しいスプレッドシートにデータを出力します。EXCELをダウンロードとCSVをダウンロードでは、同じデータがファイルとして得られます。

Googleはグラフと表の両方のデータをエクスポートするので、検索パフォーマンスのエクスポートには、日別の合計に加えて、クエリ、ページ、国、デバイス、検索での見え方がそれぞれ別のシートに入り、使ったフィルタを一覧にしたシートも付きます。レポートで~や-(利用できない、または数値ではない)と表示される値は0として出力されるので、シートの0が必ずしも何も起きなかったことを意味するわけではありません。

Googleスプレッドシートへのエクスポートの1,000行の制限

Googleのヘルプには、エクスポートでは「データは、データの代表的な例として1,000行に切り捨てられます」とはっきり書かれています。合計は切り捨てられません。Googleは「表示される合計は実際の合計であり、行数の制限が適用された合計ではありません」と付け加えているので、大きなサイトでは、クエリのシートの行を足すと、隣にある合計クリック数より少なくなります。匿名化されたクエリは、Search Consoleがすべての表から除外するので、その差をさらに広げます。国とデバイスは1,000行に余裕で収まります。制限が効いてくるのはクエリとページです。

上限を回避する方法はどれも、Search Console API、Looker Studioのコネクタ、BigQueryの一括エクスポートのいずれかを経由します。Search Consoleから1,000行を超えるデータを取り出す方法でそのすべてを比較しており、以下の2つの節では、APIをGoogleスプレッドシートに取り込む方法を紹介します。

Search Analytics for Sheetsアドオン

Search Analytics for Sheetsは、Mihai Aperghisが作ったサードパーティのGoogleスプレッドシート用アドオンです。Googleの製品ではありませんが、自分のGoogleアカウントでGoogleのSearch Console APIを読み込みます。Google Workspace Marketplaceからインストールし、スプレッドシートの拡張機能メニューから開いて、プロパティ、期間、ディメンション、フィルタを選ぶと、行がシートに書き込まれます。サイトでは、データを毎日または毎月の間隔でダウンロードする定期バックアップについても説明しており、一度きりのエクスポートを、増え続けるシートに変えられます。

このアドオンには無料プランと、1リクエストあたりの行数を増やせる有料プランがあり、料金ページにプランごとの現在の上限が載っています。APIを経由するので、API自体の上限にも縛られます。Googleのヘルプによると、プロパティごとに「検索パフォーマンスレポートのデータは、タイプごとに1日あたり50K行に制限されます」。また、匿名化されたクエリはどの行にも出てきません。

Apps ScriptでGoogleスプレッドシートをSearch Console APIに接続する

アドオンをインストールしたくない場合は、どのGoogleスプレッドシートにも拡張機能 > Apps Scriptとして用意されているApps Scriptから、Search Analytics APIを直接呼び出せます。以下の関数は、1か月分のクエリとページの行を1回のリクエストで最大25,000行取得し、GSCという名前のシートに書き込みます。大きなサイトでは、応答が空になるまでstartRowを25,000ずつ増やしてリクエストを繰り返し、Googleが推奨しているとおり1日分ずつ取得してください。

function exportSearchConsole() {
  const site = 'sc-domain:example.com';
  const url = 'https://www.googleapis.com/webmasters/v3/sites/' +
      encodeURIComponent(site) + '/searchAnalytics/query';
  const response = UrlFetchApp.fetch(url, {
    method: 'post',
    contentType: 'application/json',
    headers: { Authorization: 'Bearer ' + ScriptApp.getOAuthToken() },
    payload: JSON.stringify({
      startDate: '2026-10-01',
      endDate: '2026-10-31',
      dimensions: ['query', 'page'],
      rowLimit: 25000
    })
  });
  const rows = (JSON.parse(response.getContentText()).rows || [])
      .map(r => [...r.keys, r.clicks, r.impressions, r.ctr, r.position]);
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('GSC');
  sheet.clearContents();
  sheet.appendRow(['query', 'page', 'clicks', 'impressions', 'ctr', 'position']);
  if (rows.length) sheet.getRange(2, 1, rows.length, 6).setValues(rows);
}

スクリプトにはSearch Consoleを読み取る権限が必要です。Apps Scriptのエディタでプロジェクトの設定を開き、「appsscript.json」マニフェスト ファイルをエディタで表示するにチェックを入れて、以下のスコープをマニフェストに追加します。初回の実行時に、プロパティへのアクセス権があるGoogleアカウントで承認を求められます。Googleから、プロジェクトでSearch Console APIが使われていない、または無効になっているという応答が返ってきた場合は、同じくプロジェクトの設定で、Google Search Console APIを有効にした標準のGoogle Cloudプロジェクトにスクリプトをリンクしてください。

"oauthScopes": [
  "https://www.googleapis.com/auth/webmasters.readonly",
  "https://www.googleapis.com/auth/script.external_request",
  "https://www.googleapis.com/auth/spreadsheets.currentonly"
]

シートを自動で最新の状態に保つ方法

エクスポートボタンで作ったシートは変わらないので、最新の状態を保つには手作業でエクスポートし直すしかありません。APIを使う方法なら、自動で実行できます。

  • Search Analytics for Sheetsは毎日または毎月定期バックアップを実行するので、シートを開かなくてもデータがたまっていきます。
  • Apps Scriptは時間主導型のトリガーで実行します。エディタでトリガー(時計のアイコン)を開き、関数にトリガーを追加して、時間主導型のイベントと日付ベースのタイマーを選びます。固定の日付は、スクリプト自身が計算する日付に置き換えてください。履歴を積み上げたい場合は、シートをクリアするのではなく、毎日の行を追記します。
  • n8nなどのワークフローツールは、Search Consoleのデータを定期的に取得し、Googleスプレッドシートのノードでシートに追記できます。

どの方法を選ぶにしても、前日ではなく2、3日前の日付を指定してください。Search Consoleのデータは遅れて届き、直近の数日分はしばらくの間データが追加され続けます。詳しくはSearch Consoleのデータの遅延で説明しています。毎朝前日分を記録するジョブでは、まだ不完全な日が保存されてしまいます。

シートの代わりにLooker Studioを使う

シートがグラフにデータを渡すためだけにあるなら、省くことができます。Search ConsoleをLooker Studioに接続すれば、ダッシュボードは更新のたびにAPIをライブで読み込み、上限はアドオンやスクリプトと同じ1日50,000行です。GoogleはLooker Studioの名前をData Studioに戻したので、どちらの名前も目にするかもしれません。Looker StudioはGoogleスプレッドシートをデータソースとして読み込むこともできるので、先にスプレッドシートで行を整えたり情報を加えたりする場合に便利です。

どの方法を使うべきか

方法 行数 最新の状態を保てるか コストと手間
エクスポートボタン、Googleスプレッドシート1テーブルあたり1,000行不可。手作業で再エクスポート無料、ワンクリック
Search Analytics for Sheetsプランごと、APIの上限内可能。定期バックアップ無料プランと有料プラン。コード不要
Apps ScriptとAPI1リクエストあたり25,000行、検索タイプごとに1日あたり約50,000行可能。時間主導型のトリガーAPIの割り当て内で無料。スクリプトが必要
Looker StudioコネクタAPIと同じ可能。ライブ無料。シート不要
GSC Wizard表のすべての行を、16か月を超えて保存可能。REST APIまたはn8n経由有料プランは月額€17から、7日間の無料トライアル

GSC WizardのデータをGoogleスプレッドシートに取り込む

GSC Wizardでは、どの表にも[Copy table]オプションがあり、行をクリップボードにコピーしてそのままGoogleスプレッドシートに貼り付けられます。CSVエクスポートには最初の1,000行だけでなく表のすべての行が含まれ、ファイル名には対象の期間が入ります。どちらもエクスポートのドキュメントで説明しています。自動で更新されるシートには、REST APIとn8nのコミュニティノードがアプリと同じレポートを返します。n8nのノードは1行ごとに1アイテムを返し、これはGoogleスプレッドシートのノードが想定している形です。どちらもGSC Wizardの契約かトライアルが必要ですが、エクスポートボタン、Apps Script、Looker Studioは無料です。

よくある質問

Search ConsoleからGoogleスプレッドシートに1,000行を超えてエクスポートできますか?

エクスポートボタンではできません。すべての表が1,000行に切り捨てられます。Search Console APIを使えば、Search Analytics for SheetsのようなアドオンやApps Scriptで、1リクエストあたり最大25,000行、検索タイプごとに1日あたり約50,000行を取得できます。匿名化されたクエリを除くすべての行がほしい場合は、BigQueryへの一括データエクスポートを設定してください。

Search ConsoleからのGoogleスプレッドシートへのエクスポートは自動で更新されますか?

いいえ。エクスポートボタンは、その時点のレポートの一度きりのコピーを作ります。シートを最新の状態に保つには、定期バックアップのあるアドオン、時間主導型のトリガーで動くApps Script、または定期的に新しい行を追記するワークフローツールを使ってください。

Search Analytics for SheetsはGoogleが作ったものですか?

いいえ。Search Analytics for Sheetsは、Mihai Aperghisが作ったサードパーティのGoogleスプレッドシート用アドオンです。自分のGoogleアカウントで公式のSearch Console APIを読み込むので、APIの上限の範囲内で、自分と同じプロパティとデータが見えます。

シートの行を足しても合計クリック数にならないのはなぜですか?

エクスポートでは表ごとに最大1,000行しか残りませんが、合計はプロパティ全体の実際の合計です。また、匿名化されたクエリはすべての表から除外されますが、合計には含まれます。そのため、表が1,000行未満でも、クエリの行を足すと少なくなります。

コードを書かずにGoogle Search ConsoleをGoogleスプレッドシートに接続できますか?

はい。エクスポートボタンは設定が一切不要で、Search Analytics for Sheetsのようなアドオンなら、メニューからスプレッドシートをSearch Console APIに接続できます。目的がダッシュボードなら、無料のLooker StudioコネクタがシートなしでSearch Consoleを直接読み込みます。

出典

Search Consoleのデータをもっと活用する

今日からSearch Consoleのデータを成長につなげましょう。クレジットカードは不要です。

無料で試す(クレジットカード不要)

Search Consoleのヒントをメールでお届け

GSCとGA4の実践的なワークフロー、製品のアップデート、SEOの実験をお届けします。スパムは送りません。いつでも配信を停止できます。