# Google Analytics 4 (GA4) AI connector guide

Connect Google Analytics 4 (GA4) data to AI agents with Combined. Explore website overview, daily active users, traffic sources, source setup, MCP access and read-only business queries.

Combined offers 1,125 connectors across catalog sources and connectors generated through desktop automation.

## Connect

1. Open Combined Connected Apps and select Google Analytics 4 (GA4).
2. Authorize the source and choose the relevant datasets.
3. Complete a first sync, then grant your agent access through the Set up or Access workspace.
4. Discover the actual source schemas before querying.

## Setup reference

- Convert `conversions:*` Metrics to Float: optional
- Credentials: optional; Authenticate via Google (Oauth) or Service Account Key Authentication
- Access Token: depends on the selected authentication/setup option
- Client ID: depends on the selected authentication/setup option
- Client Secret: depends on the selected authentication/setup option
- Refresh Token: depends on the selected authentication/setup option
- Service Account JSON Key: depends on the selected authentication/setup option
- Custom Reports: optional
- Cohort Reports: depends on the selected authentication/setup option; Disabled or Enabled
- Cohort Report Settings: depends on the selected authentication/setup option
- Accumulate: depends on the selected authentication/setup option
- Cohorts: depends on the selected authentication/setup option
- Daterange: depends on the selected authentication/setup option
- End Date: depends on the selected authentication/setup option
- Start Date: depends on the selected authentication/setup option
- Dimension: depends on the selected authentication/setup option
- Name: depends on the selected authentication/setup option
- Cohortsrange: depends on the selected authentication/setup option
- End Offset: depends on the selected authentication/setup option
- Granularity: depends on the selected authentication/setup option
- Start Offset: depends on the selected authentication/setup option
- Dimensions filter: depends on the selected authentication/setup option; andGroup or orGroup or notExpression or filter
- Expressions: depends on the selected authentication/setup option
- fieldName: depends on the selected authentication/setup option
- filter: depends on the selected authentication/setup option; stringFilter or inListFilter or numericFilter or betweenFilter
- Casesensitive: depends on the selected authentication/setup option
- matchType: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Casesensitive: depends on the selected authentication/setup option
- Values: depends on the selected authentication/setup option
- operation: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Fromvalue: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Tovalue: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Expressions: depends on the selected authentication/setup option
- fieldName: depends on the selected authentication/setup option
- filter: depends on the selected authentication/setup option; stringFilter or inListFilter or numericFilter or betweenFilter
- Casesensitive: depends on the selected authentication/setup option
- matchType: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Casesensitive: depends on the selected authentication/setup option
- Values: depends on the selected authentication/setup option
- operation: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Fromvalue: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Tovalue: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Expression: depends on the selected authentication/setup option
- fieldName: depends on the selected authentication/setup option
- filter: depends on the selected authentication/setup option; stringFilter or inListFilter or numericFilter or betweenFilter
- Casesensitive: depends on the selected authentication/setup option
- matchType: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Casesensitive: depends on the selected authentication/setup option
- Values: depends on the selected authentication/setup option
- operation: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Fromvalue: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Tovalue: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- fieldName: depends on the selected authentication/setup option
- filter: depends on the selected authentication/setup option; stringFilter or inListFilter or numericFilter or betweenFilter
- Casesensitive: depends on the selected authentication/setup option
- matchType: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Casesensitive: depends on the selected authentication/setup option
- Values: depends on the selected authentication/setup option
- operation: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Fromvalue: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Tovalue: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Dimensions: depends on the selected authentication/setup option
- Metrics filter: depends on the selected authentication/setup option; andGroup or orGroup or notExpression or filter
- Expressions: depends on the selected authentication/setup option
- fieldName: depends on the selected authentication/setup option
- filter: depends on the selected authentication/setup option; stringFilter or inListFilter or numericFilter or betweenFilter
- Casesensitive: depends on the selected authentication/setup option
- matchType: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Casesensitive: depends on the selected authentication/setup option
- Values: depends on the selected authentication/setup option
- operation: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Fromvalue: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Tovalue: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Expressions: depends on the selected authentication/setup option
- fieldName: depends on the selected authentication/setup option
- filter: depends on the selected authentication/setup option; stringFilter or inListFilter or numericFilter or betweenFilter
- Casesensitive: depends on the selected authentication/setup option
- matchType: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Casesensitive: depends on the selected authentication/setup option
- Values: depends on the selected authentication/setup option
- operation: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Fromvalue: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Tovalue: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Expression: depends on the selected authentication/setup option
- fieldName: depends on the selected authentication/setup option
- filter: depends on the selected authentication/setup option; stringFilter or inListFilter or numericFilter or betweenFilter
- Casesensitive: depends on the selected authentication/setup option
- matchType: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Casesensitive: depends on the selected authentication/setup option
- Values: depends on the selected authentication/setup option
- operation: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Fromvalue: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Tovalue: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- fieldName: depends on the selected authentication/setup option
- filter: depends on the selected authentication/setup option; stringFilter or inListFilter or numericFilter or betweenFilter
- Casesensitive: depends on the selected authentication/setup option
- matchType: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Casesensitive: depends on the selected authentication/setup option
- Values: depends on the selected authentication/setup option
- operation: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Fromvalue: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Tovalue: depends on the selected authentication/setup option; int64Value or doubleValue
- Value: depends on the selected authentication/setup option
- Value: depends on the selected authentication/setup option
- Metrics: depends on the selected authentication/setup option
- Name: depends on the selected authentication/setup option
- End Date: optional
- Start Date: optional
- Keep Empty Rows: optional
- Lookback window (Days): optional
- Property IDs: required in the upstream source schema
- Subscription Plan/Tier: optional
- Data Request Interval (Days): optional

## Dataset reference

- website_overview
- daily_active_users
- traffic_sources
- pages
- weekly_active_users
- devices
- locations
- four_weekly_active_users
- sessions
- property_metadata; key: property_id

This is the upstream connector reference, version 2.10.1. Account permissions and sync configuration determine the datasets available in your workspace.

## Agent prompt

Use Combined to analyze my Google Analytics 4 (GA4) data.
List my granted sources, discover the datasets and describe their fields.
Look for datasets corresponding to website_overview, daily_active_users, traffic_sources, pages, weekly_active_users, devices.
Check the last successful sync and report the available date coverage.
Propose three useful questions based on the fields actually available.
For the question I choose, run read-only SQL over the complete matching dataset.
Use a bounded result; include source names, time window and query receipt.
Ask for a missing join key or metric definition instead of inventing one.

## Links

- Combined: https://www.trycombined.com/
- Setup: https://www.trycombined.com/docs/getting-started/onboarding
- MCP: https://www.trycombined.com/docs/integrations/mcp
- Pricing: https://www.trycombined.com/pricing
- Upstream source reference: https://docs.airbyte.com/integrations/sources/google-analytics-data-api
- Full guide: https://www.trycombined.com/connectors/google-analytics-data-api
