Google Analytics 4で計測したアクセスデータをGensparkのAIシートで分析させてみる

Gensparkの「AIシート」がすごいという話を聞いたので,Google Analytics 4のWebサイトの計測で得たアクセスデータを読み込んで分析させてその結果を視覚化させてみました.つまり,生成AIを使ってデータ分析(アクセス解析)を行ってみた結果を紹介します.

 

1.データ準備

GensparkのAIシートの分析で使用したGoogle Analytics 4(以下,GA4)のWebサイトのデータは,Googleが提供しているデモアカウント(Google Merchandise Store)のものです.

デモアカウント

Google Merchandise Store と Flood-It! のデータを使った実践的な学習

https://support.google.com/analytics/answer/6367342?hl=ja

このデモアカウント(Google Merchandise Store)をLooker Studioに接続して図1のようなテーブルを作り,このテーブルからcsvファイルをエクスポートして,そのcsvファイルをGensparkにアップして分析してもらうことにしました.

図1.デモアカウントのデータを使ってLooker Studioで作ったテーブル(Genspark用のデータを作る).

図1.デモアカウントのデータを使ってLooker Studioで作ったテーブル(Genspark用のデータを作る).

 

テーブルのディメンションは「ISO 年の ISO 週」の週ごとの時間軸と「セッションのデフォルト チャネル グループ」を掛け合わしています.テーブルの指標は「セッション,エンゲージのあったセッション数,エンゲージメント率,平均セッション継続時間,セッションあたりのイベント数,イベント数,キーイベント,セッション キーイベント率,ユーザー キーイベント率」です.

このデモアカウントのWebサイトはショップです.テーブルのディメンションが1つでもいいのですが,いわゆる時間軸と流入元データが組み合わさったものを「分析」してもらうほうが有益と考え,このようなデータを使ってみることにしました.ディメンションが1つだと,単にデータを時系列やチャネル別でまとめたレポートだけになりそうだとも考えました(そのようなものは,Looker Studioを使ったレポートですでに自分で作っていることもあり,すこしハードルを上げてみました).

データ期間は,2025年5月12日から16週目前をとっています.つまり,「2025/01/20~2025/01/26 (4 週目)」から「2025/05/12~2025/05/18 (20 週目)」までとなります(注:この期間指定のため「2025/05/12~2025/05/18 (20 週目)」は,「2025/05/12」の1日分のデータしかありません.しっかり分析をしてもらうならばこのようなデータを使うのは良くないですが,今回はあえて使ってみました).

なお,「ISO週」に関しては以下の記事の「2.ISO週番号」の説明を見てください.

データポータルで「Google Analytics 週別(週次)レポート」を作ってみた

https://index-lab.jp/tools/0608103051/data-studio-007/

 

データのcsvファイルは,Looker Studioのテーブルの右上にマウスのカーソルをあてると表示される「・・・」が縦に並んだ箇所をクリックするとでてくる「エクスポート」を使って作ります(図2参照).

図2.Looker Studioのテーブル内容の出力.

図2.Looker Studioのテーブル内容の出力.

 

なお,図1のテーブルは「週別トラフィック獲得レポート」として,下記の図3のような積み上げ式の棒グラフを同じページに入れたLooker Studioのレポートを自分で作っています.

図3.Looker Studioで作った週別トラフィック獲得レポート.

図3.Looker Studioで作った週別トラフィック獲得レポート.

 

2.GensparkのAIシート

Gensparkは生成AIサービスの一つです.Google検索結果で,以下のような説明がありました.

GensparkとChatGPTの違いは何ですか?

ChatGPT等は対話形式で情報を提供しますが、Gensparkは複数のソースから情報を引き出し、視覚的に整理された形で提示するため、短時間で全体像を把握できます。 また、分散的なリンク情報を羅列する検索エンジンとは異なり、必要な情報を一箇所にまとめて提示するため、調べる手間が一気に短縮されるのです。

Gensparkを本格的に使うには有料プランに加入しないと駄目だと思いますが,今回のGA4のデータを使って分析させてその結果を視覚化させる一連のタスクは無料でできました.

Gensparkにアカウントを作成し,さっそく「AIシート」を選択して使ってみました.まずは,Looker Studioのテーブル機能で出力したcsvファイルをデータソースにするためアップします.

図4.Gensparkの「AIシート」でcsvファイルをアップする.

図4.Gensparkの「AIシート」でcsvファイルをアップする.

 

そして,プロンプトとして「Googleアナリティクス4で計測したWebサイトのアクセスデータです.分析して,見やすいビジュアルに変えてください.」と入力して実行させました.

図5.Gensparkの「AIシート」で指示を出す.

図5.Gensparkの「AIシート」で指示を出す.

 

最終的な出力が終わるまで20分ほどかかりました.下記の動画がこの一連のGensparkの動作となります(途中はただひたすら出力されるのを待っている動画です).

 

3.GensparkのAIシートの出力結果

出力された結果にある「ツールを使用する|データファイルをアップロード」に関しては,今回は自分がアップしたソースなのでアップしたcsvファイルの内容が表示されます.

図6.「ツールを使用する|データファイルをアップロード」で表示される内容.

図6.「ツールを使用する|データファイルをアップロード」で表示される内容.

 

 

分析にはJupyter NotebookでPythonが使われているようです.出力された結果にある「ツールを使用する|Jupyterデータ解析」をクリックすると,Jupyter Notebookの解析が,Pythonのコードと共に表示されます.

図7.「ツールを使用する|Jupyterデータ解析」で表示される内容.

図7.「ツールを使用する|Jupyterデータ解析」で表示される内容.

 

 

視覚化した結果(ビジュアルレポート)は,HTMLで提供されます.出力された結果にある「ツールを使用する|Webページを作成」をクリックすると,表示されます.このHTMLはソースも提示されるので,それをコピー&ペーストしhtmlファイルで保存すると,このビジュアルレポートが表示できるhtmlファイルがローカルに保存できます.

図8.「ツールを使用する|Webページを作成」で表示される内容(ビジュアルレポート).

図8.「ツールを使用する|Webページを作成」で表示される内容(ビジュアルレポート).

 

図9.ビジュアルレポートのコード表示.

図9.ビジュアルレポートのコード表示.

 

 

このビジュアルレポートはブラウザの全画面でも表示できます(下記リンクで見ることができます).

Googleアナリティクス4 トラフィック獲得レポート分析 (出力で得られたHTMLのソースをコピー&ペーストしてhtmlファイルとして保存したものから作りました)

上記のリンクを見てもらえばわかりますが,今回出力されたビジュアルレポートの最後の方の「エンゲージメント率とキーイベント率の関係」と「トレンドと変化率分析」という題目に関しては,「主なインサイト」のテキストはあったのですが図は空欄でした.エラーなのか,無料のために限界で出力されなかったのかはわかりません.

あと,ビジュアルレポートは,PDFとしてエクスポートできるとも書かれていましたが,それらしきものは見つかりませんでした.

なお,出力されたテキスト形式の「分析ハイライト」は以下のようなものでした.

### 分析ハイライト

1. **トラフィック推移**:
- 4週目から20週目にかけてのデータを分析しました
- 18-19週目に大きなトラフィックスパイクがあり、20週目に急減しています

2. **チャネルパフォーマンス**:
- Direct(直接アクセス)が最も多いトラフィックソースですが、エンゲージメント率は低め
- Email、Referral、Cross-networkは少ないトラフィック量ながら高いエンゲージメント率とコンバージョン率を示しています

3. **エンゲージメント分析**:
- Cross-networkが最もエンゲージメント率が高い(81.4%)
- Directは最も低いエンゲージメント率(48.6%)ですが、最大のトラフィックボリュームを持っています

4. **コンバージョン指標**:
- Email(35%)とReferral(35%)がセッションキーイベント率で最高のパフォーマンス
- DirectとOrganic Searchは量は多いものの、コンバージョン率は相対的に低い

5. **総合評価**:
- Email、Referral、Cross-networkが最も効果的なチャネルとして特定されました
- これらのチャネルは、エンゲージメントとコンバージョンの両指標で優れたパフォーマンスを示しています

### 注目すべきインサイト

1. **質と量のバランス**:
- 大量のトラフィックを生み出すチャネル(Direct)と、高いエンゲージメントを生み出すチャネル(Email、Referral)のバランスが重要です

2. **急激なトラフィック変動**:
- 18-19週目の急増と20週目の急減は、特別なキャンペーンやウェブサイトの問題などの調査が必要かもしれません

3. **チャネル最適化の機会**:
- 高パフォーマンスだがトラフィック量の少ないチャネル(Email、Referral)への投資を増やすことで、全体的なサイトパフォーマンスを向上させる可能性があります

レポートでは、これらの分析をグラフや図を用いて視覚的に表現しています。特に気になる点やさらに詳細な分析をご希望の場合は、お気軽にお知らせください。

 

4.出力されたビジュアルレポートを簡単に確認してみると・・・

ビジュアルレポートの上部にある分析概要(図10参照)に,「19週目に大幅なトラフィック増加が見られ、20週目に急減した特徴的な推移」と書かれています.20週目とは,ソースのディメンション「ISO 年の ISO 週」の「2025/05/12~2025/05/18 (20 週目)」に該当します.2節で述べたように「2025/05/12~2025/05/18 (20 週目)」には「2025/05/12」の1日分の値しか含まれていないデータをソースとして与えた影響で,「20週目に急減した特徴的な推移」という分析をしたのだと思います.つまり,AIは「2025/05/12~2025/05/18 (20 週目)」は1日分の値しか含まれていないことを知らない(わからない)ので,20 週目を異常値として報告をしているのです(他の箇所でも同様な報告をしています).

このように,アップしたファイルのソースにそもそも問題があると,分析結果に影響を与えるので注意が必要です

図10.ビジュアルレポートの分析概要.

図10.ビジュアルレポートの分析概要.

 

次に,「1.トラフィック推移分析」の「週別のトラフィック推移(アクティブユーザー数とセッション数)」を見てみます(図11参照).例えば,15週目のデータを確認すると,図12のように「アクティブユーザー数:12,928」と「セッション数:17,400」とポップアップして表示されました.

図13は,アップしたソースのcsvファイルから「2025/04/07~2025/04/13 (15 週目)」のものを抜き出したものです.アクティブユーザー数の合計が「12,928」,セッションの合計が「17,400」となっており,図12の数値と確かに一致しています.ソースではチャネルごとに分かれていたユーザー数やセッション数を,このような集計をしてグラフにしてくれることを期待していたので,これには感心しました.

図11.週別のトラフィック推移(アクティブユーザー数とセッション数)」のグラフ.

図11.週別のトラフィック推移(アクティブユーザー数とセッション数)」のグラフ.

 

図12.15週目は「アクティブユーザー数:12,928」と「セッション数:17,400」と表示される.

図12.15週目は「アクティブユーザー数:12,928」と「セッション数:17,400」と表示される.

 

図13.ソースのcsvファイルから「2025/04/07~2025/04/13 (15 週目)」のものを抜き出したもの.

図13.ソースのcsvファイルから「2025/04/07~2025/04/13 (15 週目)」のものを抜き出したもの.

 

なお,「週別のトラフィック推移(アクティブユーザー数とセッション数)」のグラフの下に「主なインサイト」として,分析コメントが書かれています(図11参照).その内容は,

トラフィックは週4から週18までは比較的安定していましたが、週19で急増し、週20で大幅に減少しています。週19のピークではアクティブユーザー数が約26,000に達し、セッション数は31,000を超えました。週20の急減は、データ収集期間が完了していないか、何らかのトラッキングやサイトの問題があった可能性があります。

でした.「週20の急減は、データ収集期間が完了していないか、何らかのトラッキングやサイトの問題があった可能性があります。」とあり,「20 週目は1日分の値しか含まれていない」という事実を「データ収集期間が完了していない」のではないかとの推測があり,この点にも感心しました

以上の結果は感心させられたことですが,出力されたその他の結果を見ると首をかしげたくなるものがいくつも見つかりました.

図14は「2. チャネル分析」の「主要チャネルの週別セッション数推移」のグラフです.ここでも15週目のデータを使って確認してみます.図15が,グラフでポップアップされた各チャネルの15週目のセッション数です.

図14.「2. チャネル分析」の「主要チャネルの週別セッション数推移」のグラフ.

図14.「2. チャネル分析」の「主要チャネルの週別セッション数推移」のグラフ.

 

図15.グラフでポップアップされた各チャネルの15週目のセッション数.

図15.グラフでポップアップされた各チャネルの15週目のセッション数.

 

図16は,ソースのcsvファイルから抜き出した図13の「2025/04/07~2025/04/13 (15 週目)」のデータと図15の「主要チャネルの週別セッション数推移」のグラフの各チャネルの15週目のセッション数を並べたモノです.セッション数が異なっています.グラフの「Direct: 9,904」の「9,904」という数値はソースに存在しません.ソースのデータなどを見る限りでは,なぜグラフでこのような数値になっているのかがわかりませんでした.「Jupyterデータ解析」の中を確認すれば,このグラフの数値がなにかがわかる(どのような集計や計算をしているかがわかる)かもしれませんが・・・,現状そこまでする気は起きませんでした.

図16.元ソースとグラフの値の比較.

図16.元ソースとグラフの値の比較.

 

次に,図17は「4. キーイベント分析」の「主要チャネルのキーイベント率週別推移」のグラフで,図18はグラフでポップアップされた各チャネルの15週目のキーイベント率(「主要チャネルのキーイベント率週別推移」のグラフの縦軸)です.

図17.「4. キーイベント分析」の「主要チャネルのキーイベント率週別推移」のグラフ

図17.「4. キーイベント分析」の「主要チャネルのキーイベント率週別推移」のグラフ

 

図18.グラフでポップアップされた各チャネルの15週目のキーイベント率

図18.グラフでポップアップされた各チャネルの15週目のキーイベント率

 

このグラフの「キーイベント率」とは何でしょうか?ソースに含まれていた指標の「セッションキーイベント率」もしくは「ユーザーキーイベント率」のことでしょうか?

ソース(図13参照)だと,例えば15週目のチャネル「Direct」では「セッションキーイベント率:0.163383」で「ユーザーキーイベント率:0.19287」となっています.一方で,グラフの15週目のチャネル「Direct」の「キーイベント率:0.74」です.この0.74という値はソースの7239(15週目のチャネル「Direct」のキーイベントの値)を9695(15週目のチャネル「Direct」のセッションの値)で割った値のように見えました(出力にある「Jupyterデータ解析」をちゃんとみれば計算式も見つかりそうですがしていません).

GA4の「セッションキーイベント率」は「キーイベントが発生したセッション数÷セッション数」で定義されています.「主要チャネルのキーイベント率週別推移」のグラフの「キーイベント率」は,GA4の「セッションキーイベント率」とは違うのは数値からも明らかです.このように,ソースにない・定義を示さない指標を結果に使うのはかなり問題です

同様に,「5. チャネル効果分析」にある「チャネル別の総合有効性スコア」の「有効性スコア」とは何でしょうか?ソースに「有効性スコア」なるものは存在しません.定義も示さずに,ソースに存在していない指標をここでも使っています.「Jupyterデータ解析」の中を確認すれば,定義(計算式)は見つかるでしょうか?

あと,例えば図19に示すような「5. チャネル効果分析」の「セッションキーイベント率」のグラフのように,「***率」というソースの値がすでに比率になっているものに関して,期間(何週目)のディメンションとは切り離したグラフが表示されています.

図19.「5. チャネル効果分析」の「セッションキーイベント率」のグラフ.

図19.「5. チャネル効果分析」の「セッションキーイベント率」のグラフ.

 

図19に示すように,チャネル「Paid Search」では「セッションキーイベント率:32.0%」と出ていますが,これは図20に示すように全期間のチャネル「Paid Search」の「セッションキーイベント率」の総和「5.518815」を「17(期間内にあるISO週が4週目~20週目なので週が17個ある)」で割って求めた値だと思います(実際は,該当期間の「キーイベントが発生したセッション数」と「セッション数」を直接使って計算すべきですが,与えられたソースにはそれらがないので,このような計算をしたのだと思います.この分析では精度がそこまで必要無いので,このような計算でも問題ないとは理解します).

ただ上述したように勝手に定義した値を使ったりしているので,本気でこの出力結果を使うならば「Jupyterデータ解析」の中で計算内容を確認したくなります.

図20.ソースファイルでチャネル「Paid Search」での「セッションキーイベント率」を計算してみる.

図20.ソースファイルでチャネル「Paid Search」での「セッションキーイベント率」を計算してみる.

 

5.おわりに

与えられたソースに対する分析なのでハルシネーションが混じる可能性がかなり低いのではと考えていましたが,4節で述べたように勝手に定義した指標を,その定義を示さず使って分析結果として表示するなど課題となりそうな面がまだまだありそうです(今回のソースとなるデータのディメンションが2つあったので,その影響も大きかったかもしれません).

ただ,感心するような分析結果などもありました(週別のトラフィック推移に関係する箇所など).

ともかく,生成AIの進化(企業間の競争)は激しいので,今回感じたような課題もすぐクリアされそうです.