# frozen_string_literal: true # Copyright 2021 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Auto-generated by gapic-generator-ruby. DO NOT EDIT! module Google module Analytics module Data module V1beta # The request for compatibility information for a report's dimensions and # metrics. Check compatibility provides a preview of the compatibility of a # report; fields shared with the `runReport` request should be the same values # as in your `runReport` request. # @!attribute [rw] property # @return [::String] # A Google Analytics GA4 property identifier whose events are tracked. To # learn more, see [where to find your Property # ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). # `property` should be the same value as in your `runReport` request. # # Example: properties/1234 # @!attribute [rw] dimensions # @return [::Array<::Google::Analytics::Data::V1beta::Dimension>] # The dimensions in this report. `dimensions` should be the same value as in # your `runReport` request. # @!attribute [rw] metrics # @return [::Array<::Google::Analytics::Data::V1beta::Metric>] # The metrics in this report. `metrics` should be the same value as in your # `runReport` request. # @!attribute [rw] dimension_filter # @return [::Google::Analytics::Data::V1beta::FilterExpression] # The filter clause of dimensions. `dimensionFilter` should be the same value # as in your `runReport` request. # @!attribute [rw] metric_filter # @return [::Google::Analytics::Data::V1beta::FilterExpression] # The filter clause of metrics. `metricFilter` should be the same value as in # your `runReport` request # @!attribute [rw] compatibility_filter # @return [::Google::Analytics::Data::V1beta::Compatibility] # Filters the dimensions and metrics in the response to just this # compatibility. Commonly used as `”compatibilityFilter”: “COMPATIBLE”` # to only return compatible dimensions & metrics. class CheckCompatibilityRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The compatibility response with the compatibility of each dimension & metric. # @!attribute [rw] dimension_compatibilities # @return [::Array<::Google::Analytics::Data::V1beta::DimensionCompatibility>] # The compatibility of each dimension. # @!attribute [rw] metric_compatibilities # @return [::Array<::Google::Analytics::Data::V1beta::MetricCompatibility>] # The compatibility of each metric. class CheckCompatibilityResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The dimensions and metrics currently accepted in reporting methods. # @!attribute [rw] name # @return [::String] # Resource name of this metadata. # @!attribute [rw] dimensions # @return [::Array<::Google::Analytics::Data::V1beta::DimensionMetadata>] # The dimension descriptions. # @!attribute [rw] metrics # @return [::Array<::Google::Analytics::Data::V1beta::MetricMetadata>] # The metric descriptions. class Metadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request to generate a report. # @!attribute [rw] property # @return [::String] # A Google Analytics GA4 property identifier whose events are tracked. # Specified in the URL path and not the body. To learn more, see [where to # find your Property # ID](https://developers.google.com/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 # @!attribute [rw] dimensions # @return [::Array<::Google::Analytics::Data::V1beta::Dimension>] # The dimensions requested and displayed. # @!attribute [rw] metrics # @return [::Array<::Google::Analytics::Data::V1beta::Metric>] # The metrics requested and displayed. # @!attribute [rw] date_ranges # @return [::Array<::Google::Analytics::Data::V1beta::DateRange>] # 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. # @!attribute [rw] dimension_filter # @return [::Google::Analytics::Data::V1beta::FilterExpression] # 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. # @!attribute [rw] metric_filter # @return [::Google::Analytics::Data::V1beta::FilterExpression] # The filter clause of metrics. Applied after aggregating the report's rows, # similar to SQL having-clause. Dimensions cannot be used in this filter. # @!attribute [rw] offset # @return [::Integer] # 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). # @!attribute [rw] limit # @return [::Integer] # The number of rows to return. If unspecified, 10,000 rows are returned. The # API returns a maximum of 250,000 rows per request, no matter how many you # ask for. `limit` must be positive. # # The API can also return fewer rows than the requested `limit`, if there # aren't as many dimension values as the `limit`. For instance, there are # fewer than 300 possible values for the dimension `country`, so when # reporting on only `country`, you can't get more than 300 rows, even if you # set `limit` to a higher value. # # To learn more about this pagination parameter, see # [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). # @!attribute [rw] metric_aggregations # @return [::Array<::Google::Analytics::Data::V1beta::MetricAggregation>] # Aggregation of metrics. Aggregated metric values will be shown in rows # where the dimension_values are set to "RESERVED_(MetricAggregation)". # @!attribute [rw] order_bys # @return [::Array<::Google::Analytics::Data::V1beta::OrderBy>] # Specifies how rows are ordered in the response. # @!attribute [rw] currency_code # @return [::String] # A currency code in ISO4217 format, such as "AED", "USD", "JPY". # If the field is empty, the report uses the property's default currency. # @!attribute [rw] cohort_spec # @return [::Google::Analytics::Data::V1beta::CohortSpec] # Cohort group associated with this request. If there is a cohort group # in the request the 'cohort' dimension must be present. # @!attribute [rw] keep_empty_rows # @return [::Boolean] # If false or unspecified, each row with all metrics equal to 0 will not be # returned. If true, these rows will be returned if they are not separately # removed by a filter. # # Regardless of this `keep_empty_rows` setting, only data recorded by the # Google Analytics (GA4) property can be displayed in a report. # # For example if a property never logs a `purchase` event, then a query for # the `eventName` dimension and `eventCount` metric will not have a row # eventName: "purchase" and eventCount: 0. # @!attribute [rw] return_property_quota # @return [::Boolean] # Toggles whether to return the current state of this Analytics Property's # quota. Quota is returned in [PropertyQuota](#PropertyQuota). class RunReportRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The response report table corresponding to a request. # @!attribute [rw] dimension_headers # @return [::Array<::Google::Analytics::Data::V1beta::DimensionHeader>] # Describes dimension columns. The number of DimensionHeaders and ordering of # DimensionHeaders matches the dimensions present in rows. # @!attribute [rw] metric_headers # @return [::Array<::Google::Analytics::Data::V1beta::MetricHeader>] # Describes metric columns. The number of MetricHeaders and ordering of # MetricHeaders matches the metrics present in rows. # @!attribute [rw] rows # @return [::Array<::Google::Analytics::Data::V1beta::Row>] # Rows of dimension value combinations and metric values in the report. # @!attribute [rw] totals # @return [::Array<::Google::Analytics::Data::V1beta::Row>] # If requested, the totaled values of metrics. # @!attribute [rw] maximums # @return [::Array<::Google::Analytics::Data::V1beta::Row>] # If requested, the maximum values of metrics. # @!attribute [rw] minimums # @return [::Array<::Google::Analytics::Data::V1beta::Row>] # If requested, the minimum values of metrics. # @!attribute [rw] row_count # @return [::Integer] # The total number of rows in the query 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). # @!attribute [rw] metadata # @return [::Google::Analytics::Data::V1beta::ResponseMetaData] # Metadata for the report. # @!attribute [rw] property_quota # @return [::Google::Analytics::Data::V1beta::PropertyQuota] # This Analytics Property's quota state including this request. # @!attribute [rw] kind # @return [::String] # 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. class RunReportResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request to generate a pivot report. # @!attribute [rw] property # @return [::String] # A Google Analytics GA4 property identifier whose events are tracked. # Specified in the URL path and not the body. To learn more, see [where to # find your Property # ID](https://developers.google.com/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 # @!attribute [rw] dimensions # @return [::Array<::Google::Analytics::Data::V1beta::Dimension>] # The dimensions requested. All defined dimensions must be used by one of the # following: dimension_expression, dimension_filter, pivots, order_bys. # @!attribute [rw] metrics # @return [::Array<::Google::Analytics::Data::V1beta::Metric>] # The metrics requested, at least one metric needs to be specified. All # defined metrics must be used by one of the following: metric_expression, # metric_filter, order_bys. # @!attribute [rw] date_ranges # @return [::Array<::Google::Analytics::Data::V1beta::DateRange>] # The date range to retrieve event data for the report. If multiple date # ranges are specified, event data from each date range is used in the # report. A special dimension with field name "dateRange" can be included in # a Pivot's field names; if included, the report compares between date # ranges. In a cohort request, this `dateRanges` must be unspecified. # @!attribute [rw] pivots # @return [::Array<::Google::Analytics::Data::V1beta::Pivot>] # Describes the visual format of the report's dimensions in columns or rows. # The union of the fieldNames (dimension names) in all pivots must be a # subset of dimension names defined in Dimensions. No two pivots can share a # dimension. A dimension is only visible if it appears in a pivot. # @!attribute [rw] dimension_filter # @return [::Google::Analytics::Data::V1beta::FilterExpression] # The filter clause of dimensions. Dimensions must be requested to be used in # this filter. Metrics cannot be used in this filter. # @!attribute [rw] metric_filter # @return [::Google::Analytics::Data::V1beta::FilterExpression] # The filter clause of metrics. Applied at post aggregation phase, similar to # SQL having-clause. Metrics must be requested to be used in this filter. # Dimensions cannot be used in this filter. # @!attribute [rw] currency_code # @return [::String] # A currency code in ISO4217 format, such as "AED", "USD", "JPY". # If the field is empty, the report uses the property's default currency. # @!attribute [rw] cohort_spec # @return [::Google::Analytics::Data::V1beta::CohortSpec] # Cohort group associated with this request. If there is a cohort group # in the request the 'cohort' dimension must be present. # @!attribute [rw] keep_empty_rows # @return [::Boolean] # If false or unspecified, each row with all metrics equal to 0 will not be # returned. If true, these rows will be returned if they are not separately # removed by a filter. # # Regardless of this `keep_empty_rows` setting, only data recorded by the # Google Analytics (GA4) property can be displayed in a report. # # For example if a property never logs a `purchase` event, then a query for # the `eventName` dimension and `eventCount` metric will not have a row # eventName: "purchase" and eventCount: 0. # @!attribute [rw] return_property_quota # @return [::Boolean] # Toggles whether to return the current state of this Analytics Property's # quota. Quota is returned in [PropertyQuota](#PropertyQuota). class RunPivotReportRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The response pivot report table corresponding to a pivot request. # @!attribute [rw] pivot_headers # @return [::Array<::Google::Analytics::Data::V1beta::PivotHeader>] # Summarizes the columns and rows created by a pivot. Each pivot in the # request produces one header in the response. If we have a request like # this: # # "pivots": [{ # "fieldNames": ["country", # "city"] # }, # { # "fieldNames": "eventName" # }] # # We will have the following `pivotHeaders` in the response: # # "pivotHeaders" : [{ # "dimensionHeaders": [{ # "dimensionValues": [ # { "value": "United Kingdom" }, # { "value": "London" } # ] # }, # { # "dimensionValues": [ # { "value": "Japan" }, # { "value": "Osaka" } # ] # }] # }, # { # "dimensionHeaders": [{ # "dimensionValues": [{ "value": "session_start" }] # }, # { # "dimensionValues": [{ "value": "scroll" }] # }] # }] # @!attribute [rw] dimension_headers # @return [::Array<::Google::Analytics::Data::V1beta::DimensionHeader>] # Describes dimension columns. The number of DimensionHeaders and ordering of # DimensionHeaders matches the dimensions present in rows. # @!attribute [rw] metric_headers # @return [::Array<::Google::Analytics::Data::V1beta::MetricHeader>] # Describes metric columns. The number of MetricHeaders and ordering of # MetricHeaders matches the metrics present in rows. # @!attribute [rw] rows # @return [::Array<::Google::Analytics::Data::V1beta::Row>] # Rows of dimension value combinations and metric values in the report. # @!attribute [rw] aggregates # @return [::Array<::Google::Analytics::Data::V1beta::Row>] # Aggregation of metric values. Can be totals, minimums, or maximums. The # returned aggregations are controlled by the metric_aggregations in the # pivot. The type of aggregation returned in each row is shown by the # dimension_values which are set to "RESERVED_". # @!attribute [rw] metadata # @return [::Google::Analytics::Data::V1beta::ResponseMetaData] # Metadata for the report. # @!attribute [rw] property_quota # @return [::Google::Analytics::Data::V1beta::PropertyQuota] # This Analytics Property's quota state including this request. # @!attribute [rw] kind # @return [::String] # Identifies what kind of resource this message is. This `kind` is always the # fixed string "analyticsData#runPivotReport". Useful to distinguish between # response types in JSON. class RunPivotReportResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The batch request containing multiple report requests. # @!attribute [rw] property # @return [::String] # A Google Analytics GA4 property identifier whose events are tracked. # Specified in the URL path and not the body. To learn more, see [where to # find your Property # ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). # This property must be specified for the batch. The property within # RunReportRequest may either be unspecified or consistent with this # property. # # Example: properties/1234 # @!attribute [rw] requests # @return [::Array<::Google::Analytics::Data::V1beta::RunReportRequest>] # Individual requests. Each request has a separate report response. Each # batch request is allowed up to 5 requests. class BatchRunReportsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The batch response containing multiple reports. # @!attribute [rw] reports # @return [::Array<::Google::Analytics::Data::V1beta::RunReportResponse>] # Individual responses. Each response has a separate report request. # @!attribute [rw] kind # @return [::String] # Identifies what kind of resource this message is. This `kind` is always the # fixed string "analyticsData#batchRunReports". Useful to distinguish between # response types in JSON. class BatchRunReportsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The batch request containing multiple pivot report requests. # @!attribute [rw] property # @return [::String] # A Google Analytics GA4 property identifier whose events are tracked. # Specified in the URL path and not the body. To learn more, see [where to # find your Property # ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). # This property must be specified for the batch. The property within # RunPivotReportRequest may either be unspecified or consistent with this # property. # # Example: properties/1234 # @!attribute [rw] requests # @return [::Array<::Google::Analytics::Data::V1beta::RunPivotReportRequest>] # Individual requests. Each request has a separate pivot report response. # Each batch request is allowed up to 5 requests. class BatchRunPivotReportsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The batch response containing multiple pivot reports. # @!attribute [rw] pivot_reports # @return [::Array<::Google::Analytics::Data::V1beta::RunPivotReportResponse>] # Individual responses. Each response has a separate pivot report request. # @!attribute [rw] kind # @return [::String] # Identifies what kind of resource this message is. This `kind` is always the # fixed string "analyticsData#batchRunPivotReports". Useful to distinguish # between response types in JSON. class BatchRunPivotReportsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request for a property's dimension and metric metadata. # @!attribute [rw] name # @return [::String] # 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 GA4 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. class GetMetadataRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request to generate a realtime report. # @!attribute [rw] property # @return [::String] # A Google Analytics GA4 property identifier whose events are tracked. # Specified in the URL path and not the body. To learn more, see [where to # find your Property # ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). # # Example: properties/1234 # @!attribute [rw] dimensions # @return [::Array<::Google::Analytics::Data::V1beta::Dimension>] # The dimensions requested and displayed. # @!attribute [rw] metrics # @return [::Array<::Google::Analytics::Data::V1beta::Metric>] # The metrics requested and displayed. # @!attribute [rw] dimension_filter # @return [::Google::Analytics::Data::V1beta::FilterExpression] # The filter clause of dimensions. Metrics cannot be used in this filter. # @!attribute [rw] metric_filter # @return [::Google::Analytics::Data::V1beta::FilterExpression] # The filter clause of metrics. Applied at post aggregation phase, similar to # SQL having-clause. Dimensions cannot be used in this filter. # @!attribute [rw] limit # @return [::Integer] # The number of rows to return. If unspecified, 10,000 rows are returned. The # API returns a maximum of 250,000 rows per request, no matter how many you # ask for. `limit` must be positive. # # The API can also return fewer rows than the requested `limit`, if there # aren't as many dimension values as the `limit`. For instance, there are # fewer than 300 possible values for the dimension `country`, so when # reporting on only `country`, you can't get more than 300 rows, even if you # set `limit` to a higher value. # @!attribute [rw] metric_aggregations # @return [::Array<::Google::Analytics::Data::V1beta::MetricAggregation>] # Aggregation of metrics. Aggregated metric values will be shown in rows # where the dimension_values are set to "RESERVED_(MetricAggregation)". # @!attribute [rw] order_bys # @return [::Array<::Google::Analytics::Data::V1beta::OrderBy>] # Specifies how rows are ordered in the response. # @!attribute [rw] return_property_quota # @return [::Boolean] # Toggles whether to return the current state of this Analytics Property's # Realtime quota. Quota is returned in [PropertyQuota](#PropertyQuota). # @!attribute [rw] minute_ranges # @return [::Array<::Google::Analytics::Data::V1beta::MinuteRange>] # The minute ranges of event data to read. If unspecified, one minute range # for the last 30 minutes will be used. If multiple minute ranges are # requested, each response row will contain a zero based minute range index. # If two minute ranges overlap, the event data for the overlapping minutes is # included in the response rows for both minute ranges. class RunRealtimeReportRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The response realtime report table corresponding to a request. # @!attribute [rw] dimension_headers # @return [::Array<::Google::Analytics::Data::V1beta::DimensionHeader>] # Describes dimension columns. The number of DimensionHeaders and ordering of # DimensionHeaders matches the dimensions present in rows. # @!attribute [rw] metric_headers # @return [::Array<::Google::Analytics::Data::V1beta::MetricHeader>] # Describes metric columns. The number of MetricHeaders and ordering of # MetricHeaders matches the metrics present in rows. # @!attribute [rw] rows # @return [::Array<::Google::Analytics::Data::V1beta::Row>] # Rows of dimension value combinations and metric values in the report. # @!attribute [rw] totals # @return [::Array<::Google::Analytics::Data::V1beta::Row>] # If requested, the totaled values of metrics. # @!attribute [rw] maximums # @return [::Array<::Google::Analytics::Data::V1beta::Row>] # If requested, the maximum values of metrics. # @!attribute [rw] minimums # @return [::Array<::Google::Analytics::Data::V1beta::Row>] # If requested, the minimum values of metrics. # @!attribute [rw] row_count # @return [::Integer] # The total number of rows in the query result. `rowCount` is independent of # the number of rows returned in the response and the `limit` 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. # @!attribute [rw] property_quota # @return [::Google::Analytics::Data::V1beta::PropertyQuota] # This Analytics Property's Realtime quota state including this request. # @!attribute [rw] kind # @return [::String] # Identifies what kind of resource this message is. This `kind` is always the # fixed string "analyticsData#runRealtimeReport". Useful to distinguish # between response types in JSON. class RunRealtimeReportResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end end end end