openapi: 3.1.0 info: title: Google Analytics Data API description: 'Accesses report data in Google Analytics. Warning: Creating multiple Customer Applications, Accounts, or Projects to simulate or act as a single Customer Application, Account, or Project (respectively) or to circumvent Service-specific usage limits or quotas is a direct violation of Google Cloud Platform Terms of Service as well as Google APIs Terms of Service. These actions can result in immediate termination of your GCP project(s) without any warning. ' version: v1alpha contact: name: Google url: https://developers.google.com/analytics/devguides/reporting/data/v1/ x-discovery-revision: '20260812' servers: - url: https://analyticsdata.googleapis.com description: Google Analytics Data API tags: - name: properties security: - BearerAuth: [] paths: /v1alpha/properties/{propertiesId}/metadata: get: operationId: properties_getMetadata summary: Returns metadata for dimensions and metrics available in reporting methods tags: - properties description: Returns metadata for dimensions and metrics available in reporting methods. Used to explore the dimensions and metrics. In this method, a Google Analytics property identifier is specified in the request, and the metadata response includes Custom dimensions and metrics as well as Universal metadata. For example if a custom metric with parameter name `levels_unlocked` is registered to a property, the Metadata response will contain `customEvent:levels_unlocked`. Universal metadata are dimensions and metrics applicable to any property such as `country` and `totalUsers`. parameters: - name: name in: query required: true schema: type: string pattern: ^properties/[^/]+/metadata$ description: 'Required. The resource name of the metadata to retrieve. This name field is specified in the URL path and not URL parameters. Property is a numeric Google Analytics property identifier. To learn more, see [where to find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Example: properties/1234/metadata Set the Property ID to 0 for dimensions and metrics common to all properties. In this special mode, this method will not return custom dimensions and metrics.' - name: propertiesId in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Metadata' default: description: Error response content: application/json: schema: $ref: '#/components/schemas/GoogleRpcStatus' security: - OAuth2: - analytics - analytics.readonly - BearerAuth: [] /v1alpha/properties/{propertiesId}/propertyQuotasSnapshot: get: operationId: properties_getPropertyQuotasSnapshot summary: Get all property quotas organized by quota category for a given property tags: - properties description: Get all property quotas organized by quota category for a given property. This will charge 1 property quota from the category with the most quota. parameters: - name: name in: query required: true schema: type: string pattern: ^properties/[^/]+/propertyQuotasSnapshot$ description: 'Required. Quotas from this property will be listed in the response. Format: `properties/{property}/propertyQuotasSnapshot`' - name: propertiesId in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PropertyQuotasSnapshot' default: description: Error response content: application/json: schema: $ref: '#/components/schemas/GoogleRpcStatus' security: - OAuth2: - analytics - analytics.readonly - BearerAuth: [] /v1alpha/properties/{propertiesId}:runFunnelReport: post: operationId: properties_runFunnelReport summary: Returns a customized funnel report of your Google Analytics event data tags: - properties description: Returns a customized funnel report of your Google Analytics event data. The data returned from the API is as a table with columns for the requested dimensions and metrics. Funnel exploration lets you visualize the steps your users take to complete a task and quickly see how well they are succeeding or failing at each step. For example, how do prospects become shoppers and then become buyers? How do one time buyers become repeat buyers? With this information, you can improve inefficient or abandoned customer journeys. To learn more, see [GA4 Funnel Explorations](https://support.google.com/analytics/answer/9327974). This method is introduced at alpha stability with the intention of gathering feedback on syntax and capabilities before entering beta. To give your feedback on this API, complete the [Google Analytics Data API Funnel Reporting Feedback](https://docs.google.com/forms/d/e/1FAIpQLSdwOlQDJAUoBiIgUZZ3S_Lwi8gr7Bb0k1jhvc-DEg7Rol3UjA/viewform). parameters: - name: property in: query required: true schema: type: string pattern: ^properties/[^/]+$ description: 'Optional. A Google Analytics 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' - name: propertiesId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RunFunnelReportRequest' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/RunFunnelReportResponse' default: description: Error response content: application/json: schema: $ref: '#/components/schemas/GoogleRpcStatus' security: - OAuth2: - analytics - analytics.readonly - BearerAuth: [] /v1alpha/properties/{propertiesId}:runReport: post: operationId: properties_runReport summary: Returns a customized report of your Google Analytics event data tags: - properties description: 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. parameters: - name: property in: query required: true schema: type: string pattern: ^properties/[^/]+$ description: 'Required. A Google Analytics 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' - name: propertiesId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RunReportRequest' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/RunReportResponse' default: description: Error response content: application/json: schema: $ref: '#/components/schemas/GoogleRpcStatus' security: - OAuth2: - analytics - analytics.readonly - BearerAuth: [] /v1alpha/properties/{propertiesId}/audienceLists: post: operationId: properties_audienceLists_create summary: Creates an audience list for later retrieval tags: - properties description: Creates an audience list for later retrieval. This method quickly returns the audience list's resource name and initiates a long running asynchronous request to form an audience list. To list the users in an audience list, first create the audience list through this method and then send the audience resource name to the `QueryAudienceList` method. See [Creating an Audience List](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an introduction to Audience Lists with examples. An audience list is a snapshot of the users currently in the audience at the time of audience list creation. Creating audience lists for one audience on different days will return different results as users enter and exit the audience. Audiences in Google Analytics 4 allow you to segment your users in the ways that are important to your business. To learn more, see https://support.google.com/analytics/answer/9267572. Audience lists contain the users in each audience. This method is available at beta stability at [audienceExports.create](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties.audienceExports/create). To give your feedback on this API, complete the [Google Analytics Audience Export API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. parameters: - name: parent in: query required: true schema: type: string pattern: ^properties/[^/]+$ description: 'Required. The parent resource where this audience list will be created. Format: `properties/{property}`' - name: propertiesId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AudienceList' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Operation' default: description: Error response content: application/json: schema: $ref: '#/components/schemas/GoogleRpcStatus' security: - OAuth2: - analytics - analytics.readonly - BearerAuth: [] get: operationId: properties_audienceLists_list summary: Lists all audience lists for a property tags: - properties description: Lists all audience lists for a property. This method can be used for you to find and reuse existing audience lists rather than creating unnecessary new audience lists. The same audience can have multiple audience lists that represent the list of users that were in an audience on different days. See [Creating an Audience List](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an introduction to Audience Lists with examples. This method is available at beta stability at [audienceExports.list](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties.audienceExports/list). To give your feedback on this API, complete the [Google Analytics Audience Export API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. parameters: - name: pageSize in: query required: false schema: type: integer format: int32 description: Optional. The maximum number of audience lists to return. The service may return fewer than this value. If unspecified, at most 200 audience lists will be returned. The maximum value is 1000 (higher values will be coerced to the maximum). - name: pageToken in: query required: false schema: type: string description: Optional. A page token, received from a previous `ListAudienceLists` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAudienceLists` must match the call that provided the page token. - name: parent in: query required: true schema: type: string pattern: ^properties/[^/]+$ description: 'Required. All audience lists for this property will be listed in the response. Format: `properties/{property}`' - name: propertiesId in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/ListAudienceListsResponse' default: description: Error response content: application/json: schema: $ref: '#/components/schemas/GoogleRpcStatus' security: - OAuth2: - analytics - analytics.readonly - BearerAuth: [] /v1alpha/properties/{propertiesId}/audienceLists/{audienceListsId}: get: operationId: properties_audienceLists_get summary: Gets configuration metadata about a specific audience list tags: - properties description: Gets configuration metadata about a specific audience list. This method can be used to understand an audience list after it has been created. See [Creating an Audience List](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an introduction to Audience Lists with examples. This method is available at beta stability at [audienceExports.get](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties.audienceExports/get). To give your feedback on this API, complete the [Google Analytics Audience Export API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. parameters: - name: name in: query required: true schema: type: string pattern: ^properties/[^/]+/audienceLists/[^/]+$ description: 'Required. The audience list resource name. Format: `properties/{property}/audienceLists/{audience_list}`' - name: audienceListsId in: path required: true schema: type: string - name: propertiesId in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/AudienceList' default: description: Error response content: application/json: schema: $ref: '#/components/schemas/GoogleRpcStatus' security: - OAuth2: - analytics - analytics.readonly - BearerAuth: [] /v1alpha/properties/{propertiesId}/audienceLists/{audienceListsId}:query: post: operationId: properties_audienceLists_query summary: Retrieves an audience list of users tags: - properties description: Retrieves an audience list of users. After creating an audience, the users are not immediately available for listing. First, a request to `CreateAudienceList` is necessary to create an audience list of users, and then second, this method is used to retrieve the users in the audience list. See [Creating an Audience List](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an introduction to Audience Lists with examples. Audiences in Google Analytics 4 allow you to segment your users in the ways that are important to your business. To learn more, see https://support.google.com/analytics/answer/9267572. This method is available at beta stability at [audienceExports.query](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties.audienceExports/query). To give your feedback on this API, complete the [Google Analytics Audience Export API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. parameters: - name: name in: query required: true schema: type: string pattern: ^properties/[^/]+/audienceLists/[^/]+$ description: 'Required. The name of the audience list to retrieve users from. Format: `properties/{property}/audienceLists/{audience_list}`' - name: audienceListsId in: path required: true schema: type: string - name: propertiesId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/QueryAudienceListRequest' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/QueryAudienceListResponse' default: description: Error response content: application/json: schema: $ref: '#/components/schemas/GoogleRpcStatus' security: - OAuth2: - analytics - analytics.readonly - BearerAuth: [] /v1alpha/properties/{propertiesId}/recurringAudienceLists: post: operationId: properties_recurringAudienceLists_create summary: Creates a recurring audience list tags: - properties description: Creates a recurring audience list. Recurring audience lists produces new audience lists each day. Audience lists are users in an audience at the time of the list's creation. A recurring audience list ensures that you have audience list based on the most recent data available for use each day. If you manually create audience list, you don't know when an audience list based on an additional day's data is available. This recurring audience list automates the creation of an audience list when an additional day's data is available. You will consume fewer quota tokens by using recurring audience list versus manually creating audience list at various times of day trying to guess when an additional day's data is ready. This method is introduced at alpha stability with the intention of gathering feedback on syntax and capabilities before entering beta. To give your feedback on this API, complete the [Google Analytics Audience Export API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. parameters: - name: parent in: query required: true schema: type: string pattern: ^properties/[^/]+$ description: 'Required. The parent resource where this recurring audience list will be created. Format: `properties/{property}`' - name: propertiesId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RecurringAudienceList' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/RecurringAudienceList' default: description: Error response content: application/json: schema: $ref: '#/components/schemas/GoogleRpcStatus' security: - OAuth2: - analytics - analytics.readonly - BearerAuth: [] get: operationId: properties_recurringAudienceLists_list summary: Lists all recurring audience lists for a property tags: - properties description: Lists all recurring audience lists for a property. This method can be used for you to find and reuse existing recurring audience lists rather than creating unnecessary new recurring audience lists. The same audience can have multiple recurring audience lists that represent different dimension combinations; for example, just the dimension `deviceId` or both the dimensions `deviceId` and `userId`. This method is introduced at alpha stability with the intention of gathering feedback on syntax and capabilities before entering beta. To give your feedback on this API, complete the [Google Analytics Audience Export API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. parameters: - name: pageSize in: query required: false schema: type: integer format: int32 description: Optional. The maximum number of recurring audience lists to return. The service may return fewer than this value. If unspecified, at most 200 recurring audience lists will be returned. The maximum value is 1000 (higher values will be coerced to the maximum). - name: pageToken in: query required: false schema: type: string description: Optional. A page token, received from a previous `ListRecurringAudienceLists` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRecurringAudienceLists` must match the call that provided the page token. - name: parent in: query required: true schema: type: string pattern: ^properties/[^/]+$ description: 'Required. All recurring audience lists for this property will be listed in the response. Format: `properties/{property}`' - name: propertiesId in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/ListRecurringAudienceListsResponse' default: description: Error response content: application/json: schema: $ref: '#/components/schemas/GoogleRpcStatus' security: - OAuth2: - analytics - analytics.readonly - BearerAuth: [] /v1alpha/properties/{propertiesId}/recurringAudienceLists/{recurringAudienceListsId}: get: operationId: properties_recurringAudienceLists_get summary: Gets configuration metadata about a specific recurring audience list tags: - properties description: Gets configuration metadata about a specific recurring audience list. This method can be used to understand a recurring audience list's state after it has been created. For example, a recurring audience list resource will generate audience list instances for each day, and this method can be used to get the resource name of the most recent audience list instance. This method is introduced at alpha stability with the intention of gathering feedback on syntax and capabilities before entering beta. To give your feedback on this API, complete the [Google Analytics Audience Export API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. parameters: - name: name in: query required: true schema: type: string pattern: ^properties/[^/]+/recurringAudienceLists/[^/]+$ description: 'Required. The recurring audience list resource name. Format: `properties/{property}/recurringAudienceLists/{recurring_audience_list}`' - name: propertiesId in: path required: true schema: type: string - name: recurringAudienceListsId in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/RecurringAudienceList' default: description: Error response content: application/json: schema: $ref: '#/components/schemas/GoogleRpcStatus' security: - OAuth2: - analytics - analytics.readonly - BearerAuth: [] /v1alpha/properties/{propertiesId}/reportTasks: post: operationId: properties_reportTasks_create summary: Initiates the creation of a report task tags: - properties description: Initiates the creation of a report task. This method quickly returns a report task and initiates a long running asynchronous request to form a customized report of your Google Analytics event data. A report task will be retained and available for querying for 72 hours after it has been created. A report task created by one user can be listed and queried by all users who have access to the property. parameters: - name: parent in: query required: true schema: type: string pattern: ^properties/[^/]+$ description: 'Required. The parent resource where this report task will be created. Format: `properties/{propertyId}`' - name: propertiesId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReportTask' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Operation' default: description: Error response content: application/json: schema: $ref: '#/components/schemas/GoogleRpcStatus' security: - OAuth2: - analytics - analytics.readonly - BearerAuth: [] get: operationId: properties_reportTasks_list summary: Lists all report tasks for a property tags: - properties description: Lists all report tasks for a property. parameters: - name: pageSize in: query required: false schema: type: integer format: int32 description: Optional. The maximum number of report tasks to return. - name: pageToken in: query required: false schema: type: string description: Optional. A page token, received from a previous `ListReportTasks` call. Provide this to retrieve the subsequent page. - name: parent in: query required: true schema: type: string pattern: ^properties/[^/]+$ description: 'Required. All report tasks for this property will be listed in the response. Format: `properties/{property}`' - name: propertiesId in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/ListReportTasksResponse' default: description: Error response content: application/json: schema: $ref: '#/components/schemas/GoogleRpcStatus' security: - OAuth2: - analytics - analytics.readonly - BearerAuth: [] /v1alpha/properties/{propertiesId}/reportTasks/{reportTasksId}: get: operationId: properties_reportTasks_get summary: Gets report metadata about a specific report task tags: - properties description: Gets report metadata about a specific report task. After creating a report task, use this method to check its processing state or inspect its report definition. parameters: - name: name in: query required: true schema: type: string pattern: ^properties/[^/]+/reportTasks/[^/]+$ description: 'Required. The report task resource name. Format: `properties/{property}/reportTasks/{report_task}`' - name: propertiesId in: path required: true schema: type: string - name: reportTasksId in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/ReportTask' default: description: Error response content: application/json: schema: $ref: '#/components/schemas/GoogleRpcStatus' security: - OAuth2: - analytics - analytics.readonly - BearerAuth: [] /v1alpha/properties/{propertiesId}/reportTasks/{reportTasksId}:query: post: operationId: properties_reportTasks_query summary: Retrieves a report task's content tags: - properties description: Retrieves a report task's content. After requesting the `CreateReportTask`, you are able to retrieve the report content once the report is ACTIVE. This method will return an error if the report task's state is not `ACTIVE`. A query response will return the tabular row & column values of the report. parameters: - name: name in: query required: true schema: type: string pattern: ^properties/[^/]+/reportTasks/[^/]+$ description: 'Required. The report source name. Format: `properties/{property}/reportTasks/{report}`' - name: propertiesId in: path required: true schema: type: string - name: reportTasksId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/QueryReportTaskRequest' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/QueryReportTaskResponse' default: description: Error response content: application/json: schema: $ref: '#/components/schemas/GoogleRpcStatus' security: - OAuth2: - analytics - analytics.readonly - BearerAuth: [] components: schemas: DimensionMetadata: description: Explains a dimension. type: object properties: apiName: description: This dimension's name. Usable in [Dimension](#Dimension)'s `name`. For example, `eventName`. type: string category: description: The display name of the category that this dimension belongs to. Similar dimensions and metrics are categorized together. type: string sections: description: Specifies the Google Analytics sections this dimension applies to. type: array items: type: string x-enumDescriptions: - Should never be specified. - The report data is from the standard report data. Google Analytics reports include acquisition, engagement, and user behavior reports. Reports use dimensions like session source & landing page; reports use metrics like sessions, views, and engagement time. - The report data is from the conversion data. The Google Analytics Advertising section reports on conversion performance. Advertising reports use dimensions like source & medium; advertising reports use metrics like all conversions and ads cost. enum: - SECTION_UNSPECIFIED - SECTION_REPORT - SECTION_ADVERTISING deprecatedApiNames: description: Still usable but deprecated names for this dimension. If populated, this dimension is available by either `apiName` or one of `deprecatedApiNames` for a period of time. After the deprecation period, the dimension will be available only by `apiName`. type: array items: type: string description: description: Description of how this dimension is used and calculated. type: string customDefinition: description: True if the dimension is custom to this property. This includes user, event, & item scoped custom dimensions; to learn more about custom dimensions, see https://support.google.com/analytics/answer/14240153. This also include custom channel groups; to learn more about custom channel groups, see https://support.google.com/analytics/answer/13051316. type: boolean uiName: description: This dimension's name within the Google Analytics user interface. For example, `Event name`. type: string CohortReportSettings: description: Optional settings of a cohort report. type: object properties: accumulate: description: If true, accumulates the result from first touch day to the end day. Not supported in `RunReportRequest`. type: boolean SessionSegment: description: 'Session segments are subsets of the sessions that occurred on your site or app: for example, all the sessions that originated from a particular advertising campaign.' type: object properties: sessionInclusionCriteria: description: Defines which sessions are included in this segment. Optional. $ref: '#/components/schemas/SessionSegmentCriteria' exclusion: description: Defines which sessions are excluded in this segment. Optional. $ref: '#/components/schemas/SessionSegmentExclusion' Segment: description: A segment is a subset of your Analytics data. For example, of your entire set of users, one segment might be users from a particular country or city. Another segment might be users who purchase a particular line of products or who visit a specific part of your site or trigger certain events in your app. To learn more, see [Segment Builder](https://support.google.com/analytics/answer/9304353). type: object properties: name: description: The name for this segment. If unspecified, segments are named "Segment". This name defines string value returned by the `segment` dimension. The `segment` dimension prefixes segment names by the 1-based index number of the segment in the request (for example "1. Segment", "2. Segment", etc.). type: string userSegment: description: User segments are subsets of users who engaged with your site or app. $ref: '#/components/schemas/UserSegment' sessionSegment: description: Session segments are subsets of the sessions that occurred on your site or app. $ref: '#/components/schemas/SessionSegment' eventSegment: description: Event segments are subsets of events that were triggered on your site or app. $ref: '#/components/schemas/EventSegment' EventSegmentConditionGroup: description: Conditions tell Analytics what data to include in or exclude from the segment. type: object properties: conditionScoping: x-enumDescriptions: - Unspecified criteria scoping. Do not specify. - If the criteria is satisfied within one event, the event matches the criteria. enum: - EVENT_CRITERIA_SCOPING_UNSPECIFIED - EVENT_CRITERIA_WITHIN_SAME_EVENT description: '`conditionScoping` should always be `EVENT_CRITERIA_WITHIN_SAME_EVENT`. Optional. If unspecified, a `conditionScoping` of `EVENT_CRITERIA_WITHIN_SAME_EVENT` is used.' type: string segmentFilterExpression: description: Data is included or excluded from the segment based on if it matches this expression. Expressions express criteria on dimension, metrics, and/or parameters. $ref: '#/components/schemas/SegmentFilterExpression' AudienceListMetadata: description: This metadata is currently blank. type: object properties: {} ReportDefinition: description: The definition of how a report should be run. type: object properties: limit: description: Optional. The number of rows to return in the Report. 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. type: string format: int64 orderBys: items: $ref: '#/components/schemas/OrderBy' description: Optional. Specifies how rows are ordered in the response. type: array metricFilter: description: Optional. The filter clause of metrics. Applied after aggregating the report's rows, similar to SQL having-clause. Dimensions cannot be used in this filter. $ref: '#/components/schemas/FilterExpression' metricAggregations: items: type: string x-enumDescriptions: - Unspecified operator. - SUM operator. - Minimum operator. - Maximum operator. - Count operator. enum: - METRIC_AGGREGATION_UNSPECIFIED - TOTAL - MINIMUM - MAXIMUM - COUNT description: Optional. Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to "RESERVED_(MetricAggregation)". type: array metrics: description: Optional. The metrics requested and displayed. type: array items: $ref: '#/components/schemas/Metric' offset: description: Optional. The row count of the start row from Google Analytics Storage. The first row is counted as row 0. When creating a report task, the `offset` and `limit` parameters define the subset of data rows from Google Analytics storage to be included in the generated report. For example, if there are a total of 300,000 rows in Google Analytics storage, the initial report task may have the first 10,000 rows with a limit of 10,000 and an offset of 0. Subsequently, another report task could cover the next 10,000 rows with a limit of 10,000 and an offset of 10,000. type: string format: int64 cohortSpec: description: Optional. Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension must be present. $ref: '#/components/schemas/CohortSpec' dimensionFilter: description: Optional. 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. $ref: '#/components/schemas/FilterExpression' keepEmptyRows: description: 'Optional. 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 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 containing eventName: "purchase" and eventCount: 0.' type: boolean dimensions: description: Optional. The dimensions requested and displayed. type: array items: $ref: '#/components/schemas/Dimension' dateRanges: description: Optional. 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. type: array items: $ref: '#/components/schemas/DateRange' currencyCode: description: Optional. 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 samplingLevel: description: Optional. The report's sampling level. type: string x-enumDescriptions: - Unspecified type. - Applies a sampling level of 10 million to standard properties and 100 million to Google Analytics 360 properties. - Exclusive to Google Analytics 360 properties with a sampling level of 1 billion. - Exclusive to Google Analytics 360 properties. Unsampled explorations are more accurate and can reveal insights that aren't visible in standard explorations. To learn more, see https://support.google.com/analytics/answer/10896953. enum: - SAMPLING_LEVEL_UNSPECIFIED - LOW - MEDIUM - UNSAMPLED AudienceDimension: description: An audience dimension is a user attribute. Specific user attributed are requested and then later returned in the `QueryAudienceListResponse`. type: object properties: dimensionName: description: Optional. The API name of the dimension. See the [API Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-api-schema#dimensions) for the list of dimension names. type: string FunnelEventFilter: description: Creates a filter that matches events of a single event name. If a parameter filter expression is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter. type: object properties: funnelParameterFilterExpression: description: If specified, this filter matches events that match both the single event name and the parameter filter expressions. Inside the parameter filter expression, only parameter filters are available. $ref: '#/components/schemas/FunnelParameterFilterExpression' eventName: description: This filter matches events of this single event name. Event name is required. type: string FunnelParameterFilterExpressionList: description: A list of funnel parameter filter expressions. type: object properties: expressions: items: $ref: '#/components/schemas/FunnelParameterFilterExpression' description: The list of funnel parameter filter expressions. type: array FunnelNextAction: description: Next actions state the value for a dimension after the user has achieved a step but before the same user has achieved the next step. For example if the `nextActionDimension` is `eventName`, then `nextActionDimension` in the `i`th funnel step row will return first event after the event that qualified the user into the `i`th funnel step but before the user achieved the `i+1`th funnel step. type: object properties: nextActionDimension: description: The dimension column added to the funnel visualization sub report response. The next action dimension returns the next dimension value of this dimension after the user has attained the `i`th funnel step. `nextActionDimension` currently only supports `eventName` and most Page / Screen dimensions like `pageTitle` and `pagePath`. `nextActionDimension` cannot be a dimension expression. $ref: '#/components/schemas/Dimension' limit: description: The maximum number of distinct values of the breakdown dimension to return in the response. A `limit` of `5` is used if limit is not specified. Limit must exceed zero and cannot exceed 5. type: string format: int64 AudienceRow: description: Dimension value attributes for the audience user row. type: object properties: dimensionValues: description: Each dimension value attribute for an audience user. One dimension value will be added for each dimension column requested. type: array items: $ref: '#/components/schemas/AudienceDimensionValue' ConcatenateExpression: description: Used to combine dimension values to a single dimension. type: object properties: dimensionNames: description: Names of dimensions. The names must refer back to names in the dimensions field of the request. type: array items: type: string delimiter: description: The delimiter placed between dimension names. Delimiters are often single characters such as "|" or "," but can be longer strings. If a dimension value contains the delimiter, both will be present in response with no distinction. For example if dimension 1 value = "US,FR", dimension 2 value = "JP", and delimiter = ",", then the response will contain "US,FR,JP". type: string UserSequenceStep: description: A condition that must occur in the specified step order for this user to match the sequence. type: object properties: stepScoping: description: This sequence step must be satisfied in the scoping for the user to match the sequence. For example if `sequenceScoping = WITHIN_SAME_SESSION`, this sequence steps must complete within one session for the user to match the sequence. `stepScoping = ACROSS_ALL_SESSIONS` is only allowed if the `sequenceScoping = ACROSS_ALL_SESSIONS`. Optional. If unspecified, `stepScoping` uses the same `UserCriteriaScoping` as the `sequenceScoping`. type: string x-enumDescriptions: - Unspecified criteria scoping. Do not specify. - If the criteria is satisfied within one event, the user matches the criteria. - If the criteria is satisfied within one session, the user matches the criteria. - If the criteria is satisfied by any events for the user, the user matches the criteria. enum: - USER_CRITERIA_SCOPING_UNSPECIFIED - USER_CRITERIA_WITHIN_SAME_EVENT - USER_CRITERIA_WITHIN_SAME_SESSION - USER_CRITERIA_ACROSS_ALL_SESSIONS segmentFilterExpression: description: A user matches this sequence step if their events match this expression. Expressions express criteria on dimension, metrics, and/or parameters. $ref: '#/components/schemas/SegmentFilterExpression' isDirectlyFollowedBy: description: If true, the event satisfying this step must be the very next event after the event satifying the last step. If false, this step indirectly follows the prior step; for example, there may be events between the prior step and this step. `isDirectlyFollowedBy` must be false for the first step. type: boolean SamplingMetadata: description: If funnel report results are [sampled](https://support.google.com/analytics/answer/13331292), this metadata describes what percentage of events were used in this funnel report for a date range. Sampling is the practice of analyzing a subset of all data in order to uncover the meaningful information in the larger data set. type: object properties: samplesReadCount: description: The total number of events read in this sampled report for a date range. This is the size of the subset this property's data that was analyzed in this funnel report. type: string format: int64 samplingSpaceSize: description: The total number of events present in this property's data that could have been analyzed in this funnel report for a date range. Sampling uncovers the meaningful information about the larger data set, and this is the size of the larger data set. To calculate the percentage of available data that was used in this funnel report, compute `samplesReadCount/samplingSpaceSize`. type: string format: int64 SegmentFilterExpressionList: description: A list of segment filter expressions. type: object properties: expressions: description: The list of segment filter expressions type: array items: $ref: '#/components/schemas/SegmentFilterExpression' FunnelFilterExpressionList: description: A list of funnel filter expressions. type: object properties: expressions: items: $ref: '#/components/schemas/FunnelFilterExpression' description: The list of funnel filter expressions. type: array UserSegmentSequenceGroup: description: Define conditions that must occur in a specific order for the user to be a member of the segment. type: object properties: sequenceMaximumDuration: description: Defines the time period in which the whole sequence must occur; for example, 30 Minutes. `sequenceMaximumDuration` is inclusive of the endpoint at the microsecond granularity. For example a sequence with a maximum duration of 5 seconds can be completed at 4.9 or 5.0 seconds, but not 5 seconds and 1 microsecond. `sequenceMaximumDuration` is optional, and if unspecified, sequences can be completed in any time duration. type: string format: google-duration sequenceScoping: x-enumDescriptions: - Unspecified criteria scoping. Do not specify. - If the criteria is satisfied within one event, the user matches the criteria. - If the criteria is satisfied within one session, the user matches the criteria. - If the criteria is satisfied by any events for the user, the user matches the criteria. enum: - USER_CRITERIA_SCOPING_UNSPECIFIED - USER_CRITERIA_WITHIN_SAME_EVENT - USER_CRITERIA_WITHIN_SAME_SESSION - USER_CRITERIA_ACROSS_ALL_SESSIONS description: All sequence steps must be satisfied in the scoping for the user to match the sequence. For example if `sequenceScoping = USER_CRITERIA_WITHIN_SAME_SESSION`, all sequence steps must complete within one session for the user to match the sequence. `sequenceScoping = USER_CRITERIA_WITHIN_SAME_EVENT` is not supported. Optional. If unspecified, `conditionScoping = ACROSS_ALL_SESSIONS` is used. type: string userSequenceSteps: description: An ordered sequence of condition steps. A user's events must complete each step in order for the user to match the `UserSegmentSequenceGroup`. type: array items: $ref: '#/components/schemas/UserSequenceStep' EventSegmentExclusion: description: Specifies which events are excluded in this segment. type: object properties: eventExclusionDuration: x-enumDescriptions: - Unspecified exclusion duration. Do not specify. - Permanently exclude events from the segment if the event ever meets the `eventExclusionCriteria` condition. enum: - EVENT_EXCLUSION_DURATION_UNSPECIFIED - EVENT_EXCLUSION_PERMANENT description: '`eventExclusionDuration` should always be `PERMANENTLY_EXCLUDE`. Optional. If unspecified, an `eventExclusionDuration` of `EVENT_EXCLUSION_PERMANENT` is used.' type: string eventExclusionCriteria: description: If an event meets this condition, the event is excluded from membership in the segment for the `eventExclusionDuration`. $ref: '#/components/schemas/EventSegmentCriteria' EventSegmentCriteria: description: An event matches a criteria if the event meet the conditions in the criteria. type: object properties: andConditionGroups: description: An event matches this criteria if the event matches each of these `andConditionGroups`. type: array items: $ref: '#/components/schemas/EventSegmentConditionGroup' QueryAudienceListResponse: description: A list of users in an audience list. type: object properties: audienceRows: description: Rows for each user in an audience list. The number of rows in this response will be less than or equal to request's page size. type: array items: $ref: '#/components/schemas/AudienceRow' audienceList: description: Configuration data about AudienceList being queried. Returned to help interpret the audience rows in this response. For example, the dimensions in this AudienceList correspond to the columns in the AudienceRows. $ref: '#/components/schemas/AudienceList' rowCount: description: The total number of rows in the AudienceList result. `rowCount` is independent of the number of rows returned in the response, the `limit` request parameter, and the `offset` request parameter. For example if a query returns 175 rows and includes `limit` of 50 in the API request, the response will contain `rowCount` of 175 but only 50 rows. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). type: integer format: int32 UserSegmentCriteria: description: A user matches a criteria if the user's events meet the conditions in the criteria. type: object properties: andSequenceGroups: items: $ref: '#/components/schemas/UserSegmentSequenceGroup' description: A user matches this criteria if the user matches each of these `andSequenceGroups` and each of the `andConditionGroups`. `andSequenceGroups` may be empty if `andConditionGroups` are specified. type: array andConditionGroups: items: $ref: '#/components/schemas/UserSegmentConditionGroup' description: A user matches this criteria if the user matches each of these `andConditionGroups` and each of the `andSequenceGroups`. `andConditionGroups` may be empty if `andSequenceGroups` are specified. type: array ListAudienceListsResponse: description: A list of all audience lists for a property. type: object properties: nextPageToken: description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. type: string audienceLists: items: $ref: '#/components/schemas/AudienceList' description: Each audience list for a property. type: array FunnelStep: description: Steps define the user journey you want to measure. Steps contain one or more conditions that your users must meet to be included in that step of the funnel journey. type: object properties: isDirectlyFollowedBy: description: If true, this step must directly follow the previous step. If false, there can be events between the previous step and this step. If unspecified, `isDirectlyFollowedBy` is treated as false. type: boolean name: description: The distinctive name for this step. If unspecified, steps will be named by a 1 based indexed name (for example "0. ", "1. ", etc.). This name defines string value returned by the `funnelStepName` dimension. For example, specifying `name = Purchase` in the request's third funnel step will produce `3. Purchase` in the funnel report response. type: string filterExpression: description: The condition that your users must meet to be included in this step of the funnel journey. $ref: '#/components/schemas/FunnelFilterExpression' withinDurationFromPriorStep: description: If specified, this step must complete within this duration of the completion of the prior step. `withinDurationFromPriorStep` is inclusive of the endpoint at the microsecond granularity. For example a duration of 5 seconds can be completed at 4.9 or 5.0 seconds, but not 5 seconds and 1 microsecond. `withinDurationFromPriorStep` is optional, and if unspecified, steps may be separated by any time duration. type: string format: google-duration QuotaStatus: description: Current state for a particular quota group. type: object properties: consumed: description: Quota consumed by this request. type: integer format: int32 remaining: description: Quota remaining after this request. type: integer format: int32 DateRange: description: 'A contiguous set of days: `startDate`, `startDate + 1`, ..., `endDate`. Requests are allowed up to 4 date ranges.' type: object properties: startDate: description: The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot be after `end_date`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the property's reporting time zone. type: string endDate: description: The inclusive end date for the query in the format `YYYY-MM-DD`. Cannot be before `start_date`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the property's reporting time zone. type: string name: description: 'Assigns a name to this date range. The dimension `dateRange` is valued to this name in a report response. If set, cannot begin with `date_range_` or `RESERVED_`. If not set, date ranges are named by their zero based index in the request: `date_range_0`, `date_range_1`, etc.' type: string ConversionSpec: description: 'Controls conversion reporting. This feature may not be available to your Google Analytics property. The Google Analytics team is actively working to expand this feature to more properties. Please reach out to your support team if you have questions about the eligibility of your property. ' type: object properties: conversionActions: items: type: string description: The conversion action IDs to include in the report. If empty, all conversions are included. Valid conversion action IDs can be retrieved from the `conversion_action` field within the `conversions` list in the response of the `GetMetadata` method. For example, 'conversionActions/1234'. type: array attributionModel: x-enumDescriptions: - Unspecified attribution model. - Attribution was based on the paid and organic data driven model - Attribution was based on the paid and organic last click model enum: - ATTRIBUTION_MODEL_UNSPECIFIED - DATA_DRIVEN - LAST_CLICK description: The attribution model to use in the Conversion Report. If unspecified, `DATA_DRIVEN` is used. type: string UserSegmentConditionGroup: description: Conditions tell Analytics what data to include in or exclude from the segment. type: object properties: conditionScoping: x-enumDescriptions: - Unspecified criteria scoping. Do not specify. - If the criteria is satisfied within one event, the user matches the criteria. - If the criteria is satisfied within one session, the user matches the criteria. - If the criteria is satisfied by any events for the user, the user matches the criteria. enum: - USER_CRITERIA_SCOPING_UNSPECIFIED - USER_CRITERIA_WITHIN_SAME_EVENT - USER_CRITERIA_WITHIN_SAME_SESSION - USER_CRITERIA_ACROSS_ALL_SESSIONS description: Data is included or excluded from the segment based on if it matches the condition group. This scoping defines how many events the `segmentFilterExpression` is evaluated on before the condition group is determined to be matched or not. For example if `conditionScoping = USER_CRITERIA_WITHIN_SAME_SESSION`, the expression is evaluated on all events in a session, and then, the condition group is determined to be matched or not for this user. For example if `conditionScoping = USER_CRITERIA_WITHIN_SAME_EVENT`, the expression is evaluated on a single event, and then, the condition group is determined to be matched or not for this user. Optional. If unspecified, `conditionScoping = ACROSS_ALL_SESSIONS` is used. type: string segmentFilterExpression: description: Data is included or excluded from the segment based on if it matches this expression. Expressions express criteria on dimension, metrics, and/or parameters. $ref: '#/components/schemas/SegmentFilterExpression' FunnelParameterFilterExpression: description: Expresses combinations of funnel filters on parameters. type: object properties: funnelParameterFilter: description: A primitive funnel parameter filter. $ref: '#/components/schemas/FunnelParameterFilter' orGroup: description: The FunnelParameterFilterExpression in `orGroup` have an OR relationship. $ref: '#/components/schemas/FunnelParameterFilterExpressionList' andGroup: description: The FunnelParameterFilterExpression in `andGroup` have an AND relationship. $ref: '#/components/schemas/FunnelParameterFilterExpressionList' notExpression: description: The FunnelParameterFilterExpression is NOT of `notExpression`. $ref: '#/components/schemas/FunnelParameterFilterExpression' SegmentEventFilter: description: Creates a filter that matches events of a single event name. If a parameter filter expression is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter. type: object properties: segmentParameterFilterExpression: description: If specified, this filter matches events that match both the single event name and the parameter filter expressions. Inside the parameter filter expression, only parameter filters are available. $ref: '#/components/schemas/SegmentParameterFilterExpression' eventName: description: This filter matches events of this single event name. Event name is required. type: string QueryAudienceListRequest: description: A request to list users in an audience list. type: object properties: offset: description: Optional. 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). type: string format: int64 limit: description: Optional. 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`. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). type: string format: int64 FunnelResponseMetadata: description: The funnel report's response metadata carries additional information about the funnel report. type: object properties: samplingMetadatas: description: If funnel report results are [sampled](https://support.google.com/analytics/answer/13331292), this describes what percentage of events were used in this funnel report. One `samplingMetadatas` is populated for each date range. Each `samplingMetadatas` corresponds to a date range in order that date ranges were specified in the request. However if the results are not sampled, this field will not be defined. type: array items: $ref: '#/components/schemas/SamplingMetadata' Cohort: description: Defines a cohort selection criteria. A cohort is a group of users who share a common characteristic. For example, users with the same `firstSessionDate` belong to the same cohort. type: object properties: name: description: Assigns a name to this cohort. The dimension `cohort` is valued to this name in a report response. If set, cannot begin with `cohort_` or `RESERVED_`. If not set, cohorts are named by their zero based index `cohort_0`, `cohort_1`, etc. type: string dimension: description: Dimension used by the cohort. Required and only supports `firstSessionDate`. type: string dateRange: description: The cohort selects users whose first touch date is between start date and end date defined in the `dateRange`. This `dateRange` does not specify the full date range of event data that is present in a cohort report. In a cohort report, this `dateRange` is extended by the granularity and offset present in the `cohortsRange`; event data for the extended reporting date range is present in a cohort report. In a cohort request, this `dateRange` is required and the `dateRanges` in the `RunReportRequest` or `RunPivotReportRequest` must be unspecified. This `dateRange` should generally be aligned with the cohort's granularity. If `CohortsRange` uses daily granularity, this `dateRange` can be a single day. If `CohortsRange` uses weekly granularity, this `dateRange` can be aligned to a week boundary, starting at Sunday and ending Saturday. If `CohortsRange` uses monthly granularity, this `dateRange` can be aligned to a month, starting at the first and ending on the last day of the month. $ref: '#/components/schemas/DateRange' Metric: description: The quantitative measurements of a report. For example, the metric `eventCount` is the total number of events. Requests are allowed up to 10 metrics. type: object properties: invisible: description: Indicates if a metric is invisible in the report response. If a metric is invisible, the metric will not produce a column in the response, but can be used in `metricFilter`, `orderBys`, or a metric `expression`. type: boolean expression: description: A mathematical expression for derived metrics. For example, the metric Event count per user is `eventCount/totalUsers`. type: string name: description: The name of the metric. See the [API Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#metrics) for the list of metric names supported by core reporting methods such as `runReport` and `batchRunReports`. See [Realtime Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-api-schema#metrics) for the list of metric names supported by the `runRealtimeReport` method. See [Funnel Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/exploration-api-schema#metrics) for the list of metric names supported by the `runFunnelReport` method. If `expression` is specified, `name` can be any string that you would like within the allowed character set. For example if `expression` is `screenPageViews/sessions`, you could call that metric's name = `viewsPerSession`. Metric names that you choose must match the regular expression `^[a-zA-Z0-9_]$`. Metrics are referenced by `name` in `metricFilter`, `orderBys`, and metric `expression`. type: string NumericValue: description: To represent a number. type: object properties: int64Value: description: Integer value type: string format: int64 doubleValue: description: Double value type: number format: double Dimension: description: Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, the city could be "Paris" or "New York". type: object properties: name: description: The name of the dimension. See the [API Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#dimensions) for the list of dimension names supported by core reporting methods such as `runReport` and `batchRunReports`. See [Realtime Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-api-schema#dimensions) for the list of dimension names supported by the `runRealtimeReport` method. See [Funnel Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/exploration-api-schema#dimensions) for the list of dimension names supported by the `runFunnelReport` method. If `dimensionExpression` is specified, `name` can be any string that you would like within the allowed character set. For example if a `dimensionExpression` concatenates `country` and `city`, you could call that dimension `countryAndCity`. Dimension names that you choose must match the regular expression `^[a-zA-Z0-9_]$`. Dimensions are referenced by `name` in `dimensionFilter`, `orderBys`, `dimensionExpression`, and `pivots`. type: string dimensionExpression: description: 'One dimension can be the result of an expression of multiple dimensions. For example, dimension "country, city": concatenate(country, ", ", city).' $ref: '#/components/schemas/DimensionExpression' UserSegmentExclusion: description: Specifies which users are excluded in this segment. type: object properties: userExclusionDuration: description: Specifies how long an exclusion will last if a user matches the `userExclusionCriteria`. Optional. If unspecified, `userExclusionDuration` of `USER_EXCLUSION_TEMPORARY` is used. type: string x-enumDescriptions: - Unspecified exclusion duration. Do not specify. - Temporarily exclude users from the segment during periods when the user meets the `userExclusionCriteria` condition. - Permanently exclude users from the segment if the user ever meets the `userExclusionCriteria` condition. enum: - USER_EXCLUSION_DURATION_UNSPECIFIED - USER_EXCLUSION_TEMPORARY - USER_EXCLUSION_PERMANENT userExclusionCriteria: description: If a user meets this condition, the user is excluded from membership in the segment for the `userExclusionDuration`. $ref: '#/components/schemas/UserSegmentCriteria' ResponseMetaData: description: Response's metadata carrying additional information about the report content. type: object properties: dataLossFromOtherRow: description: If true, indicates some buckets of dimension combinations are rolled into "(other)" row. This can happen for high cardinality reports. The metadata parameter dataLossFromOtherRow is populated based on the aggregated data table used in the report. The parameter will be accurately populated regardless of the filters and limits in the report. For example, the (other) row could be dropped from the report because the request contains a filter on sessionSource = google. This parameter will still be populated if data loss from other row was present in the input aggregate data used to generate this report. To learn more, see [About the (other) row and data sampling](https://support.google.com/analytics/answer/13208658#reports). type: boolean subjectToThresholding: description: If `subjectToThresholding` is true, this report is subject to thresholding and only returns data that meets the minimum aggregation thresholds. It is possible for a request to be subject to thresholding thresholding and no data is absent from the report, and this happens when all data is above the thresholds. To learn more, see [Data thresholds](https://support.google.com/analytics/answer/9383630) and [About Demographics and Interests](https://support.google.com/analytics/answer/2799357). type: boolean samplingMetadatas: items: $ref: '#/components/schemas/SamplingMetadata' description: If this report results is [sampled](https://support.google.com/analytics/answer/13331292), this describes the percentage of events used in this report. One `samplingMetadatas` is populated for each date range. Each `samplingMetadatas` corresponds to a date range in order that date ranges were specified in the request. However if the results are not sampled, this field will not be defined. type: array schemaRestrictionResponse: description: Describes the schema restrictions actively enforced in creating this report. To learn more, see [Access and data-restriction management](https://support.google.com/analytics/answer/10851388). $ref: '#/components/schemas/SchemaRestrictionResponse' timeZone: description: The property's current timezone. Intended to be used to interpret time-based dimensions like `hour` and `minute`. Formatted as strings from the IANA Time Zone database (https://www.iana.org/time-zones); for example "America/New_York" or "Asia/Tokyo". type: string currencyCode: description: The currency code used in this report. Intended to be used in formatting currency metrics like `purchaseRevenue` for visualization. If currency_code was specified in the request, this response parameter will echo the request parameter; otherwise, this response parameter is the property's current currency_code. Currency codes are string encodings of currency types from the ISO 4217 standard (https://en.wikipedia.org/wiki/ISO_4217); for example "USD", "EUR", "JPY". To learn more, see https://support.google.com/analytics/answer/9796179. type: string emptyReason: description: If empty reason is specified, the report is empty for this reason. type: string section: x-enumDescriptions: - Should never be specified. - The report data is from the standard report data. Google Analytics reports include acquisition, engagement, and user behavior reports. Reports use dimensions like session source & landing page; reports use metrics like sessions, views, and engagement time. - The report data is from the conversion data. The Google Analytics Advertising section reports on conversion performance. Advertising reports use dimensions like source & medium; advertising reports use metrics like all conversions and ads cost. enum: - SECTION_UNSPECIFIED - SECTION_REPORT - SECTION_ADVERTISING description: Identifies the type of data in the report. type: string RunFunnelReportResponse: description: The funnel report response contains two sub reports. The two sub reports are different combinations of dimensions and metrics. type: object properties: funnelVisualization: description: The funnel visualization is a report with the funnel step, segment, date, next action dimension, and active users. The segment dimension is only present in this response if a segment was requested. The date dimension is only present in this response if it was requested through the `TRENDED_FUNNEL` funnel type. The next action dimension is only present in the response if it was requested. $ref: '#/components/schemas/FunnelSubReport' propertyQuota: description: This Analytics Property's quota state including this request. $ref: '#/components/schemas/PropertyQuota' funnelTable: description: The funnel table is a report with the funnel step, segment, breakdown dimension, active users, completion rate, abandonments, and abandonments rate. The segment dimension is only present in this response if a segment was requested. The breakdown dimension is only present in this response if it was requested. $ref: '#/components/schemas/FunnelSubReport' kind: description: Identifies what kind of resource this message is. This `kind` is always the fixed string "analyticsData#runFunnelReport". Useful to distinguish between response types in JSON. type: string Row: description: 'Report data for each row. For example if RunReportRequest contains: ```none "dimensions": [ { "name": "eventName" }, { "name": "countryId" } ], "metrics": [ { "name": "eventCount" } ] ``` One row with ''in_app_purchase'' as the eventName, ''JP'' as the countryId, and 15 as the eventCount, would be: ```none "dimensionValues": [ { "value": "in_app_purchase" }, { "value": "JP" } ], "metricValues": [ { "value": "15" } ] ```' type: object properties: metricValues: items: $ref: '#/components/schemas/MetricValue' description: List of requested visible metric values. type: array dimensionValues: items: $ref: '#/components/schemas/DimensionValue' description: List of requested dimension values. In a PivotReport, dimension_values are only listed for dimensions included in a pivot. type: array QueryReportTaskResponse: description: The report content corresponding to a report task. type: object properties: minimums: items: $ref: '#/components/schemas/Row' description: If requested, the minimum values of metrics. type: array dimensionHeaders: description: Describes dimension columns. The number of DimensionHeaders and ordering of DimensionHeaders matches the dimensions present in rows. type: array items: $ref: '#/components/schemas/DimensionHeader' metricHeaders: items: $ref: '#/components/schemas/MetricHeader' description: Describes metric columns. The number of MetricHeaders and ordering of MetricHeaders matches the metrics present in rows. type: array rows: items: $ref: '#/components/schemas/Row' description: Rows of dimension value combinations and metric values in the report. type: array totals: items: $ref: '#/components/schemas/Row' description: If requested, the totaled values of metrics. type: array maximums: description: If requested, the maximum values of metrics. type: array items: $ref: '#/components/schemas/Row' metadata: description: Metadata for the report. $ref: '#/components/schemas/ResponseMetaData' rowCount: description: The total number of rows in the query result. type: integer format: int32 ComparisonMetadata: description: The metadata for a single comparison. type: object properties: description: description: This comparison's description. type: string uiName: description: This comparison's name within the Google Analytics user interface. type: string apiName: description: This comparison's resource name. Usable in [Comparison](#Comparison)'s `comparison` field. For example, 'comparisons/1234'. type: string FunnelParameterFilter: description: An expression to filter parameter values in a funnel. type: object properties: itemParameterName: description: This filter will be evaluated on the specified item parameter. Item parameters are logged as parameters in the item array. Item parameters include fields like "item_name" & "item_category". Item parameters can only be used in segments & funnels and can only be used in a descendent filter from an EventFilter. In a descendent filter from an EventFilter either event or item parameters should be used. Item parameters are only available in ecommerce events. To learn more about ecommerce events, see the [Measure ecommerce] (https://developers.google.com/analytics/devguides/collection/ga4/ecommerce) guide. type: string stringFilter: description: Strings related filter. $ref: '#/components/schemas/StringFilter' betweenFilter: description: A filter for between two values. $ref: '#/components/schemas/BetweenFilter' numericFilter: description: A filter for numeric or date values. $ref: '#/components/schemas/NumericFilter' eventParameterName: description: This filter will be evaluated on the specified event parameter. Event parameters are logged as parameters of the event. Event parameters include fields like "firebase_screen" & "currency". Event parameters can only be used in segments & funnels and can only be used in a descendent filter from an EventFilter. In a descendent filter from an EventFilter either event or item parameters should be used. type: string inListFilter: description: A filter for in list values. $ref: '#/components/schemas/InListFilter' SchemaRestrictionResponse: description: The schema restrictions actively enforced in creating this report. To learn more, see [Access and data-restriction management](https://support.google.com/analytics/answer/10851388). type: object properties: activeMetricRestrictions: items: $ref: '#/components/schemas/ActiveMetricRestriction' description: All restrictions actively enforced in creating the report. For example, `purchaseRevenue` always has the restriction type `REVENUE_DATA`. However, this active response restriction is only populated if the user's custom role disallows access to `REVENUE_DATA`. type: array ReportMetadata: description: The report metadata for a specific report task. type: object properties: taskRowCount: description: Output only. The total number of rows in the report result. This field will be populated when the state is active. You can utilize `task_row_count` for pagination within the confines of their existing report. type: integer format: int32 totalRowCount: description: Output only. The total number of rows in Google Analytics storage. If you want to query additional data rows beyond the current report, they can initiate a new report task based on the `total_row_count`. The `task_row_count` represents the number of rows specifically pertaining to the current report, whereas `total_row_count` encompasses the total count of rows across all data retrieved from Google Analytics storage. For example, suppose the current report's `task_row_count` is 20, displaying the data from the first 20 rows. Simultaneously, the `total_row_count` is 30, indicating the presence of data for all 30 rows. The `task_row_count` can be utilizated to paginate through the initial 20 rows. To expand the report and include data from all 30 rows, a new report task can be created using the total_row_count to access the full set of 30 rows' worth of data. type: integer format: int32 errorMessage: description: Output only. Error message is populated if a report task fails during creation. type: string creationQuotaTokensCharged: description: Output only. The total quota tokens charged during creation of the report. Because this token count is based on activity from the `CREATING` state, this tokens charge will be fixed once a report task enters the `ACTIVE` or `FAILED` state. type: integer format: int32 state: x-enumDescriptions: - Unspecified state will never be used. - The report is currently creating and will be available in the future. Creating occurs immediately after the CreateReport call. - The report is fully created and ready for querying. - The report failed to be created. enum: - STATE_UNSPECIFIED - CREATING - ACTIVE - FAILED description: Output only. The current state for this report task. type: string beginCreatingTime: description: Output only. The time when `CreateReportTask` was called and the report began the `CREATING` state. type: string format: google-datetime ConversionMetadata: description: 'The metadata for a single conversion. This feature may not be available to your Google Analytics property. The Google Analytics team is actively working to expand this feature to more properties. Please reach out to your support team if you have questions about the eligibility of your property. ' type: object properties: displayName: description: This conversion's name within the Google Analytics user interface. type: string conversionAction: description: The unique identifier of the conversion action. This ID is used to specify which conversions to include in a report by populating the `conversion_actions` field in the `ConversionsSpec` of a report request. For example, 'conversionActions/1234'. type: string MetricMetadata: description: Explains a metric. type: object properties: description: description: Description of how this metric is used and calculated. type: string type: x-enumDescriptions: - Unspecified type. - Integer type. - Floating point type. - A duration of seconds; a special floating point type. - A duration in milliseconds; a special floating point type. - A duration in minutes; a special floating point type. - A duration in hours; a special floating point type. - A custom metric of standard type; a special floating point type. - An amount of money; a special floating point type. - A length in feet; a special floating point type. - A length in miles; a special floating point type. - A length in meters; a special floating point type. - A length in kilometers; a special floating point type. enum: - METRIC_TYPE_UNSPECIFIED - TYPE_INTEGER - TYPE_FLOAT - TYPE_SECONDS - TYPE_MILLISECONDS - TYPE_MINUTES - TYPE_HOURS - TYPE_STANDARD - TYPE_CURRENCY - TYPE_FEET - TYPE_MILES - TYPE_METERS - TYPE_KILOMETERS description: The type of this metric. type: string category: description: The display name of the category that this metrics belongs to. Similar dimensions and metrics are categorized together. type: string expression: description: The mathematical expression for this derived metric. Can be used in [Metric](#Metric)'s `expression` field for equivalent reports. Most metrics are not expressions, and for non-expressions, this field is empty. type: string apiName: description: A metric name. Usable in [Metric](#Metric)'s `name`. For example, `eventCount`. type: string sections: description: Specifies the Google Analytics sections this metric applies to. type: array items: x-enumDescriptions: - Should never be specified. - The report data is from the standard report data. Google Analytics reports include acquisition, engagement, and user behavior reports. Reports use dimensions like session source & landing page; reports use metrics like sessions, views, and engagement time. - The report data is from the conversion data. The Google Analytics Advertising section reports on conversion performance. Advertising reports use dimensions like source & medium; advertising reports use metrics like all conversions and ads cost. enum: - SECTION_UNSPECIFIED - SECTION_REPORT - SECTION_ADVERTISING type: string deprecatedApiNames: items: type: string description: Still usable but deprecated names for this metric. If populated, this metric is available by either `apiName` or one of `deprecatedApiNames` for a period of time. After the deprecation period, the metric will be available only by `apiName`. type: array uiName: description: This metric's name within the Google Analytics user interface. For example, `Event count`. type: string blockedReasons: description: If reasons are specified, your access is blocked to this metric for this property. API requests from you to this property for this metric will succeed; however, the report will contain only zeros for this metric. API requests with metric filters on blocked metrics will fail. If reasons are empty, you have access to this metric. To learn more, see [Access and data-restriction management](https://support.google.com/analytics/answer/10851388). type: array items: x-enumDescriptions: - Will never be specified in API response. - If present, your access is blocked to revenue related metrics for this property, and this metric is revenue related. - If present, your access is blocked to cost related metrics for this property, and this metric is cost related. enum: - BLOCKED_REASON_UNSPECIFIED - NO_REVENUE_METRICS - NO_COST_METRICS type: string customDefinition: description: True if the metric is a custom metric for this property. type: boolean SegmentFilterExpression: description: Expresses combinations of segment filters. type: object properties: notExpression: description: The SegmentFilterExpression is NOT of `notExpression`. $ref: '#/components/schemas/SegmentFilterExpression' segmentEventFilter: description: Creates a filter that matches events of a single event name. If a parameter filter expression is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter. $ref: '#/components/schemas/SegmentEventFilter' segmentFilter: description: A primitive segment filter. $ref: '#/components/schemas/SegmentFilter' andGroup: description: The SegmentFilterExpression in `andGroup` have an AND relationship. $ref: '#/components/schemas/SegmentFilterExpressionList' orGroup: description: The SegmentFilterExpression in `orGroup` have an OR relationship. $ref: '#/components/schemas/SegmentFilterExpressionList' DimensionOrderBy: description: Sorts by dimension values. type: object properties: orderType: description: Controls the rule for dimension value ordering. type: string x-enumDescriptions: - Unspecified. - Alphanumeric sort by Unicode code point. For example, "2" < "A" < "X" < "b" < "z". - Case insensitive alphanumeric sort by lower case Unicode code point. For example, "2" < "A" < "b" < "X" < "z". - Dimension values are converted to numbers before sorting. For example in NUMERIC sort, "25" < "100", and in `ALPHANUMERIC` sort, "100" < "25". Non-numeric dimension values all have equal ordering value below all numeric values. enum: - ORDER_TYPE_UNSPECIFIED - ALPHANUMERIC - CASE_INSENSITIVE_ALPHANUMERIC - NUMERIC dimensionName: description: A dimension name in the request to order by. type: string NumericFilter: description: Filters for numeric or date values. type: object properties: operation: x-enumDescriptions: - Unspecified. - Equal - Less than - Less than or equal - Greater than - Greater than or equal enum: - OPERATION_UNSPECIFIED - EQUAL - LESS_THAN - LESS_THAN_OR_EQUAL - GREATER_THAN - GREATER_THAN_OR_EQUAL description: The operation type for this filter. type: string value: description: A numeric value or a date value. $ref: '#/components/schemas/NumericValue' EventSegment: description: Event segments are subsets of events that were triggered on your site or app. for example, all purchase events made in a particular location; app_exception events that occurred on a specific operating system. type: object properties: eventInclusionCriteria: description: Defines which events are included in this segment. Optional. $ref: '#/components/schemas/EventSegmentCriteria' exclusion: description: Defines which events are excluded in this segment. Optional. $ref: '#/components/schemas/EventSegmentExclusion' CaseExpression: description: Used to convert a dimension value to a single case. type: object properties: dimensionName: description: Name of a dimension. The name must refer back to a name in dimensions field of the request. type: string StringFilter: description: The filter for string type: object properties: caseSensitive: description: If true, the string value is case sensitive. type: boolean matchType: x-enumDescriptions: - Unspecified - Exact match of the string value. - Begins with the string value. - Ends with the string value. - Contains the string value. - Full match for the regular expression with the string value. - Partial match for the regular expression with the string value. enum: - MATCH_TYPE_UNSPECIFIED - EXACT - BEGINS_WITH - ENDS_WITH - CONTAINS - FULL_REGEXP - PARTIAL_REGEXP description: The match type for this filter. type: string value: description: The string value used for the matching. type: string AudienceList: description: An audience list is a list of users in an audience at the time of the list's creation. One audience may have multiple audience lists created for different days. type: object properties: state: description: Output only. The current state for this AudienceList. type: string enum: - STATE_UNSPECIFIED - CREATING - ACTIVE - FAILED x-enumDescriptions: - Unspecified state will never be used. - The AudienceList is currently creating and will be available in the future. Creating occurs immediately after the CreateAudienceList call. - The AudienceList is fully created and ready for querying. An AudienceList is updated to active asynchronously from a request; this occurs some time (for example 15 minutes) after the initial create call. - The AudienceList failed to be created. It is possible that re-requesting this audience list will succeed. percentageCompleted: description: Output only. The percentage completed for this audience export ranging between 0 to 100. type: number format: double audienceDisplayName: description: Output only. The descriptive display name for this audience. For example, "Purchasers". type: string name: description: 'Output only. Identifier. The audience list resource name assigned during creation. This resource name identifies this `AudienceList`. Format: `properties/{property}/audienceLists/{audience_list}`' type: string audience: description: 'Required. The audience resource name. This resource name identifies the audience being listed and is shared between the Analytics Data & Admin APIs. Format: `properties/{property}/audiences/{audience}`' type: string rowCount: description: Output only. The total number of rows in the AudienceList result. type: integer format: int32 dimensions: items: $ref: '#/components/schemas/AudienceDimension' description: Required. The dimensions requested and displayed in the query response. type: array creationQuotaTokensCharged: description: Output only. The total quota tokens charged during creation of the AudienceList. Because this token count is based on activity from the `CREATING` state, this tokens charged will be fixed once an AudienceList enters the `ACTIVE` or `FAILED` states. type: integer format: int32 recurringAudienceList: description: Output only. The recurring audience list that created this audience list. Recurring audience lists create audience lists daily. If audience lists are created directly, they will have no associated recurring audience list, and this field will be blank. type: string beginCreatingTime: description: Output only. The time when CreateAudienceList was called and the AudienceList began the `CREATING` state. type: string format: google-datetime errorMessage: description: Output only. Error message is populated when an audience list fails during creation. A common reason for such a failure is quota exhaustion. type: string webhookNotification: description: Optional. Configures webhook notifications to be sent from the Google Analytics Data API to your webhook server. Use of webhooks is optional. If unused, you'll need to poll this API to determine when an audience list is ready to be used. Webhooks allow a notification to be sent to your servers & avoid the need for polling. Either one or two POST requests will be sent to the webhook. The first POST request will be sent immediately showing the newly created audience list in its CREATING state. The second POST request will be sent after the audience list completes creation (either the ACTIVE or FAILED state). If identical audience lists are requested in quick succession, the second & subsequent audience lists can be served from cache. In that case, the audience list create method can return an audience list is already ACTIVE. In this scenario, only one POST request will be sent to the webhook. $ref: '#/components/schemas/WebhookNotification' OrderBy: description: Order bys define how rows will be sorted in the response. For example, ordering rows by descending event count is one ordering, and ordering rows by the event name string is a different ordering. type: object properties: desc: description: If true, sorts by descending order. type: boolean dimension: description: Sorts results by a dimension's values. $ref: '#/components/schemas/DimensionOrderBy' metric: description: Sorts results by a metric's values. $ref: '#/components/schemas/MetricOrderBy' EmptyFilter: description: Filter for empty values. type: object properties: {} DimensionExpression: description: 'Used to express a dimension which is the result of a formula of multiple dimensions. Example usages: 1) lower_case(dimension) 2) concatenate(dimension1, symbol, dimension2).' type: object properties: concatenate: description: 'Used to combine dimension values to a single dimension. For example, dimension "country, city": concatenate(country, ", ", city).' $ref: '#/components/schemas/ConcatenateExpression' upperCase: description: Used to convert a dimension value to upper case. $ref: '#/components/schemas/CaseExpression' lowerCase: description: Used to convert a dimension value to lower case. $ref: '#/components/schemas/CaseExpression' AudienceDimensionValue: description: The value of a dimension. type: object properties: value: description: Value as a string if the dimension type is a string. type: string MetricHeader: description: Describes a metric column in the report. Visible metrics requested in a report produce column entries within rows and MetricHeaders. However, metrics used exclusively within filters or expressions do not produce columns in a report; correspondingly, those metrics do not produce headers. type: object properties: name: description: The metric's name. type: string type: description: The metric's data type. type: string x-enumDescriptions: - Unspecified type. - Integer type. - Floating point type. - A duration of seconds; a special floating point type. - A duration in milliseconds; a special floating point type. - A duration in minutes; a special floating point type. - A duration in hours; a special floating point type. - A custom metric of standard type; a special floating point type. - An amount of money; a special floating point type. - A length in feet; a special floating point type. - A length in miles; a special floating point type. - A length in meters; a special floating point type. - A length in kilometers; a special floating point type. enum: - METRIC_TYPE_UNSPECIFIED - TYPE_INTEGER - TYPE_FLOAT - TYPE_SECONDS - TYPE_MILLISECONDS - TYPE_MINUTES - TYPE_HOURS - TYPE_STANDARD - TYPE_CURRENCY - TYPE_FEET - TYPE_MILES - TYPE_METERS - TYPE_KILOMETERS SegmentFilterScoping: description: Scopings specify how the dimensions & metrics of multiple events should be considered when evaluating a segment filter. type: object properties: atAnyPointInTime: description: If `atAnyPointInTime` is true, this filter evaluates to true for all events if it evaluates to true for any event in the date range of the request. This `atAnyPointInTime` parameter does not extend the date range of events in the report. If `atAnyPointInTime` is true, only events within the report's date range are considered when evaluating this filter. This `atAnyPointInTime` is only able to be specified if the criteria scoping is `ACROSS_ALL_SESSIONS` and is not able to be specified in sequences. If the criteria scoping is `ACROSS_ALL_SESSIONS`, `atAnyPointInTime` = false is used if unspecified. type: boolean SessionSegmentConditionGroup: description: Conditions tell Analytics what data to include in or exclude from the segment. type: object properties: conditionScoping: description: Data is included or excluded from the segment based on if it matches the condition group. This scoping defines how many events the `segmentFilterExpression` is evaluated on before the condition group is determined to be matched or not. For example if `conditionScoping = SESSION_CRITERIA_WITHIN_SAME_SESSION`, the expression is evaluated on all events in a session, and then, the condition group is determined to be matched or not for this session. For example if `conditionScoping = SESSION_CRITERIA_WITHIN_SAME_EVENT`, the expression is evaluated on a single event, and then, the condition group is determined to be matched or not for this session. Optional. If unspecified, a `conditionScoping` of `WITHIN_SAME_SESSION` is used. type: string x-enumDescriptions: - Unspecified criteria scoping. Do not specify. - If the criteria is satisfied within one event, the session matches the criteria. - If the criteria is satisfied within one session, the session matches the criteria. enum: - SESSION_CRITERIA_SCOPING_UNSPECIFIED - SESSION_CRITERIA_WITHIN_SAME_EVENT - SESSION_CRITERIA_WITHIN_SAME_SESSION segmentFilterExpression: description: Data is included or excluded from the segment based on if it matches this expression. Expressions express criteria on dimension, metrics, and/or parameters. $ref: '#/components/schemas/SegmentFilterExpression' PropertyQuota: description: Current state of all quotas for this Analytics Property. If any quota for a property is exhausted, all requests to that property will return Resource Exhausted errors. type: object properties: tokensPerDay: description: Standard Analytics Properties can use up to 200,000 tokens per day; Analytics 360 Properties can use 2,000,000 tokens per day. Most requests consume fewer than 10 tokens. $ref: '#/components/schemas/QuotaStatus' tokensPerProjectPerHour: description: Analytics Properties can use up to 35% of their tokens per project per hour. This amounts to standard Analytics Properties can use up to 14,000 tokens per project per hour, and Analytics 360 Properties can use 140,000 tokens per project per hour. An API request consumes a single number of tokens, and that number is deducted from all of the hourly, daily, and per project hourly quotas. $ref: '#/components/schemas/QuotaStatus' serverErrorsPerProjectPerHour: description: Standard Analytics Properties and cloud project pairs can have up to 10 server errors per hour; Analytics 360 Properties and cloud project pairs can have up to 50 server errors per hour. $ref: '#/components/schemas/QuotaStatus' concurrentRequests: description: Standard Analytics Properties can send up to 10 concurrent requests; Analytics 360 Properties can use up to 50 concurrent requests. $ref: '#/components/schemas/QuotaStatus' tokensPerHour: description: Standard Analytics Properties can use up to 40,000 tokens per hour; Analytics 360 Properties can use 400,000 tokens per hour. An API request consumes a single number of tokens, and that number is deducted from all of the hourly, daily, and per project hourly quotas. $ref: '#/components/schemas/QuotaStatus' potentiallyThresholdedRequestsPerHour: description: Analytics Properties can send up to 120 requests with potentially thresholded dimensions per hour. In a batch request, each report request is individually counted for this quota if the request contains potentially thresholded dimensions. $ref: '#/components/schemas/QuotaStatus' UserSegment: description: User segments are subsets of users who engaged with your site or app. For example, users who have previously purchased; users who added items to their shopping carts, but didn’t complete a purchase. type: object properties: userInclusionCriteria: description: Defines which users are included in this segment. Optional. $ref: '#/components/schemas/UserSegmentCriteria' exclusion: description: Defines which users are excluded in this segment. Optional. $ref: '#/components/schemas/UserSegmentExclusion' SessionSegmentCriteria: description: A session matches a criteria if the session's events meet the conditions in the criteria. type: object properties: andConditionGroups: description: A session matches this criteria if the session matches each of these `andConditionGroups`. type: array items: $ref: '#/components/schemas/SessionSegmentConditionGroup' MetricOrderBy: description: Sorts by metric values. type: object properties: metricName: description: A metric name in the request to order by. type: string FilterExpressionList: description: A list of filter expressions. type: object properties: expressions: description: A list of filter expressions. type: array items: $ref: '#/components/schemas/FilterExpression' RunReportRequest: description: The request to generate a report. type: object properties: orderBys: items: $ref: '#/components/schemas/OrderBy' description: Optional. Specifies how rows are ordered in the response. Requests including both comparisons and multiple date ranges will have order bys applied on the comparisons. type: array comparisons: items: $ref: '#/components/schemas/Comparison' description: 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. type: array conversionSpec: description: Optional. Controls conversion reporting. This field is optional. If this field is set or any conversion metrics are requested, the report will be a conversion report. $ref: '#/components/schemas/ConversionSpec' metrics: items: $ref: '#/components/schemas/Metric' description: Optional. The metrics requested and displayed. type: array metricFilter: description: Optional. The filter clause of metrics. Applied after aggregating the report's rows, similar to SQL having-clause. Dimensions cannot be used in this filter. $ref: '#/components/schemas/FilterExpression' metricAggregations: items: type: string x-enumDescriptions: - Unspecified operator. - SUM operator. - Minimum operator. - Maximum operator. - Count operator. enum: - METRIC_AGGREGATION_UNSPECIFIED - TOTAL - MINIMUM - MAXIMUM - COUNT description: Optional. Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to "RESERVED_(MetricAggregation)". Aggregates including both comparisons and multiple date ranges will be aggregated based on the date ranges. type: array returnPropertyQuota: description: Optional. Toggles whether to return the current state of this Google Analytics property's quota. Quota is returned in [PropertyQuota](#PropertyQuota). type: boolean limit: description: Optional. The maximum 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). type: string format: int64 currencyCode: description: Optional. 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 keepEmptyRows: description: 'Optional. 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 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 dimensions: description: Optional. The dimensions requested and displayed. type: array items: $ref: '#/components/schemas/Dimension' dateRanges: description: Optional. 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. type: array items: $ref: '#/components/schemas/DateRange' dimensionFilter: description: Optional. 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. $ref: '#/components/schemas/FilterExpression' offset: description: Optional. 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). type: string format: int64 cohortSpec: description: Optional. Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension must be present. $ref: '#/components/schemas/CohortSpec' CohortsRange: description: Configures the extended reporting date range for a cohort report. Specifies an offset duration to follow the cohorts over. type: object properties: granularity: x-enumDescriptions: - Should never be specified. - Daily granularity. Commonly used if the cohort's `dateRange` is a single day and the request contains `cohortNthDay`. - Weekly granularity. Commonly used if the cohort's `dateRange` is a week in duration (starting on Sunday and ending on Saturday) and the request contains `cohortNthWeek`. - Monthly granularity. Commonly used if the cohort's `dateRange` is a month in duration and the request contains `cohortNthMonth`. enum: - GRANULARITY_UNSPECIFIED - DAILY - WEEKLY - MONTHLY description: Required. The granularity used to interpret the `startOffset` and `endOffset` for the extended reporting date range for a cohort report. type: string startOffset: description: '`startOffset` specifies the start date of the extended reporting date range for a cohort report. `startOffset` is commonly set to 0 so that reports contain data from the acquisition of the cohort forward. If `granularity` is `DAILY`, the `startDate` of the extended reporting date range is `startDate` of the cohort plus `startOffset` days. If `granularity` is `WEEKLY`, the `startDate` of the extended reporting date range is `startDate` of the cohort plus `startOffset * 7` days. If `granularity` is `MONTHLY`, the `startDate` of the extended reporting date range is `startDate` of the cohort plus `startOffset * 30` days.' type: integer format: int32 endOffset: description: Required. `endOffset` specifies the end date of the extended reporting date range for a cohort report. `endOffset` can be any positive integer but is commonly set to 5 to 10 so that reports contain data on the cohort for the next several granularity time periods. If `granularity` is `DAILY`, the `endDate` of the extended reporting date range is `endDate` of the cohort plus `endOffset` days. If `granularity` is `WEEKLY`, the `endDate` of the extended reporting date range is `endDate` of the cohort plus `endOffset * 7` days. If `granularity` is `MONTHLY`, the `endDate` of the extended reporting date range is `endDate` of the cohort plus `endOffset * 30` days. type: integer format: int32 ListRecurringAudienceListsResponse: description: A list of all recurring audience lists for a property. type: object properties: recurringAudienceLists: items: $ref: '#/components/schemas/RecurringAudienceList' description: Each recurring audience list for a property. type: array nextPageToken: description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. type: string ReportTask: description: A specific report task configuration. type: object properties: reportDefinition: description: Optional. A report definition to fetch report data, which describes the structure of a report. It typically includes the fields that will be included in the report and the criteria that will be used to filter the data. $ref: '#/components/schemas/ReportDefinition' name: description: 'Output only. Identifier. The report task resource name assigned during creation. Format: "properties/{property}/reportTasks/{report_task}"' type: string reportMetadata: description: 'Output only. The report metadata for a specific report task, which provides information about a report. It typically includes the following information: the resource name of the report, the state of the report, the timestamp the report was created, etc,' $ref: '#/components/schemas/ReportMetadata' WebhookNotification: description: Configures a long-running operation resource to send a webhook notification from the Google Analytics Data API to your webhook server when the resource updates. Notification configurations contain private values & are only visible to your GCP project. Different GCP projects may attach different webhook notifications to the same long-running operation resource. type: object properties: uri: description: Optional. The web address that will receive the webhook notification. This address will receive POST requests as the state of the long running operation resource changes. The POST request will contain both a JSON version of the long running operation resource in the body and a `sentTimestamp` field. The sent timestamp will specify the unix microseconds since the epoch that the request was sent; this lets you identify replayed notifications. An example URI is `https://us-central1-example-project-id.cloudfunctions.net/example-function-1`. The URI must use HTTPS and point to a site with a valid SSL certificate on the web server. The URI must have a maximum string length of 128 characters & use only the allowlisted characters from [RFC 1738](https://www.rfc-editor.org/rfc/rfc1738). When your webhook server receives a notification, it is expected to reply with an HTTP response status code of 200 within 5 seconds. A URI is required to use webhook notifications. Requests to this webhook server will contain an ID token authenticating the service account `google-analytics-audience-export@system.gserviceaccount.com`. To learn more about ID tokens, see https://cloud.google.com/docs/authentication/token-types#id. For Google Cloud Functions, this lets you configure your function to require authentication. In Cloud IAM, you will need to grant the service account permissions to the Cloud Run Invoker (`roles/run.invoker`) & Cloud Functions Invoker (`roles/cloudfunctions.invoker`) roles for the webhook post request to pass Google Cloud Functions authentication. This API can send webhook notifications to arbitrary URIs; for webhook servers other than Google Cloud Functions, this ID token in the authorization bearer header should be ignored if it is not needed. type: string channelToken: description: Optional. The channel token is an arbitrary string value and must have a maximum string length of 64 characters. Channel tokens allow you to verify the source of a webhook notification. This guards against the message being spoofed. The channel token will be specified in the `X-Goog-Channel-Token` HTTP header of the webhook POST request. A channel token is not required to use webhook notifications. type: string RecurringAudienceList: description: A recurring audience list produces new audience lists each day. Audience lists are users in an audience at the time of the list's creation. A recurring audience list ensures that you have audience list based on the most recent data available for use each day. type: object properties: audienceDisplayName: description: Output only. The descriptive display name for this audience. For example, "Purchasers". type: string audienceLists: description: Output only. Audience list resource names for audience list instances created for this recurring audience list. One audience list is created for each day, and the audience list will be listed here. This list is ordered with the most recently created audience list first. type: array items: type: string name: description: 'Output only. Identifier. The recurring audience list resource name assigned during creation. This resource name identifies this `RecurringAudienceList`. Format: `properties/{property}/recurringAudienceLists/{recurring_audience_list}`' type: string audience: description: 'Required. The audience resource name. This resource name identifies the audience being listed and is shared between the Analytics Data & Admin APIs. Format: `properties/{property}/audiences/{audience}`' type: string dimensions: items: $ref: '#/components/schemas/AudienceDimension' description: Required. The dimensions requested and displayed in the audience list response. type: array activeDaysRemaining: description: Optional. The number of remaining days that a recurring audience export will produce an audience list instance. This counter decreases by one each day, and when it reaches zero, no new audience lists will be created. Recurring audience list request for Analytics 360 properties default to 180 days and have a maximum of 365 days. Requests for standard Analytics properties default to 14 days and have a maximum of 30 days. The minimum value allowed during creation is 1. Requests above their respective maximum will be coerced to their maximum. type: integer format: int32 webhookNotification: description: Optional. Configures webhook notifications to be sent from the Google Analytics Data API to your webhook server. Use of webhooks is optional. If unused, you'll need to poll this API to determine when a recurring audience list creates new audience lists. Webhooks allow a notification to be sent to your servers & avoid the need for polling. Two POST requests will be sent each time a recurring audience list creates an audience list. This happens once per day until a recurring audience list reaches 0 active days remaining. The first request will be sent showing a newly created audience list in its CREATING state. The second request will be sent after the audience list completes creation (either the ACTIVE or FAILED state). $ref: '#/components/schemas/WebhookNotification' MetricValue: description: The value of a metric. type: object properties: value: description: Measurement value. See MetricHeader for type. type: string SegmentParameterFilterExpression: description: Expresses combinations of segment filter on parameters. type: object properties: orGroup: description: The SegmentParameterFilterExpression in `orGroup` have an OR relationship. $ref: '#/components/schemas/SegmentParameterFilterExpressionList' segmentParameterFilter: description: A primitive segment parameter filter. $ref: '#/components/schemas/SegmentParameterFilter' andGroup: description: The SegmentParameterFilterExpression in `andGroup` have an AND relationship. $ref: '#/components/schemas/SegmentParameterFilterExpressionList' notExpression: description: The SegmentParameterFilterExpression is NOT of `notExpression`. $ref: '#/components/schemas/SegmentParameterFilterExpression' Metadata: description: The dimensions, metrics and comparisons currently accepted in reporting methods. type: object properties: conversions: items: $ref: '#/components/schemas/ConversionMetadata' description: The conversion descriptions. type: array metrics: description: The metric descriptions. type: array items: $ref: '#/components/schemas/MetricMetadata' dimensions: description: The dimension descriptions. type: array items: $ref: '#/components/schemas/DimensionMetadata' comparisons: description: The comparison descriptions. type: array items: $ref: '#/components/schemas/ComparisonMetadata' name: description: Resource name of this metadata. type: string SegmentParameterFilterExpressionList: description: A list of segment parameter filter expressions. type: object properties: expressions: description: The list of segment parameter filter expressions. type: array items: $ref: '#/components/schemas/SegmentParameterFilterExpression' ListReportTasksResponse: description: A list of all report tasks for a property. type: object properties: nextPageToken: description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. type: string reportTasks: description: Each report task for a property. type: array items: $ref: '#/components/schemas/ReportTask' Funnel: description: Configures the funnel in a funnel report request. A funnel reports on users as they pass through a sequence of steps. Funnel exploration lets you visualize the steps your users take to complete a task and quickly see how well they are succeeding or failing at each step. For example, how do prospects become shoppers and then become buyers? How do one time buyers become repeat buyers? With this information, you can improve inefficient or abandoned customer journeys. type: object properties: isOpenFunnel: description: In an open funnel, users can enter the funnel in any step, and in a closed funnel, users must enter the funnel in the first step. Optional. If unspecified, a closed funnel is used. type: boolean steps: items: $ref: '#/components/schemas/FunnelStep' description: The sequential steps of this funnel. type: array SegmentParameterFilter: description: An expression to filter parameter values in a segment. type: object properties: betweenFilter: description: A filter for between two values. $ref: '#/components/schemas/BetweenFilter' itemParameterName: description: This filter will be evaluated on the specified item parameter. Item parameters are logged as parameters in the item array. Item parameters include fields like "item_name" & "item_category". Item parameters can only be used in segments & funnels and can only be used in a descendent filter from an EventFilter. In a descendent filter from an EventFilter either event or item parameters should be used. Item parameters are only available in ecommerce events. To learn more about ecommerce events, see the [Measure ecommerce] (https://developers.google.com/analytics/devguides/collection/ga4/ecommerce) guide. type: string stringFilter: description: Strings related filter. $ref: '#/components/schemas/StringFilter' filterScoping: description: Specifies the scope for the filter. $ref: '#/components/schemas/SegmentParameterFilterScoping' numericFilter: description: A filter for numeric or date values. $ref: '#/components/schemas/NumericFilter' eventParameterName: description: This filter will be evaluated on the specified event parameter. Event parameters are logged as parameters of the event. Event parameters include fields like "firebase_screen" & "currency". Event parameters can only be used in segments & funnels and can only be used in a descendent filter from an EventFilter. In a descendent filter from an EventFilter either event or item parameters should be used. type: string inListFilter: description: A filter for in list values. $ref: '#/components/schemas/InListFilter' Status: description: 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).' type: object properties: code: description: The status code, which should be an enum value of google.rpc.Code. type: integer format: int32 message: description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. type: string details: items: type: object additionalProperties: description: Properties of the object. Contains field @type with type URL. description: A list of messages that carry the error details. There is a common set of message types for APIs to use. type: array InListFilter: description: The result needs to be in a list of string values. type: object properties: caseSensitive: description: If true, the string value is case sensitive. type: boolean values: description: The list of string values. Must be non-empty. type: array items: type: string BetweenFilter: description: To express that the result needs to be between two numbers (inclusive). type: object properties: toValue: description: Ends with this number. $ref: '#/components/schemas/NumericValue' fromValue: description: Begins with this number. $ref: '#/components/schemas/NumericValue' ActiveMetricRestriction: description: A metric actively restricted in creating the report. type: object properties: metricName: description: The name of the restricted metric. type: string restrictedMetricTypes: items: type: string x-enumDescriptions: - Unspecified type. - Cost metrics such as `adCost`. - Revenue metrics such as `purchaseRevenue`. enum: - RESTRICTED_METRIC_TYPE_UNSPECIFIED - COST_DATA - REVENUE_DATA description: The reason for this metric's restriction. type: array DimensionHeader: description: Describes a dimension column in the report. Dimensions requested in a report produce column entries within rows and DimensionHeaders. However, dimensions used exclusively within filters or expressions do not produce columns in a report; correspondingly, those dimensions do not produce headers. type: object properties: name: description: The dimension's name. type: string FunnelSubReport: description: Funnel sub reports contain the dimension and metric data values. For example, 12 users reached the second step of the funnel. type: object properties: rows: description: Rows of dimension value combinations and metric values in the report. type: array items: $ref: '#/components/schemas/Row' metadata: description: Metadata for the funnel report. $ref: '#/components/schemas/FunnelResponseMetadata' dimensionHeaders: items: $ref: '#/components/schemas/DimensionHeader' description: Describes dimension columns. Funnel reports always include the funnel step dimension in sub report responses. Additional dimensions like breakdowns, dates, and next actions may be present in the response if requested. type: array metricHeaders: items: $ref: '#/components/schemas/MetricHeader' description: Describes metric columns. Funnel reports always include active users in sub report responses. The funnel table includes additional metrics like completion rate, abandonments, and abandonments rate. type: array SegmentParameterFilterScoping: description: Scopings specify how multiple events should be considered when evaluating a segment parameter filter. type: object properties: inAnyNDayPeriod: description: 'Accumulates the parameter over the specified period of days before applying the filter. Only supported if criteria scoping is `ACROSS_ALL_SESSIONS` or `WITHIN_SAME_SESSION`. Only supported if the parameter is `event_count`. For example if `inAnyNDayPeriod` is 3, the event_name is "purchase", the event parameter is "event_count", and the Filter''s criteria is greater than 5, this filter will accumulate the event count of purchase events over every 3 consecutive day period in the report''s date range; a user will pass this Filter''s criteria to be included in this segment if their count of purchase events exceeds 5 in any 3 consecutive day period. For example, the periods 2021-11-01 to 2021-11-03, 2021-11-02 to 2021-11-04, 2021-11-03 to 2021-11-05, and etc. will be considered. The date range is not extended for the purpose of having a full N day window near the start of the date range. For example if a report is for 2021-11-01 to 2021-11-10 and `inAnyNDayPeriod` = 3, the first two day period will be effectively shortened because no event data outside the report''s date range will be read. For example, the first four periods will effectively be: 2021-11-01 to 2021-11-01, 2021-11-01 to 2021-11-02, 2021-11-01 to 2021-11-03, and 2021-11-02 to 2021-11-04. `inAnyNDayPeriod` is optional. If not specified, the `segmentParameterFilter` is applied to each event individually.' type: string format: int64 PropertyQuotasSnapshot: description: Current state of all Property Quotas organized by quota category. type: object properties: corePropertyQuota: description: Property Quota for core property tokens $ref: '#/components/schemas/PropertyQuota' funnelPropertyQuota: description: Property Quota for funnel property tokens $ref: '#/components/schemas/PropertyQuota' realtimePropertyQuota: description: Property Quota for realtime property tokens $ref: '#/components/schemas/PropertyQuota' name: description: Identifier. The property quota snapshot resource name. type: string SessionSegmentExclusion: description: Specifies which sessions are excluded in this segment. type: object properties: sessionExclusionDuration: x-enumDescriptions: - Unspecified exclusion duration. Do not specify. - Temporarily exclude sessions from the segment during periods when the session meets the `sessionExclusionCriteria` condition. - Permanently exclude sessions from the segment if the session ever meets the `sessionExclusionCriteria` condition. enum: - SESSION_EXCLUSION_DURATION_UNSPECIFIED - SESSION_EXCLUSION_TEMPORARY - SESSION_EXCLUSION_PERMANENT description: Specifies how long an exclusion will last if a session matches the `sessionExclusionCriteria`. Optional. If unspecified, a `sessionExclusionDuration` of `SESSION_EXCLUSION_TEMPORARY` is used. type: string sessionExclusionCriteria: description: If a session meets this condition, the session is excluded from membership in the segment for the `sessionExclusionDuration`. $ref: '#/components/schemas/SessionSegmentCriteria' SegmentFilter: description: An expression to filter dimension or metric values. type: object properties: betweenFilter: description: A filter for between two values. $ref: '#/components/schemas/BetweenFilter' stringFilter: description: Strings related filter. $ref: '#/components/schemas/StringFilter' filterScoping: description: Specifies the scope for the filter. $ref: '#/components/schemas/SegmentFilterScoping' fieldName: description: The dimension name or metric name. type: string numericFilter: description: A filter for numeric or date values. $ref: '#/components/schemas/NumericFilter' inListFilter: description: A filter for in list values. $ref: '#/components/schemas/InListFilter' RunFunnelReportRequest: description: The request for a funnel report. type: object properties: limit: description: Optional. 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`. type: string format: int64 dimensionFilter: description: 'Optional. Dimension filters allow you to ask for only specific dimension values in the report. To learn more, see [Creating a Report: Dimension Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) for examples. Metrics cannot be used in this filter.' $ref: '#/components/schemas/FilterExpression' returnPropertyQuota: description: Optional. Toggles whether to return the current state of this Analytics Property's quota. Quota is returned in [PropertyQuota](#PropertyQuota). type: boolean funnel: description: Optional. The configuration of this request's funnel. This funnel configuration is required. $ref: '#/components/schemas/Funnel' funnelBreakdown: description: Optional. If specified, this breakdown adds a dimension to the funnel table sub report response. This breakdown dimension expands each funnel step to the unique values of the breakdown dimension. For example, a breakdown by the `deviceCategory` dimension will create rows for `mobile`, `tablet`, `desktop`, and the total. $ref: '#/components/schemas/FunnelBreakdown' segments: items: $ref: '#/components/schemas/Segment' description: Optional. The configurations of segments. Segments are subsets of a property's data. In a funnel report with segments, the funnel is evaluated in each segment. Each segment specified in this request produces a separate row in the response; in the response, each segment identified by its name. The segments parameter is optional. Requests are limited to 4 segments. type: array funnelNextAction: description: Optional. If specified, next action adds a dimension to the funnel visualization sub report response. This next action dimension expands each funnel step to the unique values of the next action. For example a next action of the `eventName` dimension will create rows for several events (for example `session_start` & `click`) and the total. Next action only supports `eventName` and most Page / Screen dimensions like `pageTitle` and `pagePath`. $ref: '#/components/schemas/FunnelNextAction' funnelVisualizationType: description: Optional. The funnel visualization type controls the dimensions present in the funnel visualization sub report response. If not specified, `STANDARD_FUNNEL` is used. type: string x-enumDescriptions: - Unspecified type. - A standard (stepped) funnel. The funnel visualization sub report in the response will not contain date. - A trended (line chart) funnel. The funnel visualization sub report in the response will contain the date dimension. enum: - FUNNEL_VISUALIZATION_TYPE_UNSPECIFIED - STANDARD_FUNNEL - TRENDED_FUNNEL dateRanges: description: Optional. 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. type: array items: $ref: '#/components/schemas/DateRange' Filter: description: An expression to filter dimension or metric values. type: object properties: betweenFilter: description: A filter for between two values. $ref: '#/components/schemas/BetweenFilter' stringFilter: description: Strings related filter. $ref: '#/components/schemas/StringFilter' emptyFilter: description: A filter for empty values such as "(not set)" and "" values. $ref: '#/components/schemas/EmptyFilter' fieldName: description: The dimension name or metric name. Must be a name defined in dimensions or metrics. type: string numericFilter: description: A filter for numeric or date values. $ref: '#/components/schemas/NumericFilter' inListFilter: description: A filter for in list values. $ref: '#/components/schemas/InListFilter' Comparison: description: Defines an individual comparison. Most requests will include multiple comparisons so that the report compares between the comparisons. type: object properties: comparison: description: A saved comparison identified by the comparison's resource name. For example, 'comparisons/1234'. type: string name: description: Each comparison produces separate rows in the response. In the response, this comparison is identified by this name. If name is unspecified, we will use the saved comparisons display name. type: string dimensionFilter: description: A basic comparison. $ref: '#/components/schemas/FilterExpression' QueryReportTaskRequest: description: A request to fetch the report content for a report task. type: object properties: offset: description: Optional. The row count of the start row in the report. 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). type: string format: int64 limit: description: Optional. The number of rows to return from the report. 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`. The number of rows available to a QueryReportTaskRequest is further limited by the limit of the associated ReportTask. A query can retrieve at most ReportTask.limit rows. For example, if the ReportTask has a limit of 1,000, then a QueryReportTask request with offset=900 and limit=500 will return at most 100 rows. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). type: string format: int64 FunnelBreakdown: description: Breakdowns add a dimension to the funnel table sub report response. type: object properties: breakdownDimension: description: The dimension column added to the funnel table sub report response. The breakdown dimension breaks down each funnel step. A valid `breakdownDimension` is required if `funnelBreakdown` is specified. $ref: '#/components/schemas/Dimension' limit: description: The maximum number of distinct values of the breakdown dimension to return in the response. A `limit` of `5` is used if limit is not specified. Limit must exceed zero and cannot exceed 15. type: string format: int64 RunReportResponse: description: The response report table corresponding to a request. type: object properties: minimums: items: $ref: '#/components/schemas/Row' description: If requested, the minimum values of metrics. type: array metadata: description: Metadata for the report. $ref: '#/components/schemas/ResponseMetaData' kind: description: Identifies what kind of resource this message is. This `kind` is always the fixed string "analyticsData#runReport". Useful to distinguish between response types in JSON. type: string nextPageToken: description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. type: string dimensionHeaders: description: Describes dimension columns. The number of DimensionHeaders and ordering of DimensionHeaders matches the dimensions present in rows. type: array items: $ref: '#/components/schemas/DimensionHeader' metricHeaders: items: $ref: '#/components/schemas/MetricHeader' description: Describes metric columns. The number of MetricHeaders and ordering of MetricHeaders matches the metrics present in rows. type: array propertyQuota: description: This Analytics Property's quota state including this request. $ref: '#/components/schemas/PropertyQuota' rowCount: description: The total number of rows in the query result, regardless of the number of rows returned in the response. For example if a query returns 175 rows and includes limit = 50 in the API request, the response will contain row_count = 175 but only 50 rows. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). type: integer format: int32 rows: description: Rows of dimension value combinations and metric values in the report. type: array items: $ref: '#/components/schemas/Row' totals: description: If requested, the totaled values of metrics. type: array items: $ref: '#/components/schemas/Row' maximums: items: $ref: '#/components/schemas/Row' description: If requested, the maximum values of metrics. type: array Operation: description: This resource represents a long-running operation that is the result of a network API call. type: object properties: name: description: The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. type: string metadata: description: Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. type: object additionalProperties: description: Properties of the object. Contains field @type with type URL. done: description: If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. type: boolean response: additionalProperties: description: Properties of the object. Contains field @type with type URL. description: The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. type: object error: description: The error result of the operation in case of failure or cancellation. $ref: '#/components/schemas/Status' FunnelFilterExpression: description: Expresses combinations of funnel filters. type: object properties: notExpression: description: The FunnelFilterExpression is NOT of `notExpression`. $ref: '#/components/schemas/FunnelFilterExpression' orGroup: description: The FunnelFilterExpression in `orGroup` have an OR relationship. $ref: '#/components/schemas/FunnelFilterExpressionList' andGroup: description: The FunnelFilterExpression in `andGroup` have an AND relationship. $ref: '#/components/schemas/FunnelFilterExpressionList' funnelFieldFilter: description: A funnel filter for a dimension or metric. $ref: '#/components/schemas/FunnelFieldFilter' funnelEventFilter: description: Creates a filter that matches events of a single event name. If a parameter filter expression is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter. $ref: '#/components/schemas/FunnelEventFilter' DimensionValue: description: The value of a dimension. type: object properties: value: description: Value as a string if the dimension type is a string. type: string FunnelFieldFilter: description: An expression to filter dimension or metric values. type: object properties: inListFilter: description: A filter for in list values. $ref: '#/components/schemas/InListFilter' fieldName: description: The dimension name or metric name. type: string numericFilter: description: A filter for numeric or date values. $ref: '#/components/schemas/NumericFilter' betweenFilter: description: A filter for between two values. $ref: '#/components/schemas/BetweenFilter' stringFilter: description: Strings related filter. $ref: '#/components/schemas/StringFilter' CohortSpec: description: The specification of cohorts for a cohort report. Cohort reports create a time series of user retention for the cohort. For example, you could select the cohort of users that were acquired in the first week of September and follow that cohort for the next six weeks. Selecting the users acquired in the first week of September cohort is specified in the `cohort` object. Following that cohort for the next six weeks is specified in the `cohortsRange` object. For examples, see [Cohort Report Examples](https://developers.google.com/analytics/devguides/reporting/data/v1/advanced#cohort_report_examples). The report response could show a weekly time series where say your app has retained 60% of this cohort after three weeks and 25% of this cohort after six weeks. These two percentages can be calculated by the metric `cohortActiveUsers/cohortTotalUsers` and will be separate rows in the report. type: object properties: cohorts: items: $ref: '#/components/schemas/Cohort' description: Defines the selection criteria to group users into cohorts. Most cohort reports define only a single cohort. If multiple cohorts are specified, each cohort can be recognized in the report by their name. type: array cohortsRange: description: Cohort reports follow cohorts over an extended reporting date range. This range specifies an offset duration to follow the cohorts over. $ref: '#/components/schemas/CohortsRange' cohortReportSettings: description: Optional settings for a cohort report. $ref: '#/components/schemas/CohortReportSettings' FilterExpression: description: To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics. type: object properties: orGroup: description: The FilterExpressions in or_group have an OR relationship. $ref: '#/components/schemas/FilterExpressionList' andGroup: description: The FilterExpressions in and_group have an AND relationship. $ref: '#/components/schemas/FilterExpressionList' notExpression: description: The FilterExpression is NOT of not_expression. $ref: '#/components/schemas/FilterExpression' filter: description: A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all dimensions or all metrics. $ref: '#/components/schemas/Filter' GoogleRpcStatus: type: object description: Canonical google.rpc.Status error payload returned by Google APIs. properties: code: type: integer format: int32 message: type: string details: type: array items: type: object securitySchemes: OAuth2: type: oauth2 description: Google OAuth 2.0. Scopes are the short form of the full https://www.googleapis.com/auth/ identifier. flows: authorizationCode: authorizationUrl: https://accounts.google.com/o/oauth2/v2/auth tokenUrl: https://oauth2.googleapis.com/token scopes: analytics: View and manage your Google Analytics data analytics.readonly: See and download your Google Analytics data BearerAuth: type: http scheme: bearer description: Google OAuth 2.0 access token presented as a bearer token.