ClaudeでGA4とSearchConsole連携の落とし穴

  • 2026年5月22日
  • 2026年5月22日
  • Claude
ClaudeでGA4とSearchConsole連携の落とし穴

こんにちは。Osukeラーニング、運営者の「osuke」です。

Claude Code を使ってブログ運営を効率化したいけど、いざ Search Console や Google Analytics と連携しようとした瞬間に「このメールアドレスは Google アカウントと一致しません」というエラーで止まった、という方は多いんじゃないかなと思います。私もまさにそこでつまずいた一人で、調べてもサービスアカウント方式の解説ばかりで、結局なにが正解なのか見えづらいんですよね。

この記事では、Claude × Search Console × GA4 連携の現時点で一番ラクな構成として、OAuth 方式に統一する手順を、私自身が実際に8ブログで運用している実体験ベースで全部書いていきます。サービスアカウント追加エラーの本当の原因、ハマりどころ、AI検索(ChatGPT・Perplexity 等)からの流入を可視化する方法まで、つまずく場所を先回りで潰せる構成にしたつもりです。

記事のポイント

  • Claude Code から Search Console と GA4 を連携させる最短手順
  • 「このメールアドレスは Google アカウントと一致しません」エラーの本当の原因と回避策
  • Claude が自動でやってくれる作業と、人間がやるべき作業の明確な線引き
  • ChatGPT・Perplexity など AI 検索からの流入を可視化する方法

Claude × Search Console × GA4 連携でブログ運営はここまで変わる

まずは Claude Code から Google の解析ツールに接続することで何ができるのか、なぜ OAuth 方式が今のベストなのかを整理していきます。手を動かす前に全体像を握っておけば、後の手順で「これは何のためにやっているんだっけ?」と迷わなくなりますね。

なぜAIツールでブログ運営データを扱うのか

ブログを2〜3サイト以上運営していると、毎日のように「どの記事をリライトすべきか」「次にどんな記事を書くべきか」を判断しなきゃいけません。私の場合、最終的に8ブログを並行運用するようになって、もう人力で各GA4管理画面を見て回るのが現実的じゃなくなったんですよね。

Claude Code に Search Console と GA4 のデータを取らせると、ブログ運営の意思決定が「勘」から「数値」に一気に変わります。たとえば「過去28日で PV が落ちている記事TOP5」を出すのに、私のところではコマンド1発(数秒)で済んでいます。これを GA4 画面で8ブログ分やったら、慣れていても1時間は飛びますね。

もう1つ大きいのが、Claude にデータを渡せばそのままリライト案を作らせたり、関連KW候補を出させたりという「分析→アクション」の流れまで一気通貫で回せること。データを見て終わりじゃなくて、改善案まで生成できるのがAI連携の本当の価値かなと思います。

実際にどれくらい時短になるかをざっくり見積もると、8ブログ分のPV上位記事リストを取得するのに、GA4管理画面を手動で巡回する場合は1ブログ8〜10分かかるので合計60〜80分。これがコマンド1発(10秒程度)に圧縮されるので、ざっと数百倍のスピード差ですね。週1回のルーティンとして組み込むと、月あたり4〜5時間の浮きになります。この時間を本来の「記事の質を上げる」「収益動線を磨く」に回せるのは、運営者としてかなり大きい変化かなと思います。

AI連携で実現できる主なこと

  • PV上位記事の自動抽出(リライト候補の発見)
  • 流入クエリ・参照元の集計(新規記事ネタの発掘)
  • 投稿後の効果測定(日別PV推移)
  • AI検索(ChatGPT/Perplexity等)からの流入計測
  • 取得データをそのままClaudeに渡して改善案を生成

Search ConsoleとGA4それぞれで何が見えるか

連携作業に入る前に、Search Console(GSC)と GA4 で取れるデータの守備範囲を整理しておきます。両方つなぐ意味がここで明確になります。

GSC は「ユーザーが検索エンジンで何と打って、自分のサイトの何位に表示されて、何回クリックされたか」が分かります。つまり検索エンジンの中での自分の立ち位置を見るツールですね。GA4 は「実際に来た人がどこから来て、どのページを何分見て、最終的にどう動いたか」が分かります。つまり来訪後の実際の行動を見るツールです。

この2つをクロスで使うと、たとえば「表示回数は多いけど CTR が低い記事=タイトルが弱い」「PV は多いけど滞在時間が短い記事=本文が期待外れ」みたいな改善ポイントが浮き彫りになります。片方だけだと見えない領域がかなりあるんですよ。

項目Search ConsoleGA4
取れるデータ検索クエリ・表示回数・CTR・掲載順位PV・ユーザー数・滞在時間・流入経路
主な用途SEO改善、新規KW発掘人気記事抽出、効果測定
AI検索流入の可視化×(捕捉不可)○(参照元として観測可)
判定例表示は多いがCTRが低い→タイトル弱いPV多いが滞在短い→本文期待外れ
連携APIGoogle Search Console APIGoogle Analytics Data API

運営判断の精度を本気で上げたいなら、両方つなぐ一択ですね。片方だけだと、見えているつもりで見えていない領域がどうしても残ります。たとえば「表示回数1万・クリック300・順位3位」の記事と「表示回数3千・クリック500・順位5位」の記事を比較したいとき、CTRや実PVを横断で見ないと、どちらにテコ入れすべきかの判断ができません。GSCとGA4の両方をClaudeに渡せば、こういった複合判定もコマンド1発で出せるようになりますね。

Claude Codeに任せられる作業と人間がやる作業の線引き

この連携作業を進める前に絶対知っておくべきことが、Claude Code に頼める作業と、人間が手を動かさないと進まない作業がはっきり分かれていることです。これを最初に整理しないと「なんでClaudeはこの作業やってくれないの?」と混乱します。

結論からいうと、ブラウザ操作・Googleパスワード入力・画面上での承認ボタンクリックは、構造的にClaudeにはできません。これはClaudeの制約というより、Google の OAuth 設計上「人間の同意」が必須になっているからですね。逆に言うと、コード生成・ファイル編集・テスト実行・エラー調査はClaudeが全部やってくれます。

つまり、私たちユーザーがやるべきことは意外と少なくて、ブラウザでログインして「許可」を押すこと、ターミナルでスクリプトを1回実行すること、GA4 のプロパティID を画面から読み取って Claude に伝えること、この3つだけです。技術的な実装は全部Claudeに丸投げできます。プログラミング未経験でも、コピペとボタンクリックで進められる範囲に収まるんですよね。

この線引きを最初に頭に入れておくと、Claude に「これやって」と頼むときに「あ、これはブラウザ操作だから自分でやらなきゃ」「これはコードだからClaudeに任せよう」とスムーズに判断できるようになります。逆にここを意識せず「全部Claudeがやってくれるはず」と思い込むと、OAuth承認の段で固まる人が多いので、最初に押さえておきたいポイントですね。

作業分担の早見表

  • 🤖 Claude が自動でやってくれる:トークン取得スクリプトの作成、認証コード生成、API呼び出し関数の実装、エラー調査、テスト実行、Excel/.envへの追記提案
  • 🧑 人間がやる必要がある:Google Cloud Console の操作、OAuth認証時のブラウザログイン、GA4管理画面でのプロパティID確認、ターミナルでのスクリプト実行(OAuthブラウザ起動を伴うため)

認証方式の選択肢とOAuthが圧倒的に楽な理由

Google API への認証方式は大きく分けて「サービスアカウント方式」と「OAuth方式」の2つがあります。ネットの記事だと圧倒的にサービスアカウント方式の解説が多いんですが、実は2025年以降の GA4 では OAuth方式の方が圧倒的にラクになっています。

サービスアカウント方式は、JSONキーをダウンロードして「ロボットユーザー」を作り、それを各GA4プロパティに招待する流れ。Search Console ではこれが普通に通るんですが、GA4 では後述するエラーで弾かれることが多いんですよね。一方 OAuth 方式は「自分のGoogleアカウント」で1回ログインしてトークンを取得するだけ。自分が管理者になっているプロパティなら追加の権限付与すら不要です。

そして地味に重要なのが、GSC と GA4 の両方を 1つのトークンでカバーできること。スコープに2つの権限を入れてトークンを発行すれば、コード側では同じトークンから GSC クライアントも GA4 クライアントも作れます。認証関連のコードが半分以下に減りますね。

観点サービスアカウント方式OAuth方式(推奨)
必要なファイルSAキーJSONOAuthクライアントJSON + トークンJSON
GSCへの追加SAメールを追加可不要(ログインアカウントの権限を使う)
GA4への追加×(エラーで弾かれることが多い)不要
Googleグループ経由の回避策必要なケースあり不要
GSC+GA4の同時利用各APIごとに認証作業1トークンで両方カバー可
セットアップの体感つまずきポイント多いブラウザ承認1回でほぼ完了

後発でゼロから組むなら、迷わず OAuth 方式でいい、というのが私の結論です。サービスアカウントは「複数の人間が同じバッチを動かす業務システム」みたいな場合に意味があるんですが、個人〜小規模事業者のブログ運営なら OAuth で十分かなと思います。

AIスキルをしっかり身につけたい方には、DMM 生成AI CAMP 学び放題(PR)がおすすめです。無料セミナーから気軽に始められ、生成AIの実践的な使い方を学べます。

サービスアカウント追加エラーの本当の原因

「このメールアドレスは Google アカウントと一致しません」というエラーで詰まっている方、これは2024〜2025年あたりから GA4 側でサービスアカウントのメールアドレスを直接弾く仕様に変わったのが原因です。バグじゃなくて仕様変更なので、何度試しても通らないんですよね。

不思議なのが、同じ Google サービスでも Search Console は普通に通ること。これは GSC と GA4 で内部の認証アーキテクチャが違うためで、GA4 の方が「実在する Google アカウント」かどうかの検証が厳しくなっています。サービスアカウントのメール(...@xxx.iam.gserviceaccount.com)は人間のGoogleアカウントとは別物なので、新しいGA4の検証ロジックでは弾かれてしまうわけですね。

回避策は3つあって、いちばん簡単なのが本記事で紹介する OAuth方式への切り替えです。他には「Googleグループを作ってメンバーにサービスアカウントを入れ、グループをGA4に追加する」という方法もありますが、グループ作成・SA追加・GA追加と3ステップ必要なので、新規セットアップなら OAuth が圧倒的に早いですね。

エラーで詰まったときの判定フロー

  • エラー文「このメールアドレスは Google アカウントと一致しません」が出る → GA4の新仕様で弾かれている
  • 「APIが有効になっていない」エラー → OAuthクライアントが属するプロジェクトでGoogle Analytics Data APIを有効化する
  • 「権限がありません(403)」エラー → そのGAプロパティに対してログインアカウントが閲覧権限を持っていない
  • 「スコープが足りません」エラー → トークンを再発行する(refresh では追加されない)

AI検索流入が見えるのはGA4だけ

これは個人的に GA4 連携で一番感動した部分なんですが、ChatGPT・Perplexity・Copilot・Kagi などのAI検索からの流入が GA4 で観測できるんですよね。Search Console はあくまでGoogle検索のデータしか返さないので、AI検索の動きは完全に死角になっています。

私が実際に運用している車ブログ(過去28日)では、Google Organic 4221セッション、Bing 1690セッション、Yahoo 871セッションと続いていて、そこに混じって OpenAI / ChatGPT.com / Perplexity / Copilot / Kagi からの流入も実数として観測されました。具体的な数字は「openai 55セッション」「chatgpt.com 20セッション」「perplexity 7セッション」「copilot.com 9セッション」みたいな感じです。

絶対数としてはまだ少ないですが、半年〜1年スパンで見るとこの数字は伸びていく可能性が高い領域です。AI検索からの流入を早めに計測する仕組みを作っておけば、「いつから AI 経由のアクセスが増え始めたか」「どの記事が AI に引用されやすいか」みたいな分析が後から振り返れます。これは今のうちに連携しておくメリットが大きいですね。

GA4で観測できるAI検索の主な参照元

  • openai / organic(ChatGPTの検索機能経由)
  • chatgpt.com / (not set) または referral
  • perplexity / (not set) または perplexity.ai / referral
  • copilot.com / referral(Microsoft Copilot)
  • kagi.com / referral(Kagi検索)
  • duckduckgo / organic(DuckDuckGoは生成AI回答機能あり)

実際にClaude Codeで Search Console と GA4 を連携する手順

ここから実作業の流れに入っていきます。作業の8割はClaudeが自動でやってくれるので、ユーザー側で手を動かすのは最初の Google Cloud 設定と、途中の OAuth ブラウザ承認、GA4 プロパティIDの確認、これくらいです。順番を間違えると詰まる箇所もあるので、ステップ順に解説していきますね。

Google Cloudプロジェクトの初期設定

最初にやるのは Google Cloud Console での下準備で、ここは完全に人間の作業です。Google Cloud Console にアクセスして、新規プロジェクトを1つ作るか既存のものを使います。プロジェクト名は何でも良いですが、後で OAuth クライアントのJSONファイル名に反映されるので、わかりやすい名前にしておくのがオススメです。

次に「APIとサービス」→「APIライブラリ」から、Google Search Console APIGoogle Analytics Data API の2つを必ず同じプロジェクトに有効化します。ここで別プロジェクトに有効化してしまうと、後でOAuthクライアントから呼び出せず詰まります。これは「ハマり罠③」として後述するんですが、最初に意識しておくと避けやすいですね。

そのあと「OAuth同意画面」を構成して、User type は「外部」、テストユーザーに自分のGmailを追加します。最後に「認証情報」→「OAuthクライアントID作成」→「デスクトップアプリ」を選んで、生成されたJSONをダウンロード。これを任意のローカルフォルダ(例:~/.google/)に保存して、Step 1 は完了です。所要時間は10〜15分くらいかなと思います。

Step 1 でやることチェックリスト

  • Google Cloud Console でプロジェクトを用意(新規 or 既存)
  • Google Search Console API を有効化(同じプロジェクトに)
  • Google Analytics Data API を有効化(同じプロジェクトに)
  • OAuth同意画面を「外部」User type で構成、テストユーザーに自分のGmailを追加
  • OAuthクライアントID を「デスクトップアプリ」で発行 → JSON をDLしてローカル保存

OAuthクライアント発行とAPI有効化の落とし穴

Step 1 で一番ハマりやすいのが、API を有効化したプロジェクトと、OAuthクライアントが属するプロジェクトが別物になっているケースです。Google Cloud Console は同時に複数プロジェクトを扱えるので、ふと気を抜くと違うプロジェクトでAPIを有効化していた、ということがよく起こります。

確認方法は簡単で、ダウンロードしたOAuthクライアントJSONを開いて、installed.project_id または web.project_id の値を見ます。この project_id と、API を有効化したプロジェクトのIDが完全一致している必要があります。ズレていたら、正しいプロジェクト側でAPIを再度有効化してください。

もう1つの落とし穴が「OAuth同意画面でテストユーザーを追加し忘れる」こと。これを忘れると、トークン取得時に「このアプリは Google で確認されていません」の警告画面で先に進めなくなります。テストユーザーに自分のGmailを追加していれば「詳細」→「(プロジェクト名)に移動」で承認画面まで進めるので、必ず追加しておきましょう。

Step 1 で起きやすい3つの落とし穴

  • APIを有効化したプロジェクト ≠ OAuthクライアントのプロジェクト → JSON内の project_id で照合する
  • テストユーザーに自分のGmailを追加し忘れ → OAuth同意画面の設定で必ず追加
  • OAuthクライアントの種類を「ウェブアプリ」で作ってしまう → 必ず「デスクトップアプリ」を選ぶ(ローカル承認フローのため)

トークン取得スクリプトはユーザー実行が必須

ここからは Claude Code にスクリプトを書いてもらうフェーズですが、スクリプトの「実行」は構造的にユーザー自身がやる必要があります。これは Claude が手抜きしているわけじゃなくて、OAuth フローがブラウザでのGoogleログインを必要とするので、Claude のターミナル実行環境ではそもそも完結しないんですよね。

Claude には「get_token.py を作って、スコープには webmasters.readonlyanalytics.readonly を入れて」と頼めば、InstalledAppFlow.from_client_secrets_file() を使ったスクリプトを書いてくれます。その後、ユーザーがターミナルで python3 get_token.py を実行すると、ブラウザが自動で開いて Google ログイン画面が表示されます。

このときログインするGoogleアカウントは、連携したいGA4プロパティに閲覧権限を持っているアカウントを選んでください。一般的には自分が管理者になっているアカウントですね。承認画面で「許可」を押すと、ターミナルに「✅ トークン保存完了」と表示されて、JSONファイルがローカルに保存されます。これで以降はClaudeがそのトークンを使って GSC / GA4 にアクセスできるようになります。

トークン取得スクリプト実行時のポイント

  • 実行コマンド:python3 get_token.py
  • ブラウザで「このアプリは Google で確認されていません」と出たら → 「詳細」→「(プロジェクト名)に移動」で進める
  • ログインアカウントは、対象GA4プロパティに権限を持っているもの
  • 承認後、ターミナルに「✅ トークン保存完了」が出れば成功
  • スコープ追加後にトークンを取り直すときは、必ずこのスクリプトを再実行する(refreshでは追加されない)

4つのハマり罠と回避策まとめ

ここまでの実体験から、初見の人が確実につまずく罠を4つ整理しておきます。この4つを最初に頭に入れておくだけで、セットアップ時間が半分くらいに圧縮できるはずです。

罠1はサービスアカウントをGA4に直接追加できないエラー。これは前述のとおりGA4の新仕様なので、OAuth方式への切り替えが最短解決です。罠2は「GSC動いてるからサービスアカウント認証だと思い込む」パターン。トークンJSONの client_id 末尾が apps.googleusercontent.com なら、それはOAuth方式が動いているサインです。ダウンロードしたサービスアカウントJSONが未使用の残骸だった、というケースは意外と多いんですよ。

罠3は前述の「APIを別プロジェクトで有効化しちゃう」問題。罠4が「スコープ追加したのに古いトークンで動かない」パターンで、これはトークンを再取得すれば解決します。creds.refresh() ではスコープは追加されない仕様なので、新スコープを使いたいときは必ず get_token.py の再実行が必要です。

症状回避策
罠1「このメールアドレスは Google アカウントと一致しません」(GA4にSA追加時)OAuth方式に統一する/Googleグループ経由で追加
罠2GSCは動くのに、認証構造を勘違いしているトークンJSONの client_id 末尾を確認(apps.googleusercontent.com = OAuth)
罠3「APIが有効化されていない」エラーOAuthクライアントJSON内の project_id を確認し、同じプロジェクトでAPIを有効化
罠4スコープを追加したのに新APIを呼べないget_token.py を再実行してトークンを取り直す(refresh不可)

セキュリティ運用の観点でも1つだけ補足しておくと、トークンJSON・OAuthクライアントJSON・サービスアカウントキーは絶対にチャットに貼らないでください。プロパティID(9桁数字)はサイトHTMLにも露出する公開情報相当なので、Claudeとのチャットに貼ってOKです。この線引きを知っているだけで、Claudeに作業を頼みやすくなりますね。詳細な API 仕様はGoogle公式ドキュメント(Analytics Data API)を参考にしてみてください。

Claude Search Console GA4 連携で広がる運営の未来

ここまで読んでくれた方なら、Claude Search Console GA4 連携が「難しそうに見えて、実はOAuth方式に統一すれば1〜2時間で動かせる」ものだと感じてもらえたんじゃないかなと思います。私自身、8ブログを並行運用するうえでこの連携を入れてから、リライト判断・新規記事ネタの発掘・効果測定のスピードが体感で5倍以上になりました。

連携が動き出すと、毎週のルーティンが「Claudeにブログ名と期間を渡して『PV上位5記事とリライト案を出して』と頼むだけ」みたいな状態に変わります。Search Console と GA4 の管理画面を順番に開いてスクショ取ってExcelに貼って…という作業がまるごと消えるので、空いた時間を本来やるべき「記事の質を上げる」「収益動線を磨く」に回せるのが本当に大きいですね。

もしこの記事で Claude や生成AI の活用にもっと興味が湧いた方は、体系的に学ぶ場として「DMM 生成AI CAMP 学び放題」みたいなオンラインスクールも選択肢としてアリかなと思います。ChatGPT・Claude・画像生成AIなどを実践的に学べるサービスで、まずは無料セミナーで雰囲気を確認してから判断する感じで十分です。Claude Search Console GA4 連携を入り口に、ブログ運営をAIで底上げする流れに乗っていけると、運営の景色がだいぶ変わってきますよ。

この記事の要点まとめ

  • Claude × Search Console × GA4 連携は OAuth 方式に統一するのが現時点で最短
  • サービスアカウント追加エラーはGA4の新仕様なので、OAuthなら回避できる
  • 1つのトークンで GSC + GA4 両方をカバーする設計が運用ラク
  • ユーザー作業はブラウザ承認とプロパティID確認だけ、コードはClaudeが書く
  • AI検索(ChatGPT/Perplexity等)の流入計測はGA4連携の独自価値
  • 4つのハマり罠(SA追加エラー・認証勘違い・API有効化先・スコープ追加)を先回りで回避

🤖 AIスキルを、今すぐ体系的に学ぼう

「DMM 生成AI CAMP 学び放題」は、ChatGPT・Claude・画像生成AIなど最新の生成AIを実践的に学べるオンラインスクール。まずは無料セミナーで雰囲気を確かめてみてください。

無料セミナーに申し込む(DMM 生成AI CAMP)

※PR(成果報酬型広告)