docs/ai-agents/connectors/google-analytics-data-api/REFERENCE.md
This is the full reference documentation for the Google-Analytics-Data-Api agent connector.
The Google-Analytics-Data-Api connector supports the following entities and actions.
| Entity | Actions |
|---|---|
| Website Overview | List, Search |
| Daily Active Users | List, Search |
| Weekly Active Users | List, Search |
| Four Weekly Active Users | List, Search |
| Traffic Sources | List, Search |
| Pages | List, Search |
| Devices | List, Search |
| Locations | List, Search |
Returns website overview metrics including total users, new users, sessions, bounce rate, page views, and average session duration by date.
await google_analytics_data_api.website_overview.list(
property_id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "website_overview",
"action": "list",
"params": {
"property_id": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
dateRanges | array<object> | No | |
dateRanges.startDate | string | No | Start date in YYYY-MM-DD format or relative (e.g., 30daysAgo) |
dateRanges.endDate | string | No | End date in YYYY-MM-DD format or relative (e.g., today) |
dimensions | array<object> | No | |
dimensions.name | string | No | |
metrics | array<object> | No | |
metrics.name | string | No | |
keepEmptyRows | boolean | No | |
returnPropertyQuota | boolean | No | |
limit | integer | No | |
property_id | string | Yes | GA4 property ID |
| Field Name | Type | Description |
|---|---|---|
dimensionValues | array<object> | |
dimensionValues[].value | string | |
metricValues | array<object> | |
metricValues[].value | string |
Search and filter website overview records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
await google_analytics_data_api.website_overview.search(
query={"filter": {"eq": {"averageSessionDuration": 0.0}}}
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "website_overview",
"action": "search",
"params": {
"query": {"filter": {"eq": {"averageSessionDuration": 0.0}}}
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
query | object | Yes | Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or |
query.filter | object | No | Filter conditions |
query.sort | array | No | Sort conditions |
limit | integer | No | Maximum results to return (default 1000) |
cursor | string | No | Pagination cursor from previous response's meta.cursor |
fields | array | No | Field paths to include in results |
| Field Name | Type | Description |
|---|---|---|
averageSessionDuration | number | Average duration of sessions in seconds |
bounceRate | number | Percentage of sessions that were single-page with no interaction |
date | string | Date of the report row in YYYYMMDD format |
endDate | string | End date of the reporting period |
newUsers | integer | Number of first-time users |
property_id | string | GA4 property ID |
screenPageViews | integer | Total number of screen or page views |
screenPageViewsPerSession | number | Average page views per session |
sessions | integer | Total number of sessions |
sessionsPerUser | number | Average number of sessions per user |
startDate | string | Start date of the reporting period |
totalUsers | integer | Total number of unique users |
| Field Name | Type | Description |
|---|---|---|
data | array | List of matching records |
meta | object | Pagination metadata |
meta.has_more | boolean | Whether additional pages are available |
meta.cursor | string | null | Cursor for next page of results |
meta.took_ms | number | null | Query execution time in milliseconds |
data[].averageSessionDuration | number | Average duration of sessions in seconds |
data[].bounceRate | number | Percentage of sessions that were single-page with no interaction |
data[].date | string | Date of the report row in YYYYMMDD format |
data[].endDate | string | End date of the reporting period |
data[].newUsers | integer | Number of first-time users |
data[].property_id | string | GA4 property ID |
data[].screenPageViews | integer | Total number of screen or page views |
data[].screenPageViewsPerSession | number | Average page views per session |
data[].sessions | integer | Total number of sessions |
data[].sessionsPerUser | number | Average number of sessions per user |
data[].startDate | string | Start date of the reporting period |
data[].totalUsers | integer | Total number of unique users |
Returns daily active user counts (1-day active users) by date.
await google_analytics_data_api.daily_active_users.list(
property_id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "daily_active_users",
"action": "list",
"params": {
"property_id": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
dateRanges | array<object> | No | |
dateRanges.startDate | string | No | Start date in YYYY-MM-DD format or relative (e.g., 30daysAgo) |
dateRanges.endDate | string | No | End date in YYYY-MM-DD format or relative (e.g., today) |
dimensions | array<object> | No | |
dimensions.name | string | No | |
metrics | array<object> | No | |
metrics.name | string | No | |
keepEmptyRows | boolean | No | |
returnPropertyQuota | boolean | No | |
limit | integer | No | |
property_id | string | Yes | GA4 property ID |
| Field Name | Type | Description |
|---|---|---|
dimensionValues | array<object> | |
dimensionValues[].value | string | |
metricValues | array<object> | |
metricValues[].value | string |
Search and filter daily active users records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
await google_analytics_data_api.daily_active_users.search(
query={"filter": {"eq": {"active1DayUsers": 0}}}
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "daily_active_users",
"action": "search",
"params": {
"query": {"filter": {"eq": {"active1DayUsers": 0}}}
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
query | object | Yes | Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or |
query.filter | object | No | Filter conditions |
query.sort | array | No | Sort conditions |
limit | integer | No | Maximum results to return (default 1000) |
cursor | string | No | Pagination cursor from previous response's meta.cursor |
fields | array | No | Field paths to include in results |
| Field Name | Type | Description |
|---|---|---|
active1DayUsers | integer | Number of distinct users active in the last 1 day |
date | string | Date of the report row in YYYYMMDD format |
endDate | string | End date of the reporting period |
property_id | string | GA4 property ID |
startDate | string | Start date of the reporting period |
| Field Name | Type | Description |
|---|---|---|
data | array | List of matching records |
meta | object | Pagination metadata |
meta.has_more | boolean | Whether additional pages are available |
meta.cursor | string | null | Cursor for next page of results |
meta.took_ms | number | null | Query execution time in milliseconds |
data[].active1DayUsers | integer | Number of distinct users active in the last 1 day |
data[].date | string | Date of the report row in YYYYMMDD format |
data[].endDate | string | End date of the reporting period |
data[].property_id | string | GA4 property ID |
data[].startDate | string | Start date of the reporting period |
Returns weekly active user counts (7-day active users) by date.
await google_analytics_data_api.weekly_active_users.list(
property_id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "weekly_active_users",
"action": "list",
"params": {
"property_id": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
dateRanges | array<object> | No | |
dateRanges.startDate | string | No | Start date in YYYY-MM-DD format or relative (e.g., 30daysAgo) |
dateRanges.endDate | string | No | End date in YYYY-MM-DD format or relative (e.g., today) |
dimensions | array<object> | No | |
dimensions.name | string | No | |
metrics | array<object> | No | |
metrics.name | string | No | |
keepEmptyRows | boolean | No | |
returnPropertyQuota | boolean | No | |
limit | integer | No | |
property_id | string | Yes | GA4 property ID |
| Field Name | Type | Description |
|---|---|---|
dimensionValues | array<object> | |
dimensionValues[].value | string | |
metricValues | array<object> | |
metricValues[].value | string |
Search and filter weekly active users records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
await google_analytics_data_api.weekly_active_users.search(
query={"filter": {"eq": {"active7DayUsers": 0}}}
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "weekly_active_users",
"action": "search",
"params": {
"query": {"filter": {"eq": {"active7DayUsers": 0}}}
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
query | object | Yes | Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or |
query.filter | object | No | Filter conditions |
query.sort | array | No | Sort conditions |
limit | integer | No | Maximum results to return (default 1000) |
cursor | string | No | Pagination cursor from previous response's meta.cursor |
fields | array | No | Field paths to include in results |
| Field Name | Type | Description |
|---|---|---|
active7DayUsers | integer | Number of distinct users active in the last 7 days |
date | string | Date of the report row in YYYYMMDD format |
endDate | string | End date of the reporting period |
property_id | string | GA4 property ID |
startDate | string | Start date of the reporting period |
| Field Name | Type | Description |
|---|---|---|
data | array | List of matching records |
meta | object | Pagination metadata |
meta.has_more | boolean | Whether additional pages are available |
meta.cursor | string | null | Cursor for next page of results |
meta.took_ms | number | null | Query execution time in milliseconds |
data[].active7DayUsers | integer | Number of distinct users active in the last 7 days |
data[].date | string | Date of the report row in YYYYMMDD format |
data[].endDate | string | End date of the reporting period |
data[].property_id | string | GA4 property ID |
data[].startDate | string | Start date of the reporting period |
Returns 28-day active user counts by date.
await google_analytics_data_api.four_weekly_active_users.list(
property_id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "four_weekly_active_users",
"action": "list",
"params": {
"property_id": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
dateRanges | array<object> | No | |
dateRanges.startDate | string | No | Start date in YYYY-MM-DD format or relative (e.g., 30daysAgo) |
dateRanges.endDate | string | No | End date in YYYY-MM-DD format or relative (e.g., today) |
dimensions | array<object> | No | |
dimensions.name | string | No | |
metrics | array<object> | No | |
metrics.name | string | No | |
keepEmptyRows | boolean | No | |
returnPropertyQuota | boolean | No | |
limit | integer | No | |
property_id | string | Yes | GA4 property ID |
| Field Name | Type | Description |
|---|---|---|
dimensionValues | array<object> | |
dimensionValues[].value | string | |
metricValues | array<object> | |
metricValues[].value | string |
Search and filter four weekly active users records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
await google_analytics_data_api.four_weekly_active_users.search(
query={"filter": {"eq": {"active28DayUsers": 0}}}
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "four_weekly_active_users",
"action": "search",
"params": {
"query": {"filter": {"eq": {"active28DayUsers": 0}}}
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
query | object | Yes | Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or |
query.filter | object | No | Filter conditions |
query.sort | array | No | Sort conditions |
limit | integer | No | Maximum results to return (default 1000) |
cursor | string | No | Pagination cursor from previous response's meta.cursor |
fields | array | No | Field paths to include in results |
| Field Name | Type | Description |
|---|---|---|
active28DayUsers | integer | Number of distinct users active in the last 28 days |
date | string | Date of the report row in YYYYMMDD format |
endDate | string | End date of the reporting period |
property_id | string | GA4 property ID |
startDate | string | Start date of the reporting period |
| Field Name | Type | Description |
|---|---|---|
data | array | List of matching records |
meta | object | Pagination metadata |
meta.has_more | boolean | Whether additional pages are available |
meta.cursor | string | null | Cursor for next page of results |
meta.took_ms | number | null | Query execution time in milliseconds |
data[].active28DayUsers | integer | Number of distinct users active in the last 28 days |
data[].date | string | Date of the report row in YYYYMMDD format |
data[].endDate | string | End date of the reporting period |
data[].property_id | string | GA4 property ID |
data[].startDate | string | Start date of the reporting period |
Returns traffic source metrics broken down by session source, session medium, and date, including users, sessions, bounce rate, and page views.
await google_analytics_data_api.traffic_sources.list(
property_id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "traffic_sources",
"action": "list",
"params": {
"property_id": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
dateRanges | array<object> | No | |
dateRanges.startDate | string | No | Start date in YYYY-MM-DD format or relative (e.g., 30daysAgo) |
dateRanges.endDate | string | No | End date in YYYY-MM-DD format or relative (e.g., today) |
dimensions | array<object> | No | |
dimensions.name | string | No | |
metrics | array<object> | No | |
metrics.name | string | No | |
keepEmptyRows | boolean | No | |
returnPropertyQuota | boolean | No | |
limit | integer | No | |
property_id | string | Yes | GA4 property ID |
| Field Name | Type | Description |
|---|---|---|
dimensionValues | array<object> | |
dimensionValues[].value | string | |
metricValues | array<object> | |
metricValues[].value | string |
Search and filter traffic sources records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
await google_analytics_data_api.traffic_sources.search(
query={"filter": {"eq": {"averageSessionDuration": 0.0}}}
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "traffic_sources",
"action": "search",
"params": {
"query": {"filter": {"eq": {"averageSessionDuration": 0.0}}}
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
query | object | Yes | Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or |
query.filter | object | No | Filter conditions |
query.sort | array | No | Sort conditions |
limit | integer | No | Maximum results to return (default 1000) |
cursor | string | No | Pagination cursor from previous response's meta.cursor |
fields | array | No | Field paths to include in results |
| Field Name | Type | Description |
|---|---|---|
averageSessionDuration | number | Average duration of sessions in seconds |
bounceRate | number | Percentage of sessions that were single-page with no interaction |
date | string | Date of the report row in YYYYMMDD format |
endDate | string | End date of the reporting period |
newUsers | integer | Number of first-time users |
property_id | string | GA4 property ID |
screenPageViews | integer | Total number of screen or page views |
screenPageViewsPerSession | number | Average page views per session |
sessionMedium | string | The medium of the traffic source (e.g., organic, cpc, referral) |
sessionSource | string | The source of the traffic (e.g., google, direct) |
sessions | integer | Total number of sessions |
sessionsPerUser | number | Average number of sessions per user |
startDate | string | Start date of the reporting period |
totalUsers | integer | Total number of unique users |
| Field Name | Type | Description |
|---|---|---|
data | array | List of matching records |
meta | object | Pagination metadata |
meta.has_more | boolean | Whether additional pages are available |
meta.cursor | string | null | Cursor for next page of results |
meta.took_ms | number | null | Query execution time in milliseconds |
data[].averageSessionDuration | number | Average duration of sessions in seconds |
data[].bounceRate | number | Percentage of sessions that were single-page with no interaction |
data[].date | string | Date of the report row in YYYYMMDD format |
data[].endDate | string | End date of the reporting period |
data[].newUsers | integer | Number of first-time users |
data[].property_id | string | GA4 property ID |
data[].screenPageViews | integer | Total number of screen or page views |
data[].screenPageViewsPerSession | number | Average page views per session |
data[].sessionMedium | string | The medium of the traffic source (e.g., organic, cpc, referral) |
data[].sessionSource | string | The source of the traffic (e.g., google, direct) |
data[].sessions | integer | Total number of sessions |
data[].sessionsPerUser | number | Average number of sessions per user |
data[].startDate | string | Start date of the reporting period |
data[].totalUsers | integer | Total number of unique users |
Returns page-level metrics including page views and bounce rate, broken down by host name, page path, and date.
await google_analytics_data_api.pages.list(
property_id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pages",
"action": "list",
"params": {
"property_id": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
dateRanges | array<object> | No | |
dateRanges.startDate | string | No | Start date in YYYY-MM-DD format or relative (e.g., 30daysAgo) |
dateRanges.endDate | string | No | End date in YYYY-MM-DD format or relative (e.g., today) |
dimensions | array<object> | No | |
dimensions.name | string | No | |
metrics | array<object> | No | |
metrics.name | string | No | |
keepEmptyRows | boolean | No | |
returnPropertyQuota | boolean | No | |
limit | integer | No | |
property_id | string | Yes | GA4 property ID |
| Field Name | Type | Description |
|---|---|---|
dimensionValues | array<object> | |
dimensionValues[].value | string | |
metricValues | array<object> | |
metricValues[].value | string |
Search and filter pages records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
await google_analytics_data_api.pages.search(
query={"filter": {"eq": {"bounceRate": 0.0}}}
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pages",
"action": "search",
"params": {
"query": {"filter": {"eq": {"bounceRate": 0.0}}}
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
query | object | Yes | Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or |
query.filter | object | No | Filter conditions |
query.sort | array | No | Sort conditions |
limit | integer | No | Maximum results to return (default 1000) |
cursor | string | No | Pagination cursor from previous response's meta.cursor |
fields | array | No | Field paths to include in results |
| Field Name | Type | Description |
|---|---|---|
bounceRate | number | Percentage of sessions that were single-page with no interaction |
date | string | Date of the report row in YYYYMMDD format |
endDate | string | End date of the reporting period |
hostName | string | The hostname of the page |
pagePathPlusQueryString | string | The page path and query string |
property_id | string | GA4 property ID |
screenPageViews | integer | Total number of screen or page views |
startDate | string | Start date of the reporting period |
| Field Name | Type | Description |
|---|---|---|
data | array | List of matching records |
meta | object | Pagination metadata |
meta.has_more | boolean | Whether additional pages are available |
meta.cursor | string | null | Cursor for next page of results |
meta.took_ms | number | null | Query execution time in milliseconds |
data[].bounceRate | number | Percentage of sessions that were single-page with no interaction |
data[].date | string | Date of the report row in YYYYMMDD format |
data[].endDate | string | End date of the reporting period |
data[].hostName | string | The hostname of the page |
data[].pagePathPlusQueryString | string | The page path and query string |
data[].property_id | string | GA4 property ID |
data[].screenPageViews | integer | Total number of screen or page views |
data[].startDate | string | Start date of the reporting period |
Returns device-related metrics broken down by device category, operating system, browser, and date, including users, sessions, and page views.
await google_analytics_data_api.devices.list(
property_id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "devices",
"action": "list",
"params": {
"property_id": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
dateRanges | array<object> | No | |
dateRanges.startDate | string | No | Start date in YYYY-MM-DD format or relative (e.g., 30daysAgo) |
dateRanges.endDate | string | No | End date in YYYY-MM-DD format or relative (e.g., today) |
dimensions | array<object> | No | |
dimensions.name | string | No | |
metrics | array<object> | No | |
metrics.name | string | No | |
keepEmptyRows | boolean | No | |
returnPropertyQuota | boolean | No | |
limit | integer | No | |
property_id | string | Yes | GA4 property ID |
| Field Name | Type | Description |
|---|---|---|
dimensionValues | array<object> | |
dimensionValues[].value | string | |
metricValues | array<object> | |
metricValues[].value | string |
Search and filter devices records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
await google_analytics_data_api.devices.search(
query={"filter": {"eq": {"averageSessionDuration": 0.0}}}
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "devices",
"action": "search",
"params": {
"query": {"filter": {"eq": {"averageSessionDuration": 0.0}}}
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
query | object | Yes | Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or |
query.filter | object | No | Filter conditions |
query.sort | array | No | Sort conditions |
limit | integer | No | Maximum results to return (default 1000) |
cursor | string | No | Pagination cursor from previous response's meta.cursor |
fields | array | No | Field paths to include in results |
| Field Name | Type | Description |
|---|---|---|
averageSessionDuration | number | Average duration of sessions in seconds |
bounceRate | number | Percentage of sessions that were single-page with no interaction |
browser | string | The web browser used (e.g., Chrome, Safari, Firefox) |
date | string | Date of the report row in YYYYMMDD format |
deviceCategory | string | The device category (desktop, mobile, tablet) |
endDate | string | End date of the reporting period |
newUsers | integer | Number of first-time users |
operatingSystem | string | The operating system used (e.g., Windows, iOS, Android) |
property_id | string | GA4 property ID |
screenPageViews | integer | Total number of screen or page views |
screenPageViewsPerSession | number | Average page views per session |
sessions | integer | Total number of sessions |
sessionsPerUser | number | Average number of sessions per user |
startDate | string | Start date of the reporting period |
totalUsers | integer | Total number of unique users |
| Field Name | Type | Description |
|---|---|---|
data | array | List of matching records |
meta | object | Pagination metadata |
meta.has_more | boolean | Whether additional pages are available |
meta.cursor | string | null | Cursor for next page of results |
meta.took_ms | number | null | Query execution time in milliseconds |
data[].averageSessionDuration | number | Average duration of sessions in seconds |
data[].bounceRate | number | Percentage of sessions that were single-page with no interaction |
data[].browser | string | The web browser used (e.g., Chrome, Safari, Firefox) |
data[].date | string | Date of the report row in YYYYMMDD format |
data[].deviceCategory | string | The device category (desktop, mobile, tablet) |
data[].endDate | string | End date of the reporting period |
data[].newUsers | integer | Number of first-time users |
data[].operatingSystem | string | The operating system used (e.g., Windows, iOS, Android) |
data[].property_id | string | GA4 property ID |
data[].screenPageViews | integer | Total number of screen or page views |
data[].screenPageViewsPerSession | number | Average page views per session |
data[].sessions | integer | Total number of sessions |
data[].sessionsPerUser | number | Average number of sessions per user |
data[].startDate | string | Start date of the reporting period |
data[].totalUsers | integer | Total number of unique users |
Returns geographic metrics broken down by region, country, city, and date, including users, sessions, bounce rate, and page views.
await google_analytics_data_api.locations.list(
property_id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "locations",
"action": "list",
"params": {
"property_id": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
dateRanges | array<object> | No | |
dateRanges.startDate | string | No | Start date in YYYY-MM-DD format or relative (e.g., 30daysAgo) |
dateRanges.endDate | string | No | End date in YYYY-MM-DD format or relative (e.g., today) |
dimensions | array<object> | No | |
dimensions.name | string | No | |
metrics | array<object> | No | |
metrics.name | string | No | |
keepEmptyRows | boolean | No | |
returnPropertyQuota | boolean | No | |
limit | integer | No | |
property_id | string | Yes | GA4 property ID |
| Field Name | Type | Description |
|---|---|---|
dimensionValues | array<object> | |
dimensionValues[].value | string | |
metricValues | array<object> | |
metricValues[].value | string |
Search and filter locations records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
await google_analytics_data_api.locations.search(
query={"filter": {"eq": {"averageSessionDuration": 0.0}}}
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "locations",
"action": "search",
"params": {
"query": {"filter": {"eq": {"averageSessionDuration": 0.0}}}
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
query | object | Yes | Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or |
query.filter | object | No | Filter conditions |
query.sort | array | No | Sort conditions |
limit | integer | No | Maximum results to return (default 1000) |
cursor | string | No | Pagination cursor from previous response's meta.cursor |
fields | array | No | Field paths to include in results |
| Field Name | Type | Description |
|---|---|---|
averageSessionDuration | number | Average duration of sessions in seconds |
bounceRate | number | Percentage of sessions that were single-page with no interaction |
city | string | The city of the user |
country | string | The country of the user |
date | string | Date of the report row in YYYYMMDD format |
endDate | string | End date of the reporting period |
newUsers | integer | Number of first-time users |
property_id | string | GA4 property ID |
region | string | The region (state/province) of the user |
screenPageViews | integer | Total number of screen or page views |
screenPageViewsPerSession | number | Average page views per session |
sessions | integer | Total number of sessions |
sessionsPerUser | number | Average number of sessions per user |
startDate | string | Start date of the reporting period |
totalUsers | integer | Total number of unique users |
| Field Name | Type | Description |
|---|---|---|
data | array | List of matching records |
meta | object | Pagination metadata |
meta.has_more | boolean | Whether additional pages are available |
meta.cursor | string | null | Cursor for next page of results |
meta.took_ms | number | null | Query execution time in milliseconds |
data[].averageSessionDuration | number | Average duration of sessions in seconds |
data[].bounceRate | number | Percentage of sessions that were single-page with no interaction |
data[].city | string | The city of the user |
data[].country | string | The country of the user |
data[].date | string | Date of the report row in YYYYMMDD format |
data[].endDate | string | End date of the reporting period |
data[].newUsers | integer | Number of first-time users |
data[].property_id | string | GA4 property ID |
data[].region | string | The region (state/province) of the user |
data[].screenPageViews | integer | Total number of screen or page views |
data[].screenPageViewsPerSession | number | Average page views per session |
data[].sessions | integer | Total number of sessions |
data[].sessionsPerUser | number | Average number of sessions per user |
data[].startDate | string | Start date of the reporting period |
data[].totalUsers | integer | Total number of unique users |