GA4 + Pythonで定点観測ダッシュボードを自作してみた
2025.08.12 09:26
2025.08.12 09:26

Googleアナリティクス(GA4)の画面、いろんなことができるけど、
正直「毎月アクセス見たいだけなんだよな…」ってときに、ちょっと多機能すぎてしんどいと感じることがあります。
そこで今回は、GA4のData APIをPythonで叩いて、簡単なダッシュボードを自作してみました。
やりたかったこと
- 月ごとのユーザー数をざっくり見たい
- デバイス(PC/スマホ)の割合を見たい
- 前月比で増えたかどうかだけ知りたい
- グラフはあった方がいいけど、凝ったUIは不要
- とにかく“見るだけ”にしたい!
使ったもの
- GA4 Data API v1(Python用の公式SDKを使用)
- Streamlit(神ライブラリ。
st.metric()
でグラフも数字も出せる) - pandas / plotly(データ整形と可視化)
最小構成のコード例(抜粋)
# main.py
import streamlit as st
import pandas as pd
from mylib import get_monthly_data, get_device_data
st.title("GA4 月次ダッシュボード")
month = st.selectbox("対象月", ["2024-08", "2024-07"])
total = get_monthly_data(month)
by_device = get_device_data(month)
st.metric(label="アクティブユーザー数", value=total["users"], delta=total["delta_str"])
st.bar_chart(by_device.set_index("device")["users"])
これで以下を表示できます。
- 指定月のアクティブユーザー数(前月比つき)
- デバイス別(PC/スマホ/タブレット)のユーザー数グラフ
やってみた感想
GAの画面って多機能なんだけど、自分にとって必要な情報を“毎回整えて見る”のが意外と手間で、
ダッシュボードを自作してみたら「毎月これでいいじゃん」と思えるレベルになりましたStreamlitはとにかく爆速でUIが作れて、Pythonさえ書ければ一瞬で“自分用Notion”ができる感じ。
今後やってみたいこと
- GA4の他の指標(流入元、イベント数)も追加
- Streamlit Cloud で社内共有用に公開
- Slack通知 or PDF化と組み合わせて、自動配信も検討中
「とりあえず改善の“目安”だけ見れればいい」っていうニーズには、
GA4+Streamlitの組み合わせは本当にちょうどよかったです。
今回は以上です!