---
title: "Google Analytics 4 MCP server for AI agents - actionlake"
description: "Give Claude 189 Google Analytics 4 actions through one MCP server: account access bindings. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/google-analytics-4
updated: 2026-10-22
---

Connectors · Marketing & media

# Google Analytics 4 MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Google Analytics 4 and the rest of your systems. It gives your agent 189 Google Analytics 4 actions (88 reads, 70 writes and 31 that wait for a confirmation) and holds the Google Analytics 4 credential itself, so the agent never does. It paces Google Analytics 4's limits and records every call. Connecting Google Analytics 4 needs your own Google Analytics 4 OAuth app and one admin sign-in.

[Connect Google Analytics 4 free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "google_analytics_4.accounts.list",
  intent: "check which Google Analytics 4 account is connected"
}
# List accounts · read · 1 upstream call
```

- 189 actions in one signed file
- 88 read look, never change
- 70 write create and update
- 31 wait for a yes destructive, confirmed first

Set up

## Connect Google Analytics 4 in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Google Analytics 4.
   OAuth 2.0, authorization code with PKCE. You register your own OAuth app with Google Analytics 4, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.
   Before the first sign-in, Google Analytics 4 needs an OAuth app of your own, registered in its developer portal. actionlake has no Google Analytics 4 app to lend you.
   - `access_token` Access token from one sign-in with your own OAuth app
   - `refresh_token` Refresh token from the same sign-in; the access token is renewed from it
   - `client_id` Google OAuth client id (Google Cloud console > APIs & Services > Credentials; enable the Google Analytics Data API…
   - `client_secret` Google OAuth client secret
   ```
   account { op: "connections.requirements", service: "google_analytics_4" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "google_analytics_4.accounts.list" }
   # list accounts · read · 1 upstream call
   check { action: "google_analytics_4.custom_metrics.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Google Analytics 4 at a glance

**Sign-in**

OAuth 2.0, authorization code with PKCE. You register your own OAuth app with Google Analytics 4, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.

**You provide**

`access_token` `refresh_token` `client_id` `client_secret`

**Limits we pace to**

600 calls a minute, per connection

**API covered**

Data API v1beta + v1alpha, Admin API v1beta + v1alpha`analyticsadmin.googleapis.com`

**Built from**

Google Analytics 4's documentation, read 22 October 2026[analyticsdata.googleapis.com](https://analyticsdata.googleapis.com/$discovery/rest?version=v1beta) [analyticsadmin.googleapis.com](https://analyticsadmin.googleapis.com/$discovery/rest?version=v1beta) [analyticsdata.googleapis.com](https://analyticsdata.googleapis.com/$discovery/rest?version=v1alpha)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

83 of 88 reads, for up to an hour; a write clears what it affects

**Shared entities**

4, so ask can line Google Analytics 4 up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Google Analytics 4.

189 actions in 2 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **88** read look, never change
- **70** write create and update
- **31** destructive wait for a confirmation

1. ### Admin
   164
   67 read · 66 write · 31 destructive
   List account access bindings · List properties · List audiences · List custom metrics
2. ### Data
   25
   21 read · 4 write · 0 destructive
   Create audience exports · List audience exports · List report tasks · Get audience exports

Top actions

## The Google Analytics 4 API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 32 of Google Analytics 4's 33 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `google_analytics_4.account_access_bindings.list` List account access bindings | Lists all access bindings on an account or property. | read | `identity.role_assignment.list` 41 connectors |
| `google_analytics_4.properties.list` List properties | Returns child Properties under the specified parent Account. | read | `content.site.list` 16 connectors |
| `google_analytics_4.audiences.list` List audiences | Lists Audiences on a property. | read | `comm.audience.list` 26 connectors |
| `google_analytics_4.custom_metrics.list` List custom metrics | Lists CustomMetrics on a property. | read | `analytics.metric_definition.list` 11 connectors |
| `google_analytics_4.custom_metrics.create` Create custom metrics | Creates a CustomMetric. | write | `analytics.metric_definition.create` 10 connectors |
| `google_analytics_4.audience_exports.create` Create audience exports | Creates an audience export for later retrieval. | write | `analytics.data_export.create` 10 connectors |
| `google_analytics_4.audience_exports.list` List audience exports | Lists all audience exports for a property. | read | `analytics.data_export.list` 9 connectors |
| `google_analytics_4.properties.create` Create properties | Creates a Google Analytics property with the specified location and attributes. | write | `content.site.create` 12 connectors |
| `google_analytics_4.report_tasks.list` List report tasks | Lists all report tasks for a property. | read | `analytics.report.list` 37 connectors |
| `google_analytics_4.accounts.list` List accounts | Returns all accounts accessible by the caller. | read | `platform.tenant.list` 70 connectors |
| `google_analytics_4.report_tasks.create` Create report tasks | Initiates the creation of a report task. | write | `analytics.report.create` 27 connectors |
| `google_analytics_4.custom_metrics.archive` Archive custom metrics | Archives a CustomMetric on a property. | destructive | `analytics.metric_definition.delete` 9 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Google Analytics 4 actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   List accounts in Google Analytics 4 and tell me what stands out.
   calls `google_analytics_4.accounts.list`
2. Write write
   Create custom metrics in Google Analytics 4. Show me exactly what you will send before you save it.
   calls `google_analytics_4.custom_metrics.create`

Governance for Google Analytics 4

## Destructive actions wait for a yes.

31 Google Analytics 4 actions are destructive. The first 10:

- Archive custom metrics `google_analytics_4.custom_metrics.archive`
- Delete account access bindings `google_analytics_4.account_access_bindings.delete`
- Delete properties `google_analytics_4.properties.delete`
- Archive audiences `google_analytics_4.audiences.archive`
- Delete accounts `google_analytics_4.accounts.delete`
- Delete key events `google_analytics_4.key_events.delete`
- Delete data streams `google_analytics_4.data_streams.delete`
- Delete firebase links `google_analytics_4.firebase_links.delete`
- Delete google ads links `google_analytics_4.google_ads_links.delete`
- Delete conversion events `google_analytics_4.conversion_events.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do google_analytics_4.account_access_bindings.delete confirm_policy: **human**

Delete account access bindings?

**intent:** the user asked me to delete account access bindings

run suspended · waiting for a named person · key _google-analytics-4-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "google-analytics-4-agent",
  allowed_actions: ["google_analytics_4.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "google_analytics_4.custom_metrics.archive", approver: "lead@example.com" },
    { match: "google_analytics_4.account_access_bindings.delete", approver: "lead@example.com" },
    { match: "google_analytics_4.properties.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Google Analytics 4 only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Google Analytics 4 costs on actionlake.

Every Google Analytics 4 action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Google Analytics 4 refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 189 Google Analytics 4 actions
- 189 actions page each page of a long list is one call
- 83 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Google Analytics 4 action.

189 actions by area: the id your agent calls, what it does, and its effect.

**Admin 164**

- `google_analytics_4.account_access_bindings.batch_create` Batch create account access bindings write
- `google_analytics_4.account_access_bindings.batch_delete` Batch delete account access bindings destructive
- `google_analytics_4.account_access_bindings.batch_update` Batch update account access bindings write
- `google_analytics_4.account_access_bindings.create` Create account access bindings write
- `google_analytics_4.account_access_bindings.delete` Delete account access bindings destructive
- `google_analytics_4.account_access_bindings.get` Get account access bindings read
- `google_analytics_4.account_access_bindings.list` List account access bindings read
- `google_analytics_4.account_access_bindings.update` Update account access bindings write
- `google_analytics_4.account_summaries.list` List account summaries read
- `google_analytics_4.accounts.delete` Delete accounts destructive
- `google_analytics_4.accounts.get` Get accounts read
- `google_analytics_4.accounts.get_data_sharing_settings` Get data sharing settings read
- `google_analytics_4.accounts.list` List accounts read
- `google_analytics_4.accounts.provision_account_ticket` Provision account ticket write
- `google_analytics_4.accounts.run_access_report` Run access report read
- `google_analytics_4.accounts.search_change_history_events` Search change history events read
- `google_analytics_4.accounts.update` Update accounts write
- `google_analytics_4.adsense_links.create` Create adsense links write
- `google_analytics_4.adsense_links.delete` Delete adsense links destructive
- `google_analytics_4.adsense_links.get` Get adsense links read
- `google_analytics_4.adsense_links.list` List adsense links read
- `google_analytics_4.audiences.archive` Archive audiences destructive
- `google_analytics_4.audiences.create` Create audiences write
- `google_analytics_4.audiences.get` Get audiences read
- `google_analytics_4.audiences.list` List audiences read
- `google_analytics_4.audiences.update` Update audiences write
- `google_analytics_4.bigquery_links.create` Create bigquery links write
- `google_analytics_4.bigquery_links.delete` Delete bigquery links destructive
- `google_analytics_4.bigquery_links.get` Get bigquery links read
- `google_analytics_4.bigquery_links.list` List bigquery links read
- `google_analytics_4.bigquery_links.update` Update bigquery links write
- `google_analytics_4.calculated_metrics.create` Create calculated metrics write
- `google_analytics_4.calculated_metrics.delete` Delete calculated metrics destructive
- `google_analytics_4.calculated_metrics.get` Get calculated metrics read
- `google_analytics_4.calculated_metrics.list` List calculated metrics read
- `google_analytics_4.calculated_metrics.update` Update calculated metrics write
- `google_analytics_4.channel_groups.create` Create channel groups write
- `google_analytics_4.channel_groups.delete` Delete channel groups destructive
- `google_analytics_4.channel_groups.get` Get channel groups read
- `google_analytics_4.channel_groups.list` List channel groups read
- `google_analytics_4.channel_groups.update` Update channel groups write
- `google_analytics_4.conversion_events.create` Create conversion events write
- `google_analytics_4.conversion_events.delete` Delete conversion events destructive
- `google_analytics_4.conversion_events.get` Get conversion events read
- `google_analytics_4.conversion_events.list` List conversion events read
- `google_analytics_4.conversion_events.update` Update conversion events write
- `google_analytics_4.custom_dimensions.archive` Archive custom dimensions destructive
- `google_analytics_4.custom_dimensions.create` Create custom dimensions write
- `google_analytics_4.custom_dimensions.get` Get custom dimensions read
- `google_analytics_4.custom_dimensions.list` List custom dimensions read
- `google_analytics_4.custom_dimensions.update` Update custom dimensions write
- `google_analytics_4.custom_metrics.archive` Archive custom metrics destructive
- `google_analytics_4.custom_metrics.create` Create custom metrics write
- `google_analytics_4.custom_metrics.get` Get custom metrics read
- `google_analytics_4.custom_metrics.list` List custom metrics read
- `google_analytics_4.custom_metrics.update` Update custom metrics write
- `google_analytics_4.data_streams.create` Create data streams write
- `google_analytics_4.data_streams.delete` Delete data streams destructive
- `google_analytics_4.data_streams.get` Get data streams read
- `google_analytics_4.data_streams.get_data_redaction_settings` Get data redaction settings (data streams) read
- `google_analytics_4.data_streams.get_enhanced_measurement_settings` Get enhanced measurement settings (data streams) read
- `google_analytics_4.data_streams.get_global_site_tag` Get global site tag (data streams) read
- `google_analytics_4.data_streams.list` List data streams read
- `google_analytics_4.data_streams.update` Update data streams write
- `google_analytics_4.data_streams.update_data_redaction_settings` Update data redaction settings (data streams) write
- `google_analytics_4.data_streams.update_enhanced_measurement_settings` Update enhanced measurement settings (data streams) write
- `google_analytics_4.dv360_advertiser_link_proposals.approve` Approve dv360 advertiser link proposals write
- `google_analytics_4.dv360_advertiser_link_proposals.cancel` Cancel dv360 advertiser link proposals destructive
- `google_analytics_4.dv360_advertiser_link_proposals.create` Create dv360 advertiser link proposals write
- `google_analytics_4.dv360_advertiser_link_proposals.delete` Delete dv360 advertiser link proposals destructive
- `google_analytics_4.dv360_advertiser_link_proposals.get` Get dv360 advertiser link proposals read
- `google_analytics_4.dv360_advertiser_link_proposals.list` List dv360 advertiser link proposals read
- `google_analytics_4.dv360_advertiser_links.create` Create dv360 advertiser links write
- `google_analytics_4.dv360_advertiser_links.delete` Delete dv360 advertiser links destructive
- `google_analytics_4.dv360_advertiser_links.get` Get dv360 advertiser links read
- `google_analytics_4.dv360_advertiser_links.list` List dv360 advertiser links read
- `google_analytics_4.dv360_advertiser_links.update` Update dv360 advertiser links write
- `google_analytics_4.event_create_rules.create` Create event create rules write
- `google_analytics_4.event_create_rules.delete` Delete event create rules destructive
- `google_analytics_4.event_create_rules.get` Get event create rules read
- `google_analytics_4.event_create_rules.list` List event create rules read
- `google_analytics_4.event_create_rules.update` Update event create rules write
- `google_analytics_4.event_edit_rules.create` Create event edit rules write
- `google_analytics_4.event_edit_rules.delete` Delete event edit rules destructive
- `google_analytics_4.event_edit_rules.get` Get event edit rules read
- `google_analytics_4.event_edit_rules.list` List event edit rules read
- `google_analytics_4.event_edit_rules.reorder` Reorder event edit rules write
- `google_analytics_4.event_edit_rules.update` Update event edit rules write
- `google_analytics_4.expanded_data_sets.create` Create expanded data sets write
- `google_analytics_4.expanded_data_sets.delete` Delete expanded data sets destructive
- `google_analytics_4.expanded_data_sets.get` Get expanded data sets read
- `google_analytics_4.expanded_data_sets.list` List expanded data sets read
- `google_analytics_4.expanded_data_sets.update` Update expanded data sets write
- `google_analytics_4.firebase_links.create` Create firebase links write
- `google_analytics_4.firebase_links.delete` Delete firebase links destructive
- `google_analytics_4.firebase_links.list` List firebase links read
- `google_analytics_4.google_ads_links.create` Create google ads links write
- `google_analytics_4.google_ads_links.delete` Delete google ads links destructive
- `google_analytics_4.google_ads_links.list` List google ads links read
- `google_analytics_4.google_ads_links.update` Update google ads links write
- `google_analytics_4.key_events.create` Create key events write
- `google_analytics_4.key_events.delete` Delete key events destructive
- `google_analytics_4.key_events.get` Get key events read
- `google_analytics_4.key_events.list` List key events read
- `google_analytics_4.key_events.update` Update key events write
- `google_analytics_4.measurement_protocol_secrets.create` Create measurement protocol secrets write
- `google_analytics_4.measurement_protocol_secrets.delete` Delete measurement protocol secrets destructive
- `google_analytics_4.measurement_protocol_secrets.get` Get measurement protocol secrets read
- `google_analytics_4.measurement_protocol_secrets.list` List measurement protocol secrets read
- `google_analytics_4.measurement_protocol_secrets.update` Update measurement protocol secrets write
- `google_analytics_4.properties.acknowledge_user_data_collection` Acknowledge user data collection write
- `google_analytics_4.properties.create` Create properties write
- `google_analytics_4.properties.create_rollup_property` Create rollup property write
- `google_analytics_4.properties.delete` Delete properties destructive
- `google_analytics_4.properties.get` Get properties read
- `google_analytics_4.properties.get_attribution_settings` Get attribution settings read
- `google_analytics_4.properties.get_data_retention_settings` Get data retention settings read
- `google_analytics_4.properties.get_google_signals_settings` Get google signals settings read
- `google_analytics_4.properties.get_reporting_identity_settings` Get reporting identity settings read
- `google_analytics_4.properties.get_user_provided_data_settings` Get user provided data settings read
- `google_analytics_4.properties.list` List properties read
- `google_analytics_4.properties.provision_subproperty` Provision subproperty write
- `google_analytics_4.properties.run_access_report` Run access report read
- `google_analytics_4.properties.submit_user_deletion` Submit user deletion destructive
- `google_analytics_4.properties.update` Update properties write
- `google_analytics_4.properties.update_attribution_settings` Update attribution settings write
- `google_analytics_4.properties.update_data_retention_settings` Update data retention settings write
- `google_analytics_4.properties.update_google_signals_settings` Update google signals settings write
- `google_analytics_4.properties.update_reporting_identity_settings` Update reporting identity settings write
- `google_analytics_4.property_access_bindings.batch_create` Batch create property access bindings write
- `google_analytics_4.property_access_bindings.batch_delete` Batch delete property access bindings destructive
- `google_analytics_4.property_access_bindings.batch_update` Batch update property access bindings write
- `google_analytics_4.property_access_bindings.create` Create property access bindings write
- `google_analytics_4.property_access_bindings.delete` Delete property access bindings destructive
- `google_analytics_4.property_access_bindings.get` Get property access bindings read
- `google_analytics_4.property_access_bindings.list` List property access bindings read
- `google_analytics_4.property_access_bindings.update` Update property access bindings write
- `google_analytics_4.reporting_data_annotations.create` Create reporting data annotations write
- `google_analytics_4.reporting_data_annotations.delete` Delete reporting data annotations destructive
- `google_analytics_4.reporting_data_annotations.get` Get reporting data annotations read
- `google_analytics_4.reporting_data_annotations.list` List reporting data annotations read
- `google_analytics_4.reporting_data_annotations.update` Update reporting data annotations write
- `google_analytics_4.rollup_property_source_links.create` Create rollup property source links write
- `google_analytics_4.rollup_property_source_links.delete` Delete rollup property source links destructive
- `google_analytics_4.rollup_property_source_links.get` Get rollup property source links read
- `google_analytics_4.rollup_property_source_links.list` List rollup property source links read
- `google_analytics_4.search_ads_360_links.create` Create search ads 360 links write
- `google_analytics_4.search_ads_360_links.delete` Delete search ads 360 links destructive
- `google_analytics_4.search_ads_360_links.get` Get search ads 360 links read
- `google_analytics_4.search_ads_360_links.list` List search ads 360 links read
- `google_analytics_4.search_ads_360_links.update` Update search ads 360 links write
- `google_analytics_4.skadnetwork_conversion_value_schemas.create` Create skadnetwork conversion value schemas write
- `google_analytics_4.skadnetwork_conversion_value_schemas.delete` Delete skadnetwork conversion value schemas destructive
- `google_analytics_4.skadnetwork_conversion_value_schemas.get` Get skadnetwork conversion value schemas read
- `google_analytics_4.skadnetwork_conversion_value_schemas.list` List skadnetwork conversion value schemas read
- `google_analytics_4.skadnetwork_conversion_value_schemas.update` Update skadnetwork conversion value schemas write
- `google_analytics_4.subproperty_event_filters.create` Create subproperty event filters write
- `google_analytics_4.subproperty_event_filters.delete` Delete subproperty event filters destructive
- `google_analytics_4.subproperty_event_filters.get` Get subproperty event filters read
- `google_analytics_4.subproperty_event_filters.list` List subproperty event filters read
- `google_analytics_4.subproperty_event_filters.update` Update subproperty event filters write
- `google_analytics_4.subproperty_sync_configs.get` Get subproperty sync configs read
- `google_analytics_4.subproperty_sync_configs.list` List subproperty sync configs read
- `google_analytics_4.subproperty_sync_configs.update` Update subproperty sync configs write

**Data 25**

- `google_analytics_4.audience_exports.create` Create audience exports write
- `google_analytics_4.audience_exports.get` Get audience exports read
- `google_analytics_4.audience_exports.list` List audience exports read
- `google_analytics_4.audience_exports.query` Query audience exports read
- `google_analytics_4.audience_lists.create` Create audience lists write
- `google_analytics_4.audience_lists.get` Get audience lists read
- `google_analytics_4.audience_lists.list` List audience lists read
- `google_analytics_4.audience_lists.query` Query audience lists read
- `google_analytics_4.data.batch_run_pivot_reports` Batch run pivot reports read
- `google_analytics_4.data.batch_run_reports` Batch run reports read
- `google_analytics_4.data.chat` Chat read
- `google_analytics_4.data.check_compatibility` Check compatibility read
- `google_analytics_4.data.get_metadata` Get metadata read
- `google_analytics_4.data.get_property_quotas_snapshot` Get property quotas snapshot read
- `google_analytics_4.data.run_funnel_report` Run funnel report read
- `google_analytics_4.data.run_pivot_report` Run pivot report read
- `google_analytics_4.data.run_realtime_report` Run realtime report read
- `google_analytics_4.data.run_report` Run report read
- `google_analytics_4.recurring_audience_lists.create` Create recurring audience lists write
- `google_analytics_4.recurring_audience_lists.get` Get recurring audience lists read
- `google_analytics_4.recurring_audience_lists.list` List recurring audience lists read
- `google_analytics_4.report_tasks.create` Create report tasks write
- `google_analytics_4.report_tasks.get` Get report tasks read
- `google_analytics_4.report_tasks.list` List report tasks read
- `google_analytics_4.report_tasks.query` Query report tasks read

Questions

## The Google Analytics 4 MCP server, answered.

**Is there a Google Analytics 4 MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 189 Google Analytics 4 actions across admin and data, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Google Analytics 4.

**What do I need to connect Google Analytics 4?**

Your own Google Analytics 4 OAuth app, registered with Google Analytics 4 (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no Google Analytics 4 app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. The free call account { op: "connections.requirements", service: "google_analytics_4" } lists exactly what to paste.

**Can an AI agent delete or change things in Google Analytics 4?**

Only if its key allows it, and only with an explicit confirmation. 31 Google Analytics 4 actions are destructive, including archive custom metrics, delete account access bindings and delete properties. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Google Analytics 4 API limit?**

actionlake paces every call to the limits in the Google Analytics 4 service file: 600 calls a minute per connection. Repeated reads are answered from cache (83 Google Analytics 4 actions can be), which never reaches Google Analytics 4.

**What does a Google Analytics 4 action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (189 Google Analytics 4 actions page). Cache hits, searches, dry runs and calls Google Analytics 4 refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Google Analytics 4 API does it cover?**

The Data API v1beta + v1alpha, Admin API v1beta + v1alpha at analyticsadmin.googleapis.com. It is built from Google Analytics 4's documentation as read on 22 October 2026. 189 actions in 2 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Google Analytics 4 data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Google Analytics 4 credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Google Analytics 4

Shares the most action names with

- [Google Search Console 4](https://actionlake.com/connectors/google-search-console)
- [Zoom 4](https://actionlake.com/connectors/zoom)
- [Google Ads 3](https://actionlake.com/connectors/google-ads)
- [BrightLocal 3](https://actionlake.com/connectors/brightlocal)
- [Yext 3](https://actionlake.com/connectors/yext)
- [beehiiv 2](https://actionlake.com/connectors/beehiiv)

Joins with, on shared entities

- [CIPP 2](https://actionlake.com/connectors/cipp)
- [Boomi Enterprise Platform 2](https://actionlake.com/connectors/boomi-enterprise-platform)
- [Microsoft Advertising 2](https://actionlake.com/connectors/microsoft-advertising)
- [Microsoft Power BI 2](https://actionlake.com/connectors/microsoft-power-bi)
- [Snapchat Marketing API 2](https://actionlake.com/connectors/snapchat-marketing-api)
- [Pinterest 2](https://actionlake.com/connectors/pinterest)

Browse

- [All Marketing & media connectors](https://actionlake.com/connectors/category/marketing-and-media)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Google Analytics 4; the name is the vendor's own. Counts are from the Google Analytics 4 service file, version 1.0.0.

## Give your agent Google Analytics 4 today.

[Connect Google Analytics 4 free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/google-analytics-4
More: https://actionlake.com/llms.txt
