Returns a customized report of your Google Analytics event data. Reports contain statistics derived from data collected by the Google Analytics tracking code. The data returned from the API is as a table with columns for the requested dimensions and metrics. Metrics are individual measurements of user activity on your property, such as active users or event count. Dimensions break down metrics across some common criteria, such as country or event name.
For a guide to constructing requests & understanding responses, see Creating a Report.
HTTP request
POST https://analyticsdata.googleapis.com/v1beta/{property=properties/*}:runReport
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters | |
---|---|
property |
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. Within a batch request, this property should either be unspecified or consistent with the batch-level property. Example: properties/1234 |
Request body
The request body contains data with the following structure:
JSON representation |
---|
{ "dimensions": [ { object ( |
Fields | |
---|---|
dimensions[] |
The dimensions requested and displayed. |
metrics[] |
The metrics requested and displayed. |
dateRanges[] |
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 |
dimensionFilter |
Dimension filters let you ask for only specific dimension values in the report. To learn more, see Fundamentals of Dimension Filters for examples. Metrics cannot be used in this filter. |
metricFilter |
The filter clause of metrics. Applied after aggregating the report's rows, similar to SQL having-clause. Dimensions cannot be used in this filter. |
offset |
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 To learn more about this pagination parameter, see Pagination. |
limit |
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. The API can also return fewer rows than the requested To learn more about this pagination parameter, see Pagination. |
metricAggregations[] |
Aggregation of metrics. Aggregated metric values will be shown in rows where the dimensionValues are set to "RESERVED_(MetricAggregation)". |
orderBys[] |
Specifies how rows are ordered in the response. |
currencyCode |
A currency code in ISO4217 format, such as "AED", "USD", "JPY". If the field is empty, the report uses the property's default currency. |
cohortSpec |
Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension must be present. |
keepEmptyRows |
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 For example if a property never logs a |
returnPropertyQuota |
Toggles whether to return the current state of this Analytics Property's quota. Quota is returned in PropertyQuota. |
comparisons[] |
Optional. The configuration of comparisons requested and displayed. The request only requires a comparisons field in order to receive a comparison column in the response. |
Response body
If successful, the response body contains an instance of RunReportResponse
.
Authorization scopes
Requires one of the following OAuth scopes:
https://www.googleapis.com/auth/analytics.readonly
https://www.googleapis.com/auth/analytics