{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/RunPivotReportRequest", "title": "RunPivotReportRequest", "description": "The request to generate a pivot 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": "The date range to retrieve event data for the report. If multiple date ranges are specified, event data from each date range is used in the report. A special dimension with field name \"dateRange\" can be included in a Pivot's field names; if included, the report compares between date ranges. In a cohort request, this `dateRanges` must be unspecified.", "items": { "$ref": "#/components/schemas/DateRange" }, "type": "array" }, "dimensionFilter": { "$ref": "#/components/schemas/FilterExpression", "description": "The filter clause of dimensions. Dimensions must be requested to be used in this filter. Metrics cannot be used in this filter." }, "dimensions": { "description": "The dimensions requested. All defined dimensions must be used by one of the following: dimension_expression, dimension_filter, pivots, order_bys.", "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" }, "metricFilter": { "$ref": "#/components/schemas/FilterExpression", "description": "The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Metrics must be requested to be used in this filter. Dimensions cannot be used in this filter." }, "metrics": { "description": "The metrics requested, at least one metric needs to be specified. All defined metrics must be used by one of the following: metric_expression, metric_filter, order_bys.", "items": { "$ref": "#/components/schemas/Metric" }, "type": "array" }, "pivots": { "description": "Describes the visual format of the report's dimensions in columns or rows. The union of the fieldNames (dimension names) in all pivots must be a subset of dimension names defined in Dimensions. No two pivots can share a dimension. A dimension is only visible if it appears in a pivot.", "items": { "$ref": "#/components/schemas/Pivot" }, "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" }