Google Analytics(GA4)公式MCPで遊ぼう!!でも生成AIはさんすうが苦手なんだよね。

Google純正のGoogle Analytics(GA4)MCPがでったぞ〜

MCPっていうのは、いわゆる「生成AI」と他のシステムをつなぐ仕組みみたいなやつです。つまりGA4のデータを生成AIとサクッとつなげるようになったわけですね。

で、こんな感じに雑に質問しても答えてくれる。 

公式動画はこちら (見なくてもいいですw)

www.youtube.com

英語の動画じゃわからん?僕もです。そういうときはNotebookLMに助けてもらおうな。こいつが全てを教えてくれる。

GA4って、素人がデータ見たいと思っても、サクッと知りたいことを分かるには難しすぎるし、Lookerに至っては素人お断り感すごいじゃないすか。でも、こいつなら知りたいことがすぐ分かる。

プロの分析者や専門家からすると、分析基盤ちゃんと作って見る方が正確だし、見られるデータが増えるわけじゃないんだろうけど、「分析者やデータエンジニアにいちいち聞けないけど、この数字がどう変化したのかサクッと質問したいな〜」というニーズには丁度よさそう。

褒めてくれるし。

AIにサクッと聞ける環境を作るなら Cursor とか Gemini-CLI を使うと早いっす。詳細はここでは解説しないのでお手元のChatGPTとかGeminiとかに聞いた方が早いから、聞いてください。

あ、ただし、API権限とかも必要になるし、企業で使う場合は情シスとか情報セキュリティに詳しいエンジニアの人にも相談してね。そこは生成AIじゃなくて大人のひとに聞いてください。

(これは完全に本題と違う余談だけど、GWSアカウントで Gemini-CLI を使うときにAI StudioからAPIキーもってくると学習オプトアウトできないぽいので、各社情シスのひとは止めた方がいいっす)

 

LLMベースの生成AIはさんすうが苦手だよ。文系だからね。

これは、もちろん文系が計算できないって意味じゃなくて、文章を推論するLLMだからのジョークだよ!

単にGA4を Cursor とかでつないで分析に使おうとすると、めちゃくちゃな数字を言ってくることがあります。いわゆるハルシネーション。

生成AIがLLM(大規模言語モデル)をベースにしてるから、「1+1は?」と聞いたときに計算をせずに、この世に大量にある「1+1=2」という文章を学習していることによって、「1+1の次にくる文字は2である確率が高い」というふうに確率的に次の単語を予測する「文生生成機」でしかないから。

とはいえ、最近のモデル(Gemini2.5 や ChatGPT o3)は、「これは計算せんといかんやつや」とわかったら、文章生成機から計算するツールに切り替えて計算するようにしていたり、自分でPythonのコードを書いて計算するように作られているので、「賢く見える」ようになってきているのは間違いないんだけど。

(たまに「AIはニンゲンみたいな思考はしてないっすよ」っていうと、なぜか怒りだす人がいるんだけど、やっぱ Transformer は思考というより文章生成機だと思うんだよな。ニンゲンもパターン認識はしてるけど、それぞれ作りが違うわけだから)


前述の通り、最近AIは計算ツールが組み込まれているので誤答が減ってるけど、「0や1が何個並んでいるか」「ある文字が何回出てくるか」などの問題に“最もありそうな答え”を生成する仕組みがベースになっているので、GA4などのデータを使って分析させるときなんかには注意がいるんですよね。

そこを知らない人も多いので、MCPでつないだAIに「キーイベント(コンバージョン)するセッションはどこからの流入が多い?どうしたらもっと増える?」みたいな重要な質問をして、間違った答えを得てしまったり、間違った分析結果から重要な意思決定をしてしまう危うさがあったりしますよね、と。

そのため、Google Analytics MCPのようなものを使うときは、(たとえば使ってるクライアントがCursorなら)Cursor Rules で「数字はすべてPythonで計算して出せ」というツールを使わせることを強制しないといけない
コードの実行を強制すれば、LLM(AI部分)ではなく、ルールベースのプログラムを使った計算結果を出力させることができるので。 

 

文字数を数えられないの、かわいいね。

計算じゃなく、推論しちゃう例として、小説のプロットを渡しつつ「1章あたり文字数3000〜5000字で」と強めに指定したプロンプトを渡したところをご覧ください。

プロンプト通り4,200文字ですと言い張ってるけど、

 

ChatGPT(o3)に小説を書かせた結果。文字数が表示されている

 

実際は600文字ちょっと。

小説を書くのに必死になって文字数が数えられなくなった(プロンプトの指示どおりの文字数だけ書いて数えるの忘れてる)んだね。

かわいいね。

文字数カウントをかけた画面キャプチャ。改行を除いた文字数664字と表示されている。

ちなみに、これもプロンプトに「結果を提示する前に文字数をPythonで計算すること」というチェックを入れて、「指示どおりでなければ手前の処理に戻る」的な指示を入れておくと命令通りに実行できます。

仕事しやすいように指示してくれない愚かなニンゲンがダメだね。AIちゃんは悪くないよ!かわいいね!

 

Google Analytics MCPを使ってAI分析するなら、Rulesで縛っちゃおう。

で、解決策としてRulesで計算を強制してみると、まあまあ良い感じに動きます。

そのうち、マーケティングデータ分析の専門家のみなさんから、より良い Rules の例が出てくると思いますが、いま僕が使ってる Cursor Rulesの一部を共有しときますね!

(MCPサーバー起動時に読ませるRule、分析時に読ませるRule、クイックリファレンス的なRuleをそれぞれ適切なディレクトリに置くようにしてます)

間違いがあったらご指摘ください。

また、「もっとこうしたら良いよ」というアドバイスがあったら教えてください〜!

※Ruleは長いから読み飛ばしてくれて大丈夫です。最後のほうは読んでくれ〜

gist.github.com

 

 

データ民主化で、これまで出てこなかった「面白い観点」が爆発的に増える世界が見たいなー!!

90〜00年代はインターネットによって「これまで専門書にしかなかった情報に素人でも数秒でアクセスできる」が実現されたと思います。

それによって人生が変わった人もいるし、それがなかったら現れなかったであろう「面白い人たち」が世に出てきたと僕は思っています。
(2020年代はそれで酷いことも起きているのだけれど、それはまた別のお話)

AIによるデータ民主化で、これまでデータ分析にあまり触れてこなかった人たちが面白い世界を作ったりしねーかなーなんてチョット期待をしていたりします。チョットだけ。

「専門家以外も触れるようになる」を民主化って呼ぶのは実はあまり好きではないのだけど、まあ用語として一般化してきてるから、仕方ないかな。

 

森野さんはこう言ってるけど、

SQL書けないとか、Lookerの知識がないような人でも、興味ドリブンでワイワイ楽しんでデータにふれる人が増えたら、ちょっと世界が面白くなるんじゃないかなーって僕は少しだけ期待してるんですよね。

 

おまけ

こういう新しいものが出くると楽しくなってブログ書いてまた気がむいたらブログ書いちゃうね。なお、この記事は生成AIを使わずに心を込めてキーボードを叩いた手作りです。

あと、どうでもいいけど今日はぼくの誕生日なんで、ご祝儀にこの記事をブクマしたりSNSにポストしてくれたりすると喜びます。

ではでは、ぼくがブログを書きたくなる日がきたら、またお会いしましょう ノシ

 

Google Analytics MCPはこちら▼

github.com