Access Google Analytics via the GA4 Data API with OAuth authentication. Run GA4 reports, inspect properties, list audiences and data streams, and analyze traffic and conversion data.
This skill uses ClawLink for hosted connection flows and credentials so you do not need to configure Google Analytics API access yourself.
Step 1: InstallStep 2: Pair AccountStep 3: Connect Google Analytics
_App-specific connection GIF coming soon_Run the install command in OpenClawSign in and approve the deviceOpen the dashboard and connect Google Analytics
text
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ OpenClaw │────▶│ ClawLink │────▶│ GA4 Data API │
│ (User Chat) │ │ (OAuth) │ │ (REST) │
└─────────────────┘ └──────────────┘ └──────────────────┘
│ │ │
│ 1. Install Plugin │ │
│ 2. Pair Device │ │
│ 3. Connect Google Analytics │
│ │ 4. Secure Token │
│ │ 5. Proxy Requests │
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ SKILL │ │ Dashboard│ │ GA4 │
│ File │ │ Auth │ │ Reports │
└──────────┘ └──────────┘ └──────────┘
Install the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.
bash
openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
Then tell the user: "OpenClaw has been restarted. Send /new as a standalone message to start a fresh chat, then ask for Google Analytics again."
bash
# List accessible accounts and properties
clawlink_call_tool --tool "google_analytics_list_account_summaries" --params '{}'
# Run a basic GA4 report
clawlink_call_tool --tool "google_analytics_run_report" --params '{"property": "properties/123456789", "dimensions": [{"name": "country"}, {"name": "deviceCategory"}], "metrics": [{"name": "sessions"}, {"name": "totalRevenue"}]}'
# Run a realtime report
clawlink_call_tool --tool "google_analytics_run_realtime_report" --params '{"property": "properties/123456789", "dimensions": [{"name": "country"}], "metrics": [{"name": "activeUsers"}]}'
All Google Analytics tool calls are authenticated automatically by ClawLink using the user's connected Google account.
No API key is required in chat. ClawLink stores the OAuth token securely and injects it into every GA4 API request on the user's behalf.
clawlink_begin_pairing if it is not configured yet.clawlink_list_integrations to verify the connection is active.bash
clawlink_list_integrations
Response: Returns all connected integrations. Look for google-analytics in the list.
bash
clawlink_list_tools --integration google-analytics
Response: Returns the live tool catalog for Google Analytics.
If Google Analytics tools are missing or the connection shows an error:
clawlink_list_integrations to verifyclawlink_list_tools --integration google-analyticsToolDescriptionModegoogle_analytics_list_account_summariesList all accessible accounts and propertiesReadgoogle_analytics_list_accounts_v1_betaList all Google Analytics accountsReadgoogle_analytics_list_properties_filteredList GA4 properties with filteringReadgoogle_analytics_get_propertyGet GA4 property detailsReadgoogle_analytics_get_accountGet account detailsRead
ToolDescriptionModegoogle_analytics_run_reportRun a customized GA4 data reportReadgoogle_analytics_run_realtime_reportRun a realtime report (last 30-60 min)Readgoogle_analytics_run_pivot_reportRun a pivot table reportReadgoogle_analytics_run_funnel_reportRun a funnel analysis reportReadgoogle_analytics_batch_run_reportsRun multiple reports in one batchReadgoogle_analytics_check_compatibilityCheck dimension/metric compatibilityRead
ToolDescriptionModegoogle_analytics_get_metadataGet available dimensions, metrics, comparisonsReadgoogle_analytics_get_property_quotas_snapshotGet API quota usage for a propertyReadgoogle_analytics_get_data_retention_settingsGet data retention configurationReadgoogle_analytics_get_attribution_settingsGet attribution model settingsReadgoogle_analytics_get_google_signals_settingsGet Google Signals configurationRead
ToolDescriptionModegoogle_analytics_list_audiencesList configured audiencesReadgoogle_analytics_get_audienceGet audience configuration detailsReadgoogle_analytics_list_data_streamsList data streams for a propertyReadgoogle_analytics_list_key_eventsList key events (conversions)Readgoogle_analytics_get_key_eventGet key event detailsRead
ToolDescriptionModegoogle_analytics_create_audience_listCreate an audience list snapshotWritegoogle_analytics_create_recurring_audience_listCreate a recurring audience listWritegoogle_analytics_list_audience_listsList all audience listsReadgoogle_analytics_query_audience_listQuery audience list resultsRead
ToolDescriptionModegoogle_analytics_list_custom_dimensionsList custom dimensionsReadgoogle_analytics_create_custom_dimensionCreate a custom dimensionWritegoogle_analytics_list_custom_metricsList custom metricsReadgoogle_analytics_create_custom_metricCreate a custom metricWrite
ToolDescriptionModegoogle_analytics_update_propertyUpdate property settingsWritegoogle_analytics_create_rollup_propertyCreate a roll-up propertyWrite
bash
clawlink_call_tool --tool "google_analytics_run_report" \
--params '{
"property": "properties/123456789",
"dimensions": [{"name": "date"}, {"name": "country"}, {"name": "deviceCategory"}],
"metrics": [{"name": "sessions"}, {"name": "totalUsers"}, {"name": "bounceRate"}],
"dateRanges": [{"startDate": "30daysAgo", "endDate": "today"}]
}'
bash
clawlink_call_tool --tool "google_analytics_run_realtime_report" \
--params '{
"property": "properties/123456789",
"dimensions": [{"name": "country"}, {"name": "city"}],
"metrics": [{"name": "activeUsers"}]
}'
bash
clawlink_call_tool --tool "google_analytics_list_key_events" \
--params '{
"property": "properties/123456789"
}'
bash
clawlink_call_tool --tool "google_analytics_check_compatibility" \
--params '{
"property": "properties/123456789",
"dimensions": [{"name": "userAgeBracket"}, {"name": "sessionCampaignName"}],
"metrics": [{"name": "sessions"}]
}'
clawlink_list_integrations to confirm Google Analytics is connected.clawlink_list_tools --integration google-analytics to see the live catalog.clawlink_search_tools with a short query and integration google-analytics.text
┌─────────────────────────────────────────────────────────────┐
│ READ OPERATIONS (Safe) │
│ list → get → run_report → check_compatibility │
│ │
│ Example: List properties → Run report → Show results │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ WRITE OPERATIONS (Require Confirmation) │
│ describe → preview → confirm → create/update │
│ │
│ Example: Preview key event creation → User confirms │
│ → Execute create │
└─────────────────────────────────────────────────────────────┘
clawlink_describe_tool first.whenToUse, askBefore, safeDefaults, examples, and followups to shape the call.clawlink_preview_tool first, then confirm with the user.clawlink_call_tool. Pass confirmation only after the preview matches the user's intent.properties/123456789 in API calls.date, sessionCampaignName, totalUsers).check_compatibility to validate before running complex reports.Status / ErrorMeaningTool not foundThe tool name does not exist in the current catalog. Verify with clawlink_list_tools --integration google-analytics.Missing connectionGoogle Analytics is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-analytics.400 INVALID_ARGUMENTIncompatible dimension/metric combination. Use check_compatibility to validate.403 ForbiddenInsufficient OAuth scopes or permissions.Write rejectedUser did not confirm a write action. Always confirm before executing writes.
Check that the ClawLink plugin is installed: bash
openclaw plugins list
If the plugin is installed but tools are missing, tell the user to send /new as a standalone message to reload the catalog.
If a fresh chat does not help, run: bash
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
After restart, tell the user to send /new again and retry.
google-analytics.clawlink_describe_tool to verify parameter names and types before calling.clawlink_preview_tool first.Powered by ClawLink — an integration hub for OpenClaw
