Google Analytics · Schema
RunReportRequest
The request to generate a report.
AnalyticsDataGoogleMetricsReportingWeb AnalyticsMachine LearningAttribution
Properties
| Name | Type | Description |
|---|---|---|
| cohortSpec | object | Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension must be present. |
| currencyCode | string | A currency code in ISO4217 format, such as "AED", "USD", "JPY". If the field is empty, the report uses the property's default currency. |
| dateRanges | array | Date ranges of data to read. If multiple date ranges are requested, each response row will contain a zero based date range index. If two date ranges overlap, the event data for the overlapping days is |
| dimensionFilter | object | Dimension filters let you ask for only specific dimension values in the report. To learn more, see [Fundamentals of Dimension Filters](https://developers.google.com/analytics/devguides/reporting/data/ |
| dimensions | array | The dimensions requested and displayed. |
| keepEmptyRows | boolean | If false or unspecified, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter. Regardless of this `keep_empty_ |
| limit | string | The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 250,000 rows per request, no matter how many you ask for. `limit` must be positive. The API can als |
| metricAggregations | array | Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to "RESERVED_(MetricAggregation)". |
| metricFilter | object | The filter clause of metrics. Applied after aggregating the report's rows, similar to SQL having-clause. Dimensions cannot be used in this filter. |
| metrics | array | The metrics requested and displayed. |
| offset | string | The row count of the start row. The first row is counted as row 0. When paging, the first request does not specify offset; or equivalently, sets offset to 0; the first request returns the first `limit |
| orderBys | array | Specifies how rows are ordered in the response. |
| property | string | A Google Analytics GA4 property identifier whose events are tracked. Specified in the URL path and not the body. To learn more, see [where to find your Property ID](https://developers.google.com/analy |
| returnPropertyQuota | boolean | Toggles whether to return the current state of this Analytics Property's quota. Quota is returned in [PropertyQuota](#PropertyQuota). |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/RunReportRequest",
"title": "RunReportRequest",
"description": "The request to generate a report.",
"properties": {
"cohortSpec": {
"$ref": "#/components/schemas/CohortSpec",
"description": "Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension must be present."
},
"currencyCode": {
"description": "A currency code in ISO4217 format, such as \"AED\", \"USD\", \"JPY\". If the field is empty, the report uses the property's default currency.",
"type": "string"
},
"dateRanges": {
"description": "Date ranges of data to read. If multiple date ranges are requested, each response row will contain a zero based date range index. If two date ranges overlap, the event data for the overlapping days is included in the response rows for both date ranges. In a cohort request, this `dateRanges` must be unspecified.",
"items": {
"$ref": "#/components/schemas/DateRange"
},
"type": "array"
},
"dimensionFilter": {
"$ref": "#/components/schemas/FilterExpression",
"description": "Dimension filters let you ask for only specific dimension values in the report. To learn more, see [Fundamentals of Dimension Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) for examples. Metrics cannot be used in this filter."
},
"dimensions": {
"description": "The dimensions requested and displayed.",
"items": {
"$ref": "#/components/schemas/Dimension"
},
"type": "array"
},
"keepEmptyRows": {
"description": "If false or unspecified, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter. Regardless of this `keep_empty_rows` setting, only data recorded by the Google Analytics (GA4) property can be displayed in a report. For example if a property never logs a `purchase` event, then a query for the `eventName` dimension and `eventCount` metric will not have a row eventName: \"purchase\" and eventCount: 0.",
"type": "boolean"
},
"limit": {
"description": "The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 250,000 rows per request, no matter how many you ask for. `limit` must be positive. The API can also return fewer rows than the requested `limit`, if there aren't as many dimension values as the `limit`. For instance, there are fewer than 300 possible values for the dimension `country`, so when reporting on only `country`, you can't get more than 300 rows, even if you set `limit` to a higher value. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).",
"format": "int64",
"type": "string"
},
"metricAggregations": {
"description": "Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to \"RESERVED_(MetricAggregation)\".",
"items": {
"enum": [
"METRIC_AGGREGATION_UNSPECIFIED",
"TOTAL",
"MINIMUM",
"MAXIMUM",
"COUNT"
],
"type": "string"
},
"type": "array"
},
"metricFilter": {
"$ref": "#/components/schemas/FilterExpression",
"description": "The filter clause of metrics. Applied after aggregating the report's rows, similar to SQL having-clause. Dimensions cannot be used in this filter."
},
"metrics": {
"description": "The metrics requested and displayed.",
"items": {
"$ref": "#/components/schemas/Metric"
},
"type": "array"
},
"offset": {
"description": "The row count of the start row. The first row is counted as row 0. When paging, the first request does not specify offset; or equivalently, sets offset to 0; the first request returns the first `limit` of rows. The second request sets offset to the `limit` of the first request; the second request returns the second `limit` of rows. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).",
"format": "int64",
"type": "string"
},
"orderBys": {
"description": "Specifies how rows are ordered in the response.",
"items": {
"$ref": "#/components/schemas/OrderBy"
},
"type": "array"
},
"property": {
"description": "A Google Analytics GA4 property identifier whose events are tracked. Specified in the URL path and not the body. To learn more, see [where to find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch request, this property should either be unspecified or consistent with the batch-level property. Example: properties/1234",
"type": "string"
},
"returnPropertyQuota": {
"description": "Toggles whether to return the current state of this Analytics Property's quota. Quota is returned in [PropertyQuota](#PropertyQuota).",
"type": "boolean"
}
},
"type": "object"
}