# frozen_string_literal: true # Copyright 2020 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 V1alpha # A contiguous set of days: startDate, startDate + 1, ..., endDate. Requests # are allowed up to 4 date ranges. # @!attribute [rw] start_date # @return [::String] # 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. # @!attribute [rw] end_date # @return [::String] # 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. # @!attribute [rw] name # @return [::String] # 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. class DateRange include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The unique identifier of the property whose events are tracked. # @!attribute [rw] property_id # @return [::String] # A Google Analytics GA4 property id. To learn more, see [where to find your # Property # ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). class Entity include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # 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, city could be "Paris" or "New York". # Requests are allowed up to 8 dimensions. # @!attribute [rw] name # @return [::String] # 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. # # If `dimensionExpression` is specified, `name` can be any string that you # would like. For example if a `dimensionExpression` concatenates `country` # and `city`, you could call that dimension `countryAndCity`. # # Dimensions are referenced by `name` in `dimensionFilter`, `orderBys`, # `dimensionExpression`, and `pivots`. # @!attribute [rw] dimension_expression # @return [::Google::Analytics::Data::V1alpha::DimensionExpression] # One dimension can be the result of an expression of multiple dimensions. # For example, dimension "country, city": concatenate(country, ", ", city). class Dimension include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # 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). # @!attribute [rw] lower_case # @return [::Google::Analytics::Data::V1alpha::DimensionExpression::CaseExpression] # Used to convert a dimension value to lower case. # @!attribute [rw] upper_case # @return [::Google::Analytics::Data::V1alpha::DimensionExpression::CaseExpression] # Used to convert a dimension value to upper case. # @!attribute [rw] concatenate # @return [::Google::Analytics::Data::V1alpha::DimensionExpression::ConcatenateExpression] # Used to combine dimension values to a single dimension. # For example, dimension "country, city": concatenate(country, ", ", city). class DimensionExpression include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Used to convert a dimension value to a single case. # @!attribute [rw] dimension_name # @return [::String] # Name of a dimension. The name must refer back to a name in dimensions # field of the request. class CaseExpression include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Used to combine dimension values to a single dimension. # @!attribute [rw] dimension_names # @return [::Array<::String>] # Names of dimensions. The names must refer back to names in the dimensions # field of the request. # @!attribute [rw] delimiter # @return [::String] # 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". class ConcatenateExpression include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end # The quantitative measurements of a report. For example, the metric # `eventCount` is the total number of events. Requests are allowed up to 10 # metrics. # @!attribute [rw] name # @return [::String] # 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. # # If `expression` is specified, `name` can be any string that you would like. # For example if `expression` is `screenPageViews/sessions`, you could call # that metric's name = `viewsPerSession`. # # Metrics are referenced by `name` in `metricFilter`, `orderBys`, and metric # `expression`. # @!attribute [rw] expression # @return [::String] # A mathematical expression for derived metrics. For example, the metric # Event count per user is `eventCount/totalUsers`. # @!attribute [rw] invisible # @return [::Boolean] # 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`. class Metric include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # To express dimension or metric filters. # The fields in the same FilterExpression need to be either all dimensions or # all metrics. # @!attribute [rw] and_group # @return [::Google::Analytics::Data::V1alpha::FilterExpressionList] # The FilterExpressions in and_group have an AND relationship. # @!attribute [rw] or_group # @return [::Google::Analytics::Data::V1alpha::FilterExpressionList] # The FilterExpressions in or_group have an OR relationship. # @!attribute [rw] not_expression # @return [::Google::Analytics::Data::V1alpha::FilterExpression] # The FilterExpression is NOT of not_expression. # @!attribute [rw] filter # @return [::Google::Analytics::Data::V1alpha::Filter] # A primitive filter. # All fields in filter in same FilterExpression needs to be either all # dimensions or metrics. class FilterExpression include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A list of filter expressions. # @!attribute [rw] expressions # @return [::Array<::Google::Analytics::Data::V1alpha::FilterExpression>] # A list of filter expressions. class FilterExpressionList include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # An expression to filter dimension or metric values. # @!attribute [rw] field_name # @return [::String] # The dimension name or metric name. Must be a name defined in dimensions # or metrics. # @!attribute [rw] null_filter # @return [::Boolean] # A filter for null values. If True, a null dimension value is matched by # this filter. Null filter is commonly used inside a NOT filter # expression. For example, a NOT expression of a null filter removes rows # when a dimension is null. # @!attribute [rw] string_filter # @return [::Google::Analytics::Data::V1alpha::Filter::StringFilter] # Strings related filter. # @!attribute [rw] in_list_filter # @return [::Google::Analytics::Data::V1alpha::Filter::InListFilter] # A filter for in list values. # @!attribute [rw] numeric_filter # @return [::Google::Analytics::Data::V1alpha::Filter::NumericFilter] # A filter for numeric or date values. # @!attribute [rw] between_filter # @return [::Google::Analytics::Data::V1alpha::Filter::BetweenFilter] # A filter for two values. class Filter include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # The filter for string # @!attribute [rw] match_type # @return [::Google::Analytics::Data::V1alpha::Filter::StringFilter::MatchType] # The match type for this filter. # @!attribute [rw] value # @return [::String] # The string value used for the matching. # @!attribute [rw] case_sensitive # @return [::Boolean] # If true, the string value is case sensitive. class StringFilter include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # The match type of a string filter module MatchType # Unspecified MATCH_TYPE_UNSPECIFIED = 0 # Exact match of the string value. EXACT = 1 # Begins with the string value. BEGINS_WITH = 2 # Ends with the string value. ENDS_WITH = 3 # Contains the string value. CONTAINS = 4 # Full regular expression match with the string value. FULL_REGEXP = 5 # Partial regular expression match with the string value. PARTIAL_REGEXP = 6 end end # The result needs to be in a list of string values. # @!attribute [rw] values # @return [::Array<::String>] # The list of string values. # Must be non-empty. # @!attribute [rw] case_sensitive # @return [::Boolean] # If true, the string value is case sensitive. class InListFilter include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Filters for numeric or date values. # @!attribute [rw] operation # @return [::Google::Analytics::Data::V1alpha::Filter::NumericFilter::Operation] # The operation type for this filter. # @!attribute [rw] value # @return [::Google::Analytics::Data::V1alpha::NumericValue] # A numeric value or a date value. class NumericFilter include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # The operation applied to a numeric filter module Operation # Unspecified. OPERATION_UNSPECIFIED = 0 # Equal EQUAL = 1 # Less than LESS_THAN = 2 # Less than or equal LESS_THAN_OR_EQUAL = 3 # Greater than GREATER_THAN = 4 # Greater than or equal GREATER_THAN_OR_EQUAL = 5 end end # To express that the result needs to be between two numbers (inclusive). # @!attribute [rw] from_value # @return [::Google::Analytics::Data::V1alpha::NumericValue] # Begins with this number. # @!attribute [rw] to_value # @return [::Google::Analytics::Data::V1alpha::NumericValue] # Ends with this number. class BetweenFilter include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end # The sort options. # @!attribute [rw] metric # @return [::Google::Analytics::Data::V1alpha::OrderBy::MetricOrderBy] # Sorts results by a metric's values. # @!attribute [rw] dimension # @return [::Google::Analytics::Data::V1alpha::OrderBy::DimensionOrderBy] # Sorts results by a dimension's values. # @!attribute [rw] pivot # @return [::Google::Analytics::Data::V1alpha::OrderBy::PivotOrderBy] # Sorts results by a metric's values within a pivot column group. # @!attribute [rw] desc # @return [::Boolean] # If true, sorts by descending order. class OrderBy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Sorts by metric values. # @!attribute [rw] metric_name # @return [::String] # A metric name in the request to order by. class MetricOrderBy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Sorts by dimension values. # @!attribute [rw] dimension_name # @return [::String] # A dimension name in the request to order by. # @!attribute [rw] order_type # @return [::Google::Analytics::Data::V1alpha::OrderBy::DimensionOrderBy::OrderType] # Controls the rule for dimension value ordering. class DimensionOrderBy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Rule to order the string dimension values by. module OrderType # Unspecified. ORDER_TYPE_UNSPECIFIED = 0 # Alphanumeric sort by Unicode code point. For example, "2" < "A" < "X" < # "b" < "z". ALPHANUMERIC = 1 # Case insensitive alphanumeric sort by lower case Unicode code point. # For example, "2" < "A" < "b" < "X" < "z". CASE_INSENSITIVE_ALPHANUMERIC = 2 # 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. NUMERIC = 3 end end # Sorts by a pivot column group. # @!attribute [rw] metric_name # @return [::String] # In the response to order by, order rows by this column. Must be a metric # name from the request. # @!attribute [rw] pivot_selections # @return [::Array<::Google::Analytics::Data::V1alpha::OrderBy::PivotOrderBy::PivotSelection>] # Used to select a dimension name and value pivot. If multiple pivot # selections are given, the sort occurs on rows where all pivot selection # dimension name and value pairs match the row's dimension name and value # pair. class PivotOrderBy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # A pair of dimension names and values. Rows with this dimension pivot pair # are ordered by the metric's value. # # For example if pivots = \\{\\{"browser", "Chrome"}} and # metric_name = "Sessions", # then the rows will be sorted based on Sessions in Chrome. # # ---------|----------|----------------|----------|---------------- # | Chrome | Chrome | Safari | Safari # ---------|----------|----------------|----------|---------------- # Country | Sessions | Pages/Sessions | Sessions | Pages/Sessions # ---------|----------|----------------|----------|---------------- # US | 2 | 2 | 3 | 1 # ---------|----------|----------------|----------|---------------- # Canada | 3 | 1 | 4 | 1 # ---------|----------|----------------|----------|---------------- # @!attribute [rw] dimension_name # @return [::String] # Must be a dimension name from the request. # @!attribute [rw] dimension_value # @return [::String] # Order by only when the named dimension is this value. class PivotSelection include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end end # Describes the visible dimension columns and rows in the report response. # @!attribute [rw] field_names # @return [::Array<::String>] # Dimension names for visible columns in the report response. Including # "dateRange" produces a date range column; for each row in the response, # dimension values in the date range column will indicate the corresponding # date range from the request. # @!attribute [rw] order_bys # @return [::Array<::Google::Analytics::Data::V1alpha::OrderBy>] # Specifies how dimensions are ordered in the pivot. In the first Pivot, the # OrderBys determine Row and PivotDimensionHeader ordering; in subsequent # Pivots, the OrderBys determine only PivotDimensionHeader ordering. # Dimensions specified in these OrderBys must be a subset of # Pivot.field_names. # @!attribute [rw] offset # @return [::Integer] # The row count of the start row. The first row is counted as row 0. # @!attribute [rw] limit # @return [::Integer] # The number of rows to return in this pivot. If unspecified, 10 rows are # returned. If -1, all rows are returned. # @!attribute [rw] metric_aggregations # @return [::Array<::Google::Analytics::Data::V1alpha::MetricAggregation>] # Aggregate the metrics by dimensions in this pivot using the specified # metric_aggregations. class Pivot include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Specification of cohorts for a cohort report. # Cohort reports can be used for example to 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. # # 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. # @!attribute [rw] cohorts # @return [::Array<::Google::Analytics::Data::V1alpha::Cohort>] # 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. # @!attribute [rw] cohorts_range # @return [::Google::Analytics::Data::V1alpha::CohortsRange] # Cohort reports follow cohorts over an extended reporting date range. This # range specifies an offset duration to follow the cohorts over. # @!attribute [rw] cohort_report_settings # @return [::Google::Analytics::Data::V1alpha::CohortReportSettings] # Optional settings for a cohort report. class CohortSpec include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Defines a cohort selection criteria. A cohort is a group of users who share # a common characteristic. For example, users with the same `firstTouchDate` # belong to the same cohort. # @!attribute [rw] name # @return [::String] # 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. # @!attribute [rw] dimension # @return [::String] # Dimension used by the cohort. Required and only supports `firstTouchDate`. # @!attribute [rw] date_range # @return [::Google::Analytics::Data::V1alpha::DateRange] # 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. class Cohort include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Configures the extended reporting date range for a cohort report. Specifies # an offset duration to follow the cohorts over. # @!attribute [rw] granularity # @return [::Google::Analytics::Data::V1alpha::CohortsRange::Granularity] # The granularity used to interpret the `startOffset` and `endOffset` for the # extended reporting date range for a cohort report. # @!attribute [rw] start_offset # @return [::Integer] # `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. # @!attribute [rw] end_offset # @return [::Integer] # `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. class CohortsRange include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # The granularity used to interpret the `startOffset` and `endOffset` for the # extended reporting date range for a cohort report. module Granularity # Should never be specified. GRANULARITY_UNSPECIFIED = 0 # Daily granularity. Commonly used if the cohort's `dateRange` is a single # day and the request contains `cohortNthDay`. DAILY = 1 # 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`. WEEKLY = 2 # Monthly granularity. Commonly used if the cohort's `dateRange` is a month # in duration and the request contains `cohortNthMonth`. MONTHLY = 3 end end # Optional settings of a cohort report. # @!attribute [rw] accumulate # @return [::Boolean] # If true, accumulates the result from first touch day to the end day. Not # supported in `RunReportRequest`. class CohortReportSettings include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response's metadata carrying additional information about the report content. # @!attribute [rw] data_loss_from_other_row # @return [::Boolean] # If true, indicates some buckets of dimension combinations are rolled into # "(other)" row. This can happen for high cardinality reports. class ResponseMetaData include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # 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. # @!attribute [rw] name # @return [::String] # The dimension's name. class DimensionHeader include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # 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. # @!attribute [rw] name # @return [::String] # The metric's name. # @!attribute [rw] type # @return [::Google::Analytics::Data::V1alpha::MetricType] # The metric's data type. class MetricHeader include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Dimensions' values in a single pivot. # @!attribute [rw] pivot_dimension_headers # @return [::Array<::Google::Analytics::Data::V1alpha::PivotDimensionHeader>] # The size is the same as the cardinality of the corresponding dimension # combinations. # @!attribute [rw] row_count # @return [::Integer] # The cardinality of the pivot as if offset = 0 and limit = -1. The total # number of rows for this pivot's fields regardless of how the parameters # offset and limit are specified in the request. class PivotHeader include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Summarizes dimension values from a row for this pivot. # @!attribute [rw] dimension_values # @return [::Array<::Google::Analytics::Data::V1alpha::DimensionValue>] # Values of multiple dimensions in a pivot. class PivotDimensionHeader include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # 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" # } # ] # ``` # @!attribute [rw] dimension_values # @return [::Array<::Google::Analytics::Data::V1alpha::DimensionValue>] # List of requested dimension values. In a PivotReport, dimension_values # are only listed for dimensions included in a pivot. # @!attribute [rw] metric_values # @return [::Array<::Google::Analytics::Data::V1alpha::MetricValue>] # List of requested visible metric values. class Row include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The value of a dimension. # @!attribute [rw] value # @return [::String] # Value as a string if the dimension type is a string. class DimensionValue include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The value of a metric. # @!attribute [rw] value # @return [::String] # Measurement value. See MetricHeader for type. class MetricValue include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # To represent a number. # @!attribute [rw] int64_value # @return [::Integer] # Integer value # @!attribute [rw] double_value # @return [::Float] # Double value class NumericValue include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # 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. # @!attribute [rw] tokens_per_day # @return [::Google::Analytics::Data::V1alpha::QuotaStatus] # Standard Analytics Properties can use up to 25,000 tokens per day; # Analytics 360 Properties can use 250,000 tokens per day. Most requests # consume fewer than 10 tokens. # @!attribute [rw] tokens_per_hour # @return [::Google::Analytics::Data::V1alpha::QuotaStatus] # Standard Analytics Properties can use up to 5,000 tokens per day; Analytics # 360 Properties can use 50,000 tokens per day. An API request consumes a # single number of tokens, and that number is deducted from both the hourly # and daily quotas. # @!attribute [rw] concurrent_requests # @return [::Google::Analytics::Data::V1alpha::QuotaStatus] # Standard Analytics Properties can send up to 10 concurrent requests; # Analytics 360 Properties can use up to 50 concurrent requests. # @!attribute [rw] server_errors_per_project_per_hour # @return [::Google::Analytics::Data::V1alpha::QuotaStatus] # 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. class PropertyQuota include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Current state for a particular quota group. # @!attribute [rw] consumed # @return [::Integer] # Quota consumed by this request. # @!attribute [rw] remaining # @return [::Integer] # Quota remaining after this request. class QuotaStatus include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Explains a dimension. # @!attribute [rw] api_name # @return [::String] # This dimension's name. Useable in [Dimension](#Dimension)'s `name`. For # example, `eventName`. # @!attribute [rw] ui_name # @return [::String] # This dimension's name within the Google Analytics user interface. For # example, `Event name`. # @!attribute [rw] description # @return [::String] # Description of how this dimension is used and calculated. # @!attribute [rw] deprecated_api_names # @return [::Array<::String>] # 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`. # @!attribute [rw] custom_definition # @return [::Boolean] # True if the dimension is a custom dimension for this property. class DimensionMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Explains a metric. # @!attribute [rw] api_name # @return [::String] # A metric name. Useable in [Metric](#Metric)'s `name`. For example, # `eventCount`. # @!attribute [rw] ui_name # @return [::String] # This metric's name within the Google Analytics user interface. For example, # `Event count`. # @!attribute [rw] description # @return [::String] # Description of how this metric is used and calculated. # @!attribute [rw] deprecated_api_names # @return [::Array<::String>] # 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`. # @!attribute [rw] type # @return [::Google::Analytics::Data::V1alpha::MetricType] # The type of this metric. # @!attribute [rw] expression # @return [::String] # 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. # @!attribute [rw] custom_definition # @return [::Boolean] # True if the metric is a custom metric for this property. class MetricMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Represents aggregation of metrics. module MetricAggregation # Unspecified operator. METRIC_AGGREGATION_UNSPECIFIED = 0 # SUM operator. TOTAL = 1 # Minimum operator. MINIMUM = 5 # Maximum operator. MAXIMUM = 6 # Count operator. COUNT = 4 end # A metric's value type. module MetricType # Unspecified type. METRIC_TYPE_UNSPECIFIED = 0 # Integer type. TYPE_INTEGER = 1 # Floating point type. TYPE_FLOAT = 2 # A duration of seconds; a special floating point type. TYPE_SECONDS = 4 # A duration in milliseconds; a special floating point type. TYPE_MILLISECONDS = 5 # A duration in minutes; a special floating point type. TYPE_MINUTES = 6 # A duration in hours; a special floating point type. TYPE_HOURS = 7 # A custom metric of standard type; a special floating point type. TYPE_STANDARD = 8 # An amount of money; a special floating point type. TYPE_CURRENCY = 9 # A length in feet; a special floating point type. TYPE_FEET = 10 # A length in miles; a special floating point type. TYPE_MILES = 11 # A length in meters; a special floating point type. TYPE_METERS = 12 # A length in kilometers; a special floating point type. TYPE_KILOMETERS = 13 end end end end end