mcpField
G
google-analytics

google-analytics

github.com/acedatacloudマーケティング・グロース17168 回インストール今日更新
リポジトリ

google-analytics について

curlとjqでGoogle Analytics 4のAdmin APIおよびData APIを呼び出すスキルです。OAuthトークンを使い、アクセス可能なプロパティの確認、レポート実行、リアルタイム状況の参照を支援します。

主な機能

  1. 01アクセス可能なGA4プロパティの確認
  2. 02ディメンションと指標を指定したレポート
  3. 03リアルタイムデータの取得
  4. 04期間指定とページ分割への対応
  5. 05APIエラーとトークン問題の確認

活用シーン

  1. 01ページビュー数とアクティブユーザーの確認
  2. 02流入経路や地域別の分析
  3. 03イベント数とコンバージョンの確認
  4. 04国別の現在のアクティブユーザー確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/acedatacloud/skills --skill google-analytics

インストール後、Claude Code で/google-analyticsを入力して読み込まれたか確認します。

詳細

curl + jq を使って Google Analytics 4 にクエリを実行します。ユーザーの OAuth ベアラートークンは $GOOGLE_ANALYTICS_TOKEN に格納されています(スコープは analytics.readonly)。すべての呼び出しで Authorization: Bearer $GOOGLE_ANALYTICS_TOKEN が必要です。API は 2 種類あります。プロパティを検出する Admin API (analyticsadmin.googleapis.com/v1beta)と、レポートを実行する Data API(analyticsdata.googleapis.com/v1beta)です。

エラーは {"error":{"code","message","status"}} 形式です。そのまま表示してください。401 の場合は再インストールしてください。

AUTH="Authorization: Bearer $GOOGLE_ANALYTICS_TOKEN"
# List the GA4 properties the user can access (via their account summaries)
curl -sS -H "$AUTH" "https://analyticsadmin.googleapis.com/v1beta/accountSummaries" \
  | jq '.accountSummaries[]?.propertySummaries[]? | {property, displayName}'

property は properties/123456789 のような形式です。数字の部分が PROPERTY_ID です。

レポートを実行する

PID="123456789"
curl -sS -X POST -H "$AUTH" -H "Content-Type: application/json" -d '{
  "dateRanges":[{"startDate":"28daysAgo","endDate":"today"}],
  "dimensions":[{"name":"pagePath"}],
  "metrics":[{"name":"screenPageViews"},{"name":"activeUsers"}],
  "orderBys":[{"metric":{"metricName":"screenPageViews"},"desc":true}],
  "limit":10
}' "https://analyticsdata.googleapis.com/v1beta/properties/$PID:runReport" \
  | jq '.rows[] | {page: .dimensionValues[0].value, views: .metricValues[0].value, users: .metricValues[1].value}'

ほかのレポートを作成するには、ディメンションと指標を入れ替えます。たとえば、sessionDefaultChannelGroup + sessions(集客)、country + activeUsers(地域)、eventName + eventCount / conversions(イベント)です。日付には NdaysAgo、today、 yesterday、または YYYY-MM-DD を指定できます。

リアルタイム

curl -sS -X POST -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"dimensions":[{"name":"country"}],"metrics":[{"name":"activeUsers"}]}' \
  "https://analyticsdata.googleapis.com/v1beta/properties/$PID:runRealtimeReport" | jq '.rows'

注意点

  • これは GA4 専用です(Data API v1)。古い Universal Analytics(UA)は提供終了しています。レガシーの analytics/v3 エンドポイントは使用しないでください。
  • 有効なディメンション/指標の API 名を指定する必要があります(「Pageviews」ではなく screenPageViews)。名前を指定して 400 エラーになる場合は、API ID が間違っています。GA4 のディメンションと指標の一覧を確認してください。
  • レポートの行数は limit で制限されます(デフォルトは 10k 行)。ページを分割するには offset を使用してください。

コメント