インデックスドライブ.
サーチコンソール

サーチコンソールとBigQueryの連携とは?

サーチコンソールの情報を深く掘り下げて分析したいと考えても、画面上のレポートやAPIでは取得できる件数が制限されており、十分ではないと感じる方が多数いらっしゃるようです。
そんな中で注目を集めているのが、サーチコンソールとBigQueryの連携です。実際に連携させると、データの視点が格段に広がりますね。

しかしながら、「設定は難しくないのか」「料金はかかるのか」「過去のデータも取り込めるのか」といった疑問が浮かぶこともあるでしょう。
この記事では、Google公式の「一括データのエクスポート」の構造や設定方法、生成されるテーブル、匿名化クエリおよび料金に関する留意点を順に解説します。
記事を読み終える頃には、御社のサイトで導入すべきかどうかを判断でき、導入後の運用イメージもつかめるはずです。

大量のデータを蓄積し分析したい場合は、BigQueryとの連携が効果的です

サーチコンソールのデータを件数制限を気にせず保存し、SQLで柔軟に分析したいときは、BigQueryへの「一括データのエクスポート」設定が適していますです。

この機能を有効にすると、Search Consoleのパフォーマンスデータが、制限なく日々BigQueryへ出力されます。
ただし、以下のような制約があります。

  • 設定にはSearch Consoleプロパティの所有者権限が必要です
  • Google Cloud側で課金設定が必要で、利用量に応じて料金が発生する可能性があります
  • 出力はエクスポート開始日以降が中心で、過去データをさかのぼる用途には向きません
  • 匿名化された検索クエリの具体的な語句は取得できません

このような特徴を踏まえて、早めに設定しデータの蓄積を開始することが、長期的な分析基盤の構築につながります。データが増えるほど、後から得られる洞察がより豊かになると感じます。

BigQueryと連携すべき背景とその仕組み

サーチコンソールの標準機能だけでも基本的な分析は行えます。
しかし、データ量や分析の自由度に制限があるため、BigQuery連携が選択されることが多いです。

画面レポートやAPIには取得件数の上限がある

Search Consoleの画面レポートやSearch Analytics APIでは、取得できる行数に上限が設けられています。
特にAPIは1日あたり50,000行という制限がよく取り上げられます。

記事数が多いメディアやECサイトでは、URLと検索クエリの組み合わせが非常に多くなるため、上限に達しロングテールのデータが見えにくくなる恐れがあります。

一括データのエクスポートは、Googleが2023年に発表した機能で、Search ConsoleからBigQueryへ継続的にデータを送る仕組みとして案内されています。
上限を気にせずに蓄積できる点が、最大の利点と言えます。早めに始めると、後からデータの抜けがなくなり安心です。

生成される3つのテーブル

エクスポートを設定すると、指定したデータセット内に主に次の3つのテーブルが作成されます。

  • searchdata_site_impression:プロパティ単位で集計したデータ
  • searchdata_url_impression:URL単位で集計したデータ
  • ExportLog:成功したエクスポートの記録

サイト全体の傾向を把握したい場合はsearchdata_site_impression、ページ単位の成果を確認したい場合はsearchdata_url_impressionを利用するのが基本です。
ExportLogは、エクスポートが正常に完了したかどうかを確認する際に役立ちます。

なお、データは毎日出力されますが、テーブルごとに反映時刻が異なることがある点に注意が必要です。
集計処理を自動化する際は、ExportLogで完了を確認してから実行する設計が安全と考えられます。

導入前に確認すべき制約

所有者権限とGoogle Cloudの課金設定が求められます

エクスポートの開始や停止ができるのは、対象プロパティの所有者だけです。
フル権限ユーザーでも設定できないため、社内で所有者が誰かを事前に確認しておく必要があります。

さらに、Google CloudプロジェクトでBigQueryを有効化し、課金情報を設定する必要があります。
BigQueryには無料利用枠がありますが、保存量やクエリ量によっては料金が発生するため、「完全に無料」とは言い切れない点を理解しておく必要があります。

過去データは遡れません

設定が正常に完了してから、初回エクスポートまで最大で48時間かかることがあります。
公式の案内では、初回データはエクスポート開始日のデータとされています。

つまり、導入が遅れるほど蓄積できる期間が短くなります。
将来的に分析する可能性があるなら、早めに設定しておくことが望ましいでしょう。

匿名化されたクエリの語句は表示されません

プライバシー保護のため、一部の検索クエリは匿名化され、具体的な語句は取得できません。
BigQueryのデータには匿名化を示すフィールドが含まれる行があります。

クエリ別の分析では匿名化行を除外し、サイト全体のクリック数を見る場合は含めるなど、目的に応じて扱いを決めておくことが重要です。
この扱いを誤ると、画面の数値と合わない原因になる可能性があります。

導入から活用までの具体的なステップ

ここからは、実際の作業フローと活用例をご紹介します。

例1:初期設定手順

設定は、Google Cloud側の準備とSearch Console側の設定に分かれます。

Google Cloud側の準備

  • Google Cloudプロジェクトを作成、または既存のプロジェクトを選択します
  • BigQuery APIを有効にし、課金情報を設定します
  • Search Consoleのエクスポート用サービスアカウントに、必要なIAM権限を付与します

ロールやサービスアカウント名は、公式ヘルプに掲載された最新情報を確認しながら設定するとよいでしょう。

Search Console側の設定

  • Search Consoleの「設定」から「一括データのエクスポート」を開きます
  • Google CloudのプロジェクトIDを入力します
  • データセット名とデータの保存場所を指定し、設定を保存します

よくあるミスとして、プロジェクト名やプロジェクト番号を入力してしまうことがあります。
入力すべきはプロジェクトIDですので、Google Cloudのダッシュボードで確認したうえで入力してください。

複数のプロパティを同一プロジェクトに出力する際は、プロパティごとに別々のデータセット名が必要です。
設定後にエラーが表示された場合は、公式ヘルプの対処方法を参照してください。
原因によっては次回の定期実行まで再試行されないこともあるため、設定直後の数日間は状態を確認しておくと安心です。

例2:SQLでよく行う分析

データが蓄積されたらSQLで分析します。
代表的な活用例は以下の通りです。

  • URL別のクリック数・表示回数の推移を月単位で集計する
  • 表示回数は多いもののクリック率が低いページを抽出し、タイトル改善の候補にする
  • 特定ディレクトリやカテゴリ単位で成果を比較する
  • 匿名化行を除いたクエリ別のロングテール分析を行う

集計時の注意点として、行をそのまま合算しないことが重要です。
データは蓄積・更新され、同一キーに対して複数行が存在することがあるため、日付・URL・クエリなど必要な粒度でGROUP BYを用いて集計するのが基本です。

クエリを実行するたびに、読み込んだデータ量に応じた料金が発生することがあります。
WHERE句で日付範囲を絞り、不要な列を除外することでコストを抑えやすくなります。

例3:保存期限とコスト管理

テーブルやパーティションは、既定では長期間保存されることがあります。
そのまま放置すると、ストレージ料金が徐々に増加する可能性があります。データを定期的に見直す習慣は、無駄なコストを防ぐ上で有効です。

対策としては、次のような方法が考えられます。

  • 分析に必要な期間を決め、パーティションの有効期限を設定する
  • よく使う集計結果は別テーブルに保存し、元データへのクエリ回数を減らす
  • Google Cloudの予算アラートを設定し、想定外の費用に気づけるようにする

運用ルールを最初に決めておくことで、費用を管理しながら長期的にデータを活用しやすくなります。

例4:分析で見つかった未登録ページへの対応

BigQueryで分析を進めると、公開したにもかかわらず表示回数がほとんど記録されていないページが判明することがあります。
このようなページは、検索エンジンにインデックス登録されていない可能性があります。

まずはURL検査ツールなどで、noindex設定やrobots.txtによるブロック、内容の重複などに問題がないか確認します。
問題を解消した後、Search Consoleの「インデックス登録をリクエスト」で再クロールを依頼できます。

ただし、対象ページが多い場合は1件ずつの操作が負担になります。
そのような場面では、このブログを運営しているインデックスドライブのように、公開中のページのURLを1行に1つ貼ってまとめて送信し、インデックス登録を後押しするサービスを選択肢の1つとして検討する方法もあります。
登録されなければ検索データ自体が蓄積されないため、分析と登録状況の確認をセットで行うことが大切と考えられます。

サーチコンソールとBigQueryをつなげる際のポイント

サーチコンソールとBigQueryの連携は、Google公式の「一括データのエクスポート」で実現できます。
要点は次のとおりです。

  • 画面やAPIの件数上限を気にせず、パフォーマンスデータを日次で蓄積できます
  • 設定にはプロパティの所有者権限と、Google Cloudの課金設定が必要です
  • 入力するのはプロジェクトIDで、プロパティごとにデータセットを分けます
  • 初回出力まで最大48時間かかる場合があり、過去データはさかのぼれません
  • 匿名化クエリの語句は取得できず、集計時の扱いに注意が必要です
  • 行をそのまま合算せず、必要な粒度で集計します
  • パーティションの有効期限やクエリ量を管理し、費用を抑えます

大量のデータを扱うサイトほど、この連携から得られる価値は大きいと考えられます。
過去分を取り込めない仕様であることを踏まえると、必要性を感じた時点で早めに設定しておくことが望ましいです。実際に運用を始めると、データ取得のタイミングが格段に楽になると実感できます。

BigQueryでの分析は、検索エンジンに登録されたページのデータが揃って初めて成立します。
分析の中で表示回数がほとんど記録されていないページを見つけ、設定や内容に問題がないことが確認できたら、URLを送ってインデックス登録を促す方法も検討してみてはいかがでしょうか。

未登録のページは、URLを送るだけで完了します。

インデックスドライブは、Search ConsoleやAPIの設定なしで、公開中のページのURLを送るだけでインデックス登録を支援するサービスです。分析で見つかった未登録のページも、URLを1行に1つずつ貼ってまとめて送信できます。

インデックスドライブを見てみる

※初めての方は7日間無料で試せます(カードの登録が必要・8日目から月額料金)。インデックス登録は検索エンジンが判断するもので、登録や時間を保証するものではありません。