canonical: https://jentic.com/apis/googleapis.com/analyticsadmin

# Google Analytics Admin API

The Google Analytics Admin API is the configuration surface for GA4 properties. It manages accounts, properties, data streams (web, iOS, Android), conversion events, custom dimensions and metrics, and the user access bindings on those resources. It also exposes provisioning of new accounts via account tickets, change history search, and access reports for compliance review. It is the management plane for GA4; reporting goes through the Google Analytics Data API.

## For AI agents

Configure GA4 - accounts, properties, data streams, conversion events, custom dimensions, and user access - across 28 management endpoints.

## Scope

Does not run analytics reports, send measurement events, or manage Universal Analytics - use for GA4 configuration and access management only.

## Capabilities

- List GA4 accounts and properties accessible to the calling user or service account
- Create a new GA4 property under an existing account or via an account ticket flow
- Configure web, iOS, and Android data streams attached to a GA4 property
- Define custom dimensions and custom metrics on a GA4 property
- Mark events as conversions in GA4 by creating conversion event resources
- Search the change history of a GA4 account to audit configuration changes
- Run an access report to review who interacted with which GA4 properties

## Use cases

### Programmatic GA4 Property Bootstrapping

Agencies and platform teams that launch GA4 for many brands or environments need to spin up properties and data streams from a script rather than clicking through the GA4 admin UI. The Admin API creates the property, attaches web/iOS/Android data streams, registers custom dimensions and metrics, and marks conversions in one repeatable run, so every new tenant gets the same baseline configuration.

Example prompt: POST /v1beta/properties with the new property body, then POST /v1beta/{+parent}/dataStreams for each platform, then POST /v1beta/{+parent}/customDimensions and /v1beta/{+parent}/conversionEvents to lock in the standard config.

### Configuration Drift Audit

Analytics governance teams want to detect when someone changes a GA4 property's measurement protocol secret, a custom dimension definition, or who has Editor access. searchChangeHistoryEvents returns a stream of mutations on an account with actor, change type, and resource. A scheduled job stores diffs to a warehouse for review.

Example prompt: POST /v1beta/{+account}:searchChangeHistoryEvents with a 30-day window and write each ChangeHistoryEvent into a warehouse table for compliance review.

### Access Review and Compliance Reporting

Compliance teams need to demonstrate who has access to which GA4 properties and who has actually used them. runAccessReport returns who accessed a property, when, and what they did, so compliance can produce quarterly attestations without combing the audit logs manually.

Example prompt: POST /v1beta/{+entity}:runAccessReport with the property as entity and the desired dateRanges to return users, times, and actions, then write the rows to a compliance dashboard.

### Agent-Built GA4 Setup

An agent integrating the Admin API through Jentic can take a description of a desired GA4 setup and execute the create-property, create-stream, define-dimension, mark-conversion sequence as discrete tool calls. Jentic isolates the OAuth credential and exposes each operation's input schema, so the agent constructs valid request bodies without learning the GA4 admin reference end to end.

Example prompt: Use the Jentic search query 'create a GA4 property' to discover /v1beta/properties, then chain dataStreams, customDimensions, and conversionEvents creates to bootstrap the new property.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /v1beta/accountSummaries | List the GA4 account, property, and data stream tree |
| GET | /v1beta/accounts | List GA4 accounts the caller can access |
| POST | /v1beta/accounts:provisionAccountTicket | Provision an account ticket for a new GA4 account |
| POST | /v1beta/properties | Create a new GA4 property |
| POST | /v1beta/{+account}:searchChangeHistoryEvents | Search the change history of a GA4 account |
| POST | /v1beta/{+entity}:runAccessReport | Run an access report on a GA4 property |
| POST | /v1beta/{+name}:archive | Archive a GA4 property |

## Key resources

- **Accounts** — GA4 account resources and account summaries
- **Properties** — GA4 properties - create, update, archive
- **Data Streams** — Web, iOS, and Android data streams attached to a property
- **Custom Dimensions / Custom Metrics** — Per-property custom dimension and metric definitions
- **Conversion Events** — Events marked as conversions in GA4
- **Change History** — Audit log of configuration changes on an account
- **Access Bindings** — User permissions on GA4 accounts and properties

## Why Jentic

- **Setup:** Wiring the Google Analytics Admin API by hand means configuring Google OAuth 2.0 with analytics.edit or analytics.readonly scopes, minting short-lived access tokens, and pointing GA4 configuration calls at the analyticsadmin.googleapis.com host. Through Jentic you install once, import the Google Analytics Admin API from the API Directory, store the OAuth credential once, and your agent calls it.
- **Permission scoping:** Analytics Admin puts the account and entity resources in the URL path (/v1beta/{+account}:searchChangeHistoryEvents, /v1beta/{+entity}:runAccessReport), so a rule can pin your agent to one account: it can search change history and run access reports there and nothing else. You choose the operations it may call, so writes like creating properties or archiving resources are not included unless you add them.
- **Credential handling:** Your Google OAuth credential is stored once, encrypted, by your own Jentic One instance and exchanged for short-lived access tokens at execution time. The client secret and refresh token never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a GA4 property' or 'mark an event as a conversion', and Jentic returns the matching Analytics Admin operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Google Analytics Data API** — Admin configures GA4 properties; Data queries reports against them.
- **Google Analytics API v3** — v3 manages legacy Universal Analytics configuration; Admin manages GA4.
- **Google Tag Manager API** — Tag Manager configures the GTM containers that send hits to GA4 data streams.

## FAQ

### What authentication does the Google Analytics Admin API use?

OAuth 2.0 with analytics.edit, analytics.manage.users, or analytics.readonly scopes depending on the operation. Jentic stores the OAuth refresh token in your Jentic One instance and minted access tokens never enter agent context.

### Can I create a GA4 property entirely through the API?

Yes. POST /v1beta/properties with parent set to the account and the new property body, then POST /v1beta/{+parent}/dataStreams to attach a web, iOS, or Android data stream. New top-level GA4 accounts go through provisionAccountTicket because they require terms acceptance in the UI.

### What are the rate limits for the Admin API?

Admin enforces per-project quotas under the Google Analytics Admin API in IAM and Admin, Quotas. Reads are generous; writes (create, update, archive) are limited per property per day. Configuration write quotas are visible per property in the Admin UI.

### How do I bootstrap a new GA4 property through Jentic?

Search Jentic for 'create a GA4 property', load the schema for /v1beta/properties, and execute it with the parent account and the property body. Run pip install jentic and use the async search, load, execute pattern, then chain dataStreams and customDimensions creates.

### Does the Admin API return GA4 reporting data?

No. Admin is configuration only. To run reports on a GA4 property, use the Google Analytics Data API (analyticsdata) - runReport, batchRunReports, runRealtimeReport, and runPivotReport.

### Can I limit what my agent is allowed to do with the Google Analytics Admin API?

Yes. Because Jentic One is self-hosted, your own rules decide which Analytics Admin operations and credentials the agent may use. Since this API carries the account and entity in the URL path, such as /v1beta/{+account}:searchChangeHistoryEvents and /v1beta/{+entity}:runAccessReport, you can pin the agent to a single GA4 account and allow only read-style calls like searching change history and running access reports. Write operations such as creating properties, adding data streams, or archiving resources stay excluded until you explicitly grant them.
