Google Analyticsが使いづらい?Claude Code × MCPで全部解決した話

AI

ブログ運営してると、アクセス解析は避けて通れない。Google Analytics(GA4)を導入している人がほとんどだと思う。

でも正直、GA4のUIが使いづらすぎないか?

「この記事、どこから流入してるんだろう?」——たったこれだけのことを調べるのに、探索レポートを開いて、ディメンションを設定して、フィルタをかけて……。慣れていても毎回面倒だし、たまにしか触らない人にとっては苦行でしかない。

そこで思いついた。「Claude Codeに聞けばよくない?」

結論から言うと、Claude CodeにGA4のMCPサーバーを繋いだら、自然言語で聞くだけでアクセスデータが返ってくる環境が手に入った。この記事ではそのセットアップ手順と、実際にどんなことができるのかを紹介する。

Claude Code × GA4 MCPとは

MCP(Model Context Protocol)は、AIアシスタントに外部ツールを接続するためのプロトコルだ。GA4用のMCPサーバーを使えば、Claude CodeからGoogle Analyticsのデータを直接取得できるようになる。

今回使ったのは google-analytics-mcp というOSSのMCPサーバー。GA4の200以上のディメンション・メトリクスに対応しており、Claude CodeやCursorなどのMCPクライアントで利用できる。

セットアップ手順

1. Google Cloudでサービスアカウントを作成

まずGoogle Cloud Consoleでサービスアカウントを作成し、認証用のJSONキーをダウンロードする。

  1. Google Cloud Console でプロジェクトを選択(または新規作成)
  2. 左メニュー → APIとサービス → ライブラリ → 「Google Analytics Data API」を有効化
  3. APIとサービス → 認証情報 → サービスアカウントを作成
  4. 作成したサービスアカウントの「鍵」タブからJSONキーをダウンロード

ダウンロードしたJSONキーは安全な場所に保管しておく。

~/.config/gcloud/ga4-mcp-key.json

2. GA4でサービスアカウントに権限を付与

JSONキーの中にサービスアカウントのメールアドレス(xxxxx@xxxxx.iam.gserviceaccount.com)が記載されている。これをGA4に追加する。

  1. GA4管理画面 → プロパティのアクセス管理
  2. ユーザーを追加 → サービスアカウントのメールアドレスを入力
  3. 権限は「閲覧者」でOK(読み取り専用なので安全)

3. MCPサーバーのインストール

pip install google-analytics-mcp

4. Claude Codeに登録

以下のコマンドでClaude CodeにMCPサーバーを登録する。GA4_PROPERTY_IDにはGA4のプロパティIDを指定する。

claude mcp add-json "ga4-analytics" '{
  "command": "python3",
  "args": ["-m", "ga4_mcp"],
  "env": {
    "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/ga4-mcp-key.json",
    "GA4_PROPERTY_ID": "あなたのプロパティID"
  }
}' --scope user

登録後、Claude Codeを再起動すればMCPサーバーが読み込まれる。

実際に使ってみた

PVランキングを聞いてみる

Claude Codeに「過去7日間で一番PVの多いページを教えて」と聞くだけ。

すると、こんな感じでランキングが返ってくる。

順位 ページ PV
1 /whiskey-hangover-tier-guide/ 98
2 /(トップページ) 76
3 /stable-diffusion-model-comparison-cute-girl/ 38

GA4の画面をポチポチする必要は一切ない。聞くだけ。

流入元を深掘りする

「この1位の記事、どこから流入してる?」と続けて聞けば:

ソース メディア セッション
google organic 64
yahoo organic 23
bing organic 5
(direct) (none) 2

ほぼ100%が検索流入だとすぐにわかる。GA4の探索レポートで同じことをやろうとすると、ディメンションの追加、フィルタの設定……と数分かかる操作が、一言で済む。

「ちゃんと読まれてる記事」を分析する

PVだけでなく、滞在時間を使った分析もできる。「ちゃんと読まれてる記事ランキング出して」と聞けば、1人あたりの滞在時間で並べ替えた結果が返ってくる。

実際に試したところ、PVランキングでは上位に来ない記事が、1人あたりの滞在時間では上位に来るという発見があった。PVだけ追っていると見えない「記事の質」が可視化できるのは面白い。

WordPress REST APIとの合わせ技

GA4のデータだけだとURLのスラッグしか表示されないので、どの記事か直感的にわかりづらい。そこでWordPressのREST APIも組み合わせた。

WordPressのREST APIはデフォルトで有効(読み取りのみ)なので、特別な設定は不要。Claude Codeが自動的に記事タイトルを取得して、アクセスデータと紐づけてくれる。

URLスラッグだけの味気ないランキングが、記事タイトル付きの一覧に変わるだけで、分析の質が格段に上がる。

注意点

  • 読み取り専用:MCPサーバーはGA4のデータを読み取るだけなので、設定を壊す心配はない
  • サービスアカウントの権限:「閲覧者」で十分。間違っても「編集者」にしないこと
  • Search Consoleの検索クエリ:GA4のAPIでは取得できないが、Search Console MCPを追加すれば解決する(後述)
  • データの反映ラグ:GA4のデータは通常24〜48時間の遅延がある。リアルタイムデータも取得可能だが、精度は参考程度

【追記】Search Console MCPも繋いでみた

GA4 MCPだけでも十分便利だが、ひとつ弱点があった。「どんな検索キーワードで来てるか」がわからない。GA4のAPIではSearch Consoleの検索クエリデータは取得できないのだ。

というわけで、Search Console用のMCPサーバーも追加した。同じ作者が出している google-search-console-mcp を使う。

追加セットアップ(5分で終わる)

GA4 MCPのセットアップが済んでいれば、サービスアカウントはそのまま使い回せる。追加で必要な作業は3つだけ。

1. Google CloudでSearch Console APIを有効化

Google Cloud Console → GA4 MCPのセットアップ時に使ったのと同じプロジェクトで、APIとサービス → ライブラリ → 「Google Search Console API」を検索して有効化。サービスアカウントのJSONキーはプロジェクトに紐づいているため、別のプロジェクトで有効化しても認証が通らないので注意。

2. Search Consoleでサービスアカウントに権限を付与

Search Console → 設定 → ユーザーと権限 → ユーザーを追加。GA4で使ったのと同じサービスアカウントのメールアドレスを入力し、権限は「フル」にする。

3. インストールしてClaude Codeに登録

pip install google-search-console-mcp
claude mcp add-json "gsc-analytics" '{
  "command": "python3",
  "args": ["-m", "gsc_mcp_server"],
  "env": {
    "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/ga4-mcp-key.json",
    "GSC_SITE_URL": "https://あなたのサイトURL/"
  }
}' --scope user

Claude Codeを再起動すれば使えるようになる。

検索キーワードを聞いてみた

「過去30日で一番検索されてるキーワードは?」と聞いてみた結果がこちら。

キーワード クリック 表示回数 CTR 平均順位
二日酔い しない ウイスキー 銘柄 8 39 20.5% 3位
地雷ウイスキー 8 153 5.2% 8.8位
ウイスキー 悪酔い 7 81 8.6% 5位
ジャックダニエル 悪酔い 7 15 46.7% 2.6位
ウイスキー ティア表 6 21 28.6% 2.2位

ウイスキーばっかで草。これ一応、技術ブログのつもりなんだが……。適当なノリで書いた記事が検索上位を独占しているという現実を、Search Consoleは容赦なく突きつけてくる。

それはさておき、GA4では「検索流入が多い」までしかわからなかったが、Search Consoleを繋ぐことで「どんなキーワードで何位に表示されていて、どれくらいクリックされているか」まで一発で聞けるようになった。

特定の記事に絞って「この記事にどんなキーワードで来てる?」と聞くこともできる。GA4の流入元データと組み合わせれば、記事ごとのSEO分析がチャットだけで完結する。

まとめ

GA4のUIに苦しんでいるブロガーやサイト運営者には、Claude Code × MCPの組み合わせを強くおすすめする。

  • 「過去30日のPVランキング出して」
  • 「この記事の流入元は?」
  • 「ちゃんと読まれてる記事どれ?」
  • 「どんな検索キーワードで来てる?」

GA4もSearch Consoleも、自然言語で聞くだけでデータが返ってくる。探索レポートと格闘する日々はもう終わりだ。

セットアップはGA4が30分、Search Consoleの追加が5分程度で完了する。アクセス解析を「設定はしたけど全然見てない」という人こそ、試してみてほしい。

コメント

タイトルとURLをコピーしました