Search ConsoleとGA4を見比べるのが面倒やったから、Claudeで自前ダッシュボード作った話

Search ConsoleとGA4を見比べるのが面倒やったから、Claudeで自前ダッシュボード作った話

きっかけ

VISKに入ってから、自社サイト(visk.co.jp)の流入分析を担当している。
毎月15日に Search Console と GA4 の数字を見て、社長に月次レポートを出すのが業務のひとつ。

これが、けっこう面倒だった。

特に手間がかかったのが**「変化が大きいところを見比べる」**作業。

  • Search Console を開いて、表示回数やクリック数が伸びてるクエリをチェック

  • 別タブで GA4 を開いて、セッションが増えてる流入元をチェック

  • 「このクエリ伸びてるけど、GA4側では別に変わってない?」

  • 「逆に GA4 でセッション増えてる日、SC側で何が起きてた?」

結局SCとGA4のタブを行ったり来たりして、スプレッドシートに数字をコピペして、ようやく「今月のハイライト」が見えてくる。1時間くらいかかってた。

作戦:SCとGA4を一緒に見れる画面を作る

最初考えた選択肢は3つあった。

  • Looker Studio:SC・GA4両方つなげる、無料、定番。でも触ってみたら、結局自分で「面倒な比較」をやることになる。AIで要約してくれるわけでもない。

  • 既存SaaS:月数千〜数万。VISKの自社サイトにそこまで投資するのは違う。

  • 自作:自由度高い。Claude Code 使えば1〜2日で形になりそう。

自作にした

技術スタックはこんな感じ。

  • Next.js + TypeScript:ダッシュボードUI

  • SQLite(better-sqlite3):データ蓄積

  • Google API:Search Console + GA4 のデータ取得

  • Claude API:AI分析

  • Claude Code:実装の相棒(バイブコーディング)

ローカルで動かす前提なので、デプロイも認証も不要。npm run dev で立ち上げて、localhost:3000 を見るだけ。

機能追加①:AIで要約してくれる機能

SC・GA4の数字が1画面に並ぶようになって、それだけで作業時間は半分くらいになった。

ただ、数字が並んだのはいいんやけど、「で、何が言えるか」を自分で考えるのが結局面倒だった。

そこで、Claude APIで分析コメントを自動生成する機能を追加した。

仕組みはシンプルで、期間内のKPIとTOP10クエリをプロンプトに渡して、Claudeに「社長レポート用の文章を書いて」と投げるだけ。

これがかなり良くて、社長レポートにそのままコピペできるレベルの文章が出てくる。

今期間は検索での露出が前期間比で大きく伸びており、特に「flipbook ai」関連の流入が顕著です。クリック率も改善傾向にあり、新規コンテンツの効果が出ていると判断できます。

こんな感じ。「自分で考える」工程をClaudeに丸投げできた瞬間だった。

機能追加②:ピーク日の自動検出

期間グラフを見て「ここ跳ねてる日あるな」と気づいて、その日の中身を掘る、という作業もよくやってた。

これも自動化した。

仕組みは:

  1. 期間内の日次データの平均と標準偏差を計算

  2. 「平均+1.5σ かつ 直前7日平均の1.5倍以上」の日を「ピーク」と判定

  3. その日のTOP5クエリ・ページ・チャネルをClaudeに渡して原因を推測してもらう

たとえばこんな感じ。

2026-04-19の急増
公開記事による検索流入急増が主因と考えられます。
特にAnthropicのAIエージェント関連記事と1-bit Bonsai 8B記事が検索流入を牽引しています。
自信度:高(根拠:TOP2ページが当日表示の84%を占め、クエリの急増内容と完全に一致しているため)

クエリの動きとページの動きを両方読んで原因を推測してくれるので、月次レポートの「ハイライト」セクションがほぼ自動生成できるようになった。これで月次レポートの「ハイライト」セクションがほぼ自動生成できるようになった。

機能追加③:Slack通知

ダッシュボードを開かないと数字わからん、というのも面倒だった。毎朝勝手にSlackで届けば見に行く必要すらないので、通知機能を3種類追加した。

  • 日次サマリー(毎朝7:00):昨日のKPI + 前日比 + TOP3クエリ

  • 急変アラート(毎朝6:30):表示回数が通常の1.5倍 or 0.5倍を超えた時だけ

  • 週次レポート(毎週月曜8:00):前週比 + 急上昇/急降下クエリ + AI週次総括

通知のトーンはカジュアル関西弁にした。自分のプライベートチャンネルに飛ばすだけなので、堅苦しくする必要がない。

たとえばこんな感じ:

🚨 おお、めっちゃ跳ねとるで〜!
表示回数 245回(通常の2.8倍やで!)
yomitoku 関連がブレイク中〜🔥
詳細はダッシュボード見てな〜

自動実行は macOS の launchd で組んだ。Macを開いてる時間しか動かないけど、平日の朝はだいたいPC開いてるので問題なし。

詰まったポイント:SCにサービスアカウントが追加できない

実装中いちばん時間が溶けたのが、これ。

Google APIを叩くのにサービスアカウントを作って Search Console に追加しようとしたら、「メールアドレスが見つかりませんでした」と言われて何度試しても登録できない。

ググっても解決策が出てこない。ChatGPTに聞いてもふわっとした答えしか返ってこない。

結局、SCはサービスアカウントを受け付けてくれない仕様だった。OAuth方式に切り替えたら一発で通った。

これは別記事で深掘りしようと思う。たぶん同じことで詰まる人がいるはず

次にやりたいこと

  • カスタムドメインで社内に公開(今はローカル運用)

  • 月次レポートのPDF自動生成

  • 競合サイトとの比較機能

  • Looker Studio との使い分け検証

まとめ

  • Search Console と GA4 を行き来する作業は、自分で画面作ったほうが早い

  • Claude API で**「数字 → 文章化」**を自動化できる

  • Slack通知で**「自分から見に行く」必要すらなくす**

  • バイブコーディングで1〜2日で形になる

「公式ツールは数字を表示する。自作ツールは判断材料まで作る」 ── これがいちばん大きな違いだと思う。

公式ツールはあくまで「データを見るための窓」。自社サイト持ってて毎月レポート書く必要がある会社なら、AI使った自作ダッシュボードはアリだと思う。

次回作予告:1ヶ月運用してみた感想

ここまで作ってまだ運用3日間。次回は1ヶ月使ってみてのリアルな感想を書く予定です。

  • 朝のSlack通知、ぶっちゃけ毎日見てる?

  • AIインサイトの精度はどんなもん?

  • 月次レポート作成、実際何分になった?

  • これ作って良かった/悪かったポイント

社内勉強会用にネタ集めてるので、リクエストあったら教えてください。