# Google Analytics

> Query Google Analytics 4 — reports, realtime data, dimensions, and metrics via the Data API.

- Skill: `thinkfleetai/google-analytics` (Agent Skill)
- Install (CLI): `npx skillmds@latest add thinkfleetai/google-analytics`
- Raw SKILL.md: https://api.skillmd.com/api/skills/thinkfleetai/google-analytics/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: thinkfleetai (https://skillmd.com/u/thinkfleetai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/thinkfleetai/google-analytics

---


# Google Analytics 4

Query reports, realtime data, and metrics via the GA4 Data API.

## Environment Variables

- `GOOGLE_ACCESS_TOKEN` - OAuth 2.0 access token with Analytics scope

## Run report

```bash
curl -s -X POST -H "Authorization: Bearer $GOOGLE_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  "https://analyticsdata.googleapis.com/v1beta/properties/PROPERTY_ID:runReport" \
  -d '{"dateRanges":[{"startDate":"7daysAgo","endDate":"today"}],"dimensions":[{"name":"pagePath"}],"metrics":[{"name":"activeUsers"},{"name":"screenPageViews"}],"limit":10}' | jq '.rows[] | {page: .dimensionValues[0].value, users: .metricValues[0].value, views: .metricValues[1].value}'
```

## Realtime report

```bash
curl -s -X POST -H "Authorization: Bearer $GOOGLE_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  "https://analyticsdata.googleapis.com/v1beta/properties/PROPERTY_ID:runRealtimeReport" \
  -d '{"dimensions":[{"name":"country"}],"metrics":[{"name":"activeUsers"}],"limit":10}' | jq '.rows[] | {country: .dimensionValues[0].value, users: .metricValues[0].value}'
```

## List properties

```bash
curl -s -H "Authorization: Bearer $GOOGLE_ACCESS_TOKEN" \
  "https://analyticsadmin.googleapis.com/v1beta/properties?filter=parent:accounts/ACCOUNT_ID" | jq '.properties[] | {name, displayName}'
```

## Notes

- Replace `PROPERTY_ID` with your GA4 property ID (numeric).
- Access token must have `https://www.googleapis.com/auth/analytics.readonly` scope.

