关于 google-analytics
通过 curl 和 jq 调用 Google Analytics 4 的 Admin API 与 Data API。分析人员可用它查找可访问的媒体资源、运行报告,并查看实时活动,认证使用 OAuth 令牌。
主要功能
- 01查找可访问的 GA4 媒体资源
- 02按维度和指标运行报告
- 03查询实时活动
- 04处理日期范围与分页结果
- 05识别 API 错误和令牌问题
适用场景
- 01查看页面浏览量和活跃用户
- 02分析流量来源或地区活动
- 03检查事件数和转化次数
- 04按国家查看当前活跃用户
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ acedatacloud/ skills --skill google-analytics安装后在 Claude Code 中输入/google-analytics确认已加载。
详细介绍
通过 curl + jq 查询 Google Analytics 4。用户的 OAuth bearer token 位于
$GOOGLE_ANALYTICS_TOKEN(作用域为 analytics.readonly);每次调用都需要
Authorization: Bearer $GOOGLE_ANALYTICS_TOKEN。有两个 API:用于发现媒体资源的 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 名称(
screenPageViews,而不是“浏览量”)。 如果某个名称返回 400 错误,说明 API ID 有误——请查看 GA4 维度和指标列表。 - 报告的行数上限由
limit决定(默认 10k 行);使用offset分页。
评论
支持 Markdown