google-analytics-data-v1beta 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,890 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Analytics
22
+ module Data
23
+ module V1beta
24
+ # A contiguous set of days: startDate, startDate + 1, ..., endDate. Requests
25
+ # are allowed up to 4 date ranges.
26
+ # @!attribute [rw] start_date
27
+ # @return [::String]
28
+ # The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot
29
+ # be after `end_date`. The format `NdaysAgo`, `yesterday`, or `today` is also
30
+ # accepted, and in that case, the date is inferred based on the property's
31
+ # reporting time zone.
32
+ # @!attribute [rw] end_date
33
+ # @return [::String]
34
+ # The inclusive end date for the query in the format `YYYY-MM-DD`. Cannot
35
+ # be before `start_date`. The format `NdaysAgo`, `yesterday`, or `today` is
36
+ # also accepted, and in that case, the date is inferred based on the
37
+ # property's reporting time zone.
38
+ # @!attribute [rw] name
39
+ # @return [::String]
40
+ # Assigns a name to this date range. The dimension `dateRange` is valued to
41
+ # this name in a report response. If set, cannot begin with `date_range_` or
42
+ # `RESERVED_`. If not set, date ranges are named by their zero based index in
43
+ # the request: `date_range_0`, `date_range_1`, etc.
44
+ class DateRange
45
+ include ::Google::Protobuf::MessageExts
46
+ extend ::Google::Protobuf::MessageExts::ClassMethods
47
+ end
48
+
49
+ # Dimensions are attributes of your data. For example, the dimension city
50
+ # indicates the city from which an event originates. Dimension values in report
51
+ # responses are strings; for example, city could be "Paris" or "New York".
52
+ # Requests are allowed up to 8 dimensions.
53
+ # @!attribute [rw] name
54
+ # @return [::String]
55
+ # The name of the dimension. See the [API
56
+ # Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#dimensions)
57
+ # for the list of dimension names.
58
+ #
59
+ # If `dimensionExpression` is specified, `name` can be any string that you
60
+ # would like within the allowed character set. For example if a
61
+ # `dimensionExpression` concatenates `country` and `city`, you could call
62
+ # that dimension `countryAndCity`. Dimension names that you choose must match
63
+ # the regular expression "^[a-zA-Z0-9_]$".
64
+ #
65
+ # Dimensions are referenced by `name` in `dimensionFilter`, `orderBys`,
66
+ # `dimensionExpression`, and `pivots`.
67
+ # @!attribute [rw] dimension_expression
68
+ # @return [::Google::Analytics::Data::V1beta::DimensionExpression]
69
+ # One dimension can be the result of an expression of multiple dimensions.
70
+ # For example, dimension "country, city": concatenate(country, ", ", city).
71
+ class Dimension
72
+ include ::Google::Protobuf::MessageExts
73
+ extend ::Google::Protobuf::MessageExts::ClassMethods
74
+ end
75
+
76
+ # Used to express a dimension which is the result of a formula of multiple
77
+ # dimensions. Example usages:
78
+ # 1) lower_case(dimension)
79
+ # 2) concatenate(dimension1, symbol, dimension2).
80
+ # @!attribute [rw] lower_case
81
+ # @return [::Google::Analytics::Data::V1beta::DimensionExpression::CaseExpression]
82
+ # Used to convert a dimension value to lower case.
83
+ # @!attribute [rw] upper_case
84
+ # @return [::Google::Analytics::Data::V1beta::DimensionExpression::CaseExpression]
85
+ # Used to convert a dimension value to upper case.
86
+ # @!attribute [rw] concatenate
87
+ # @return [::Google::Analytics::Data::V1beta::DimensionExpression::ConcatenateExpression]
88
+ # Used to combine dimension values to a single dimension.
89
+ # For example, dimension "country, city": concatenate(country, ", ", city).
90
+ class DimensionExpression
91
+ include ::Google::Protobuf::MessageExts
92
+ extend ::Google::Protobuf::MessageExts::ClassMethods
93
+
94
+ # Used to convert a dimension value to a single case.
95
+ # @!attribute [rw] dimension_name
96
+ # @return [::String]
97
+ # Name of a dimension. The name must refer back to a name in dimensions
98
+ # field of the request.
99
+ class CaseExpression
100
+ include ::Google::Protobuf::MessageExts
101
+ extend ::Google::Protobuf::MessageExts::ClassMethods
102
+ end
103
+
104
+ # Used to combine dimension values to a single dimension.
105
+ # @!attribute [rw] dimension_names
106
+ # @return [::Array<::String>]
107
+ # Names of dimensions. The names must refer back to names in the dimensions
108
+ # field of the request.
109
+ # @!attribute [rw] delimiter
110
+ # @return [::String]
111
+ # The delimiter placed between dimension names.
112
+ #
113
+ # Delimiters are often single characters such as "|" or "," but can be
114
+ # longer strings. If a dimension value contains the delimiter, both will be
115
+ # present in response with no distinction. For example if dimension 1 value
116
+ # = "US,FR", dimension 2 value = "JP", and delimiter = ",", then the
117
+ # response will contain "US,FR,JP".
118
+ class ConcatenateExpression
119
+ include ::Google::Protobuf::MessageExts
120
+ extend ::Google::Protobuf::MessageExts::ClassMethods
121
+ end
122
+ end
123
+
124
+ # The quantitative measurements of a report. For example, the metric
125
+ # `eventCount` is the total number of events. Requests are allowed up to 10
126
+ # metrics.
127
+ # @!attribute [rw] name
128
+ # @return [::String]
129
+ # The name of the metric. See the [API
130
+ # Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#metrics)
131
+ # for the list of metric names.
132
+ #
133
+ # If `expression` is specified, `name` can be any string that you would like
134
+ # within the allowed character set. For example if `expression` is
135
+ # `screenPageViews/sessions`, you could call that metric's name =
136
+ # `viewsPerSession`. Metric names that you choose must match the regular
137
+ # expression "^[a-zA-Z0-9_]$".
138
+ #
139
+ # Metrics are referenced by `name` in `metricFilter`, `orderBys`, and metric
140
+ # `expression`.
141
+ # @!attribute [rw] expression
142
+ # @return [::String]
143
+ # A mathematical expression for derived metrics. For example, the metric
144
+ # Event count per user is `eventCount/totalUsers`.
145
+ # @!attribute [rw] invisible
146
+ # @return [::Boolean]
147
+ # Indicates if a metric is invisible in the report response. If a metric is
148
+ # invisible, the metric will not produce a column in the response, but can be
149
+ # used in `metricFilter`, `orderBys`, or a metric `expression`.
150
+ class Metric
151
+ include ::Google::Protobuf::MessageExts
152
+ extend ::Google::Protobuf::MessageExts::ClassMethods
153
+ end
154
+
155
+ # To express dimension or metric filters.
156
+ # The fields in the same FilterExpression need to be either all dimensions or
157
+ # all metrics.
158
+ # @!attribute [rw] and_group
159
+ # @return [::Google::Analytics::Data::V1beta::FilterExpressionList]
160
+ # The FilterExpressions in and_group have an AND relationship.
161
+ # @!attribute [rw] or_group
162
+ # @return [::Google::Analytics::Data::V1beta::FilterExpressionList]
163
+ # The FilterExpressions in or_group have an OR relationship.
164
+ # @!attribute [rw] not_expression
165
+ # @return [::Google::Analytics::Data::V1beta::FilterExpression]
166
+ # The FilterExpression is NOT of not_expression.
167
+ # @!attribute [rw] filter
168
+ # @return [::Google::Analytics::Data::V1beta::Filter]
169
+ # A primitive filter.
170
+ # All fields in filter in same FilterExpression needs to be either all
171
+ # dimensions or metrics.
172
+ class FilterExpression
173
+ include ::Google::Protobuf::MessageExts
174
+ extend ::Google::Protobuf::MessageExts::ClassMethods
175
+ end
176
+
177
+ # A list of filter expressions.
178
+ # @!attribute [rw] expressions
179
+ # @return [::Array<::Google::Analytics::Data::V1beta::FilterExpression>]
180
+ # A list of filter expressions.
181
+ class FilterExpressionList
182
+ include ::Google::Protobuf::MessageExts
183
+ extend ::Google::Protobuf::MessageExts::ClassMethods
184
+ end
185
+
186
+ # An expression to filter dimension or metric values.
187
+ # @!attribute [rw] field_name
188
+ # @return [::String]
189
+ # The dimension name or metric name. Must be a name defined in dimensions
190
+ # or metrics.
191
+ # @!attribute [rw] string_filter
192
+ # @return [::Google::Analytics::Data::V1beta::Filter::StringFilter]
193
+ # Strings related filter.
194
+ # @!attribute [rw] in_list_filter
195
+ # @return [::Google::Analytics::Data::V1beta::Filter::InListFilter]
196
+ # A filter for in list values.
197
+ # @!attribute [rw] numeric_filter
198
+ # @return [::Google::Analytics::Data::V1beta::Filter::NumericFilter]
199
+ # A filter for numeric or date values.
200
+ # @!attribute [rw] between_filter
201
+ # @return [::Google::Analytics::Data::V1beta::Filter::BetweenFilter]
202
+ # A filter for two values.
203
+ class Filter
204
+ include ::Google::Protobuf::MessageExts
205
+ extend ::Google::Protobuf::MessageExts::ClassMethods
206
+
207
+ # The filter for string
208
+ # @!attribute [rw] match_type
209
+ # @return [::Google::Analytics::Data::V1beta::Filter::StringFilter::MatchType]
210
+ # The match type for this filter.
211
+ # @!attribute [rw] value
212
+ # @return [::String]
213
+ # The string value used for the matching.
214
+ # @!attribute [rw] case_sensitive
215
+ # @return [::Boolean]
216
+ # If true, the string value is case sensitive.
217
+ class StringFilter
218
+ include ::Google::Protobuf::MessageExts
219
+ extend ::Google::Protobuf::MessageExts::ClassMethods
220
+
221
+ # The match type of a string filter
222
+ module MatchType
223
+ # Unspecified
224
+ MATCH_TYPE_UNSPECIFIED = 0
225
+
226
+ # Exact match of the string value.
227
+ EXACT = 1
228
+
229
+ # Begins with the string value.
230
+ BEGINS_WITH = 2
231
+
232
+ # Ends with the string value.
233
+ ENDS_WITH = 3
234
+
235
+ # Contains the string value.
236
+ CONTAINS = 4
237
+
238
+ # Full regular expression match with the string value.
239
+ FULL_REGEXP = 5
240
+
241
+ # Partial regular expression match with the string value.
242
+ PARTIAL_REGEXP = 6
243
+ end
244
+ end
245
+
246
+ # The result needs to be in a list of string values.
247
+ # @!attribute [rw] values
248
+ # @return [::Array<::String>]
249
+ # The list of string values.
250
+ # Must be non-empty.
251
+ # @!attribute [rw] case_sensitive
252
+ # @return [::Boolean]
253
+ # If true, the string value is case sensitive.
254
+ class InListFilter
255
+ include ::Google::Protobuf::MessageExts
256
+ extend ::Google::Protobuf::MessageExts::ClassMethods
257
+ end
258
+
259
+ # Filters for numeric or date values.
260
+ # @!attribute [rw] operation
261
+ # @return [::Google::Analytics::Data::V1beta::Filter::NumericFilter::Operation]
262
+ # The operation type for this filter.
263
+ # @!attribute [rw] value
264
+ # @return [::Google::Analytics::Data::V1beta::NumericValue]
265
+ # A numeric value or a date value.
266
+ class NumericFilter
267
+ include ::Google::Protobuf::MessageExts
268
+ extend ::Google::Protobuf::MessageExts::ClassMethods
269
+
270
+ # The operation applied to a numeric filter
271
+ module Operation
272
+ # Unspecified.
273
+ OPERATION_UNSPECIFIED = 0
274
+
275
+ # Equal
276
+ EQUAL = 1
277
+
278
+ # Less than
279
+ LESS_THAN = 2
280
+
281
+ # Less than or equal
282
+ LESS_THAN_OR_EQUAL = 3
283
+
284
+ # Greater than
285
+ GREATER_THAN = 4
286
+
287
+ # Greater than or equal
288
+ GREATER_THAN_OR_EQUAL = 5
289
+ end
290
+ end
291
+
292
+ # To express that the result needs to be between two numbers (inclusive).
293
+ # @!attribute [rw] from_value
294
+ # @return [::Google::Analytics::Data::V1beta::NumericValue]
295
+ # Begins with this number.
296
+ # @!attribute [rw] to_value
297
+ # @return [::Google::Analytics::Data::V1beta::NumericValue]
298
+ # Ends with this number.
299
+ class BetweenFilter
300
+ include ::Google::Protobuf::MessageExts
301
+ extend ::Google::Protobuf::MessageExts::ClassMethods
302
+ end
303
+ end
304
+
305
+ # The sort options.
306
+ # @!attribute [rw] metric
307
+ # @return [::Google::Analytics::Data::V1beta::OrderBy::MetricOrderBy]
308
+ # Sorts results by a metric's values.
309
+ # @!attribute [rw] dimension
310
+ # @return [::Google::Analytics::Data::V1beta::OrderBy::DimensionOrderBy]
311
+ # Sorts results by a dimension's values.
312
+ # @!attribute [rw] pivot
313
+ # @return [::Google::Analytics::Data::V1beta::OrderBy::PivotOrderBy]
314
+ # Sorts results by a metric's values within a pivot column group.
315
+ # @!attribute [rw] desc
316
+ # @return [::Boolean]
317
+ # If true, sorts by descending order.
318
+ class OrderBy
319
+ include ::Google::Protobuf::MessageExts
320
+ extend ::Google::Protobuf::MessageExts::ClassMethods
321
+
322
+ # Sorts by metric values.
323
+ # @!attribute [rw] metric_name
324
+ # @return [::String]
325
+ # A metric name in the request to order by.
326
+ class MetricOrderBy
327
+ include ::Google::Protobuf::MessageExts
328
+ extend ::Google::Protobuf::MessageExts::ClassMethods
329
+ end
330
+
331
+ # Sorts by dimension values.
332
+ # @!attribute [rw] dimension_name
333
+ # @return [::String]
334
+ # A dimension name in the request to order by.
335
+ # @!attribute [rw] order_type
336
+ # @return [::Google::Analytics::Data::V1beta::OrderBy::DimensionOrderBy::OrderType]
337
+ # Controls the rule for dimension value ordering.
338
+ class DimensionOrderBy
339
+ include ::Google::Protobuf::MessageExts
340
+ extend ::Google::Protobuf::MessageExts::ClassMethods
341
+
342
+ # Rule to order the string dimension values by.
343
+ module OrderType
344
+ # Unspecified.
345
+ ORDER_TYPE_UNSPECIFIED = 0
346
+
347
+ # Alphanumeric sort by Unicode code point. For example, "2" < "A" < "X" <
348
+ # "b" < "z".
349
+ ALPHANUMERIC = 1
350
+
351
+ # Case insensitive alphanumeric sort by lower case Unicode code point.
352
+ # For example, "2" < "A" < "b" < "X" < "z".
353
+ CASE_INSENSITIVE_ALPHANUMERIC = 2
354
+
355
+ # Dimension values are converted to numbers before sorting. For example
356
+ # in NUMERIC sort, "25" < "100", and in `ALPHANUMERIC` sort, "100" <
357
+ # "25". Non-numeric dimension values all have equal ordering value below
358
+ # all numeric values.
359
+ NUMERIC = 3
360
+ end
361
+ end
362
+
363
+ # Sorts by a pivot column group.
364
+ # @!attribute [rw] metric_name
365
+ # @return [::String]
366
+ # In the response to order by, order rows by this column. Must be a metric
367
+ # name from the request.
368
+ # @!attribute [rw] pivot_selections
369
+ # @return [::Array<::Google::Analytics::Data::V1beta::OrderBy::PivotOrderBy::PivotSelection>]
370
+ # Used to select a dimension name and value pivot. If multiple pivot
371
+ # selections are given, the sort occurs on rows where all pivot selection
372
+ # dimension name and value pairs match the row's dimension name and value
373
+ # pair.
374
+ class PivotOrderBy
375
+ include ::Google::Protobuf::MessageExts
376
+ extend ::Google::Protobuf::MessageExts::ClassMethods
377
+
378
+ # A pair of dimension names and values. Rows with this dimension pivot pair
379
+ # are ordered by the metric's value.
380
+ #
381
+ # For example if pivots = \\{\\{"browser", "Chrome"}} and
382
+ # metric_name = "Sessions",
383
+ # then the rows will be sorted based on Sessions in Chrome.
384
+ #
385
+ # ---------|----------|----------------|----------|----------------
386
+ # | Chrome | Chrome | Safari | Safari
387
+ # ---------|----------|----------------|----------|----------------
388
+ # Country | Sessions | Pages/Sessions | Sessions | Pages/Sessions
389
+ # ---------|----------|----------------|----------|----------------
390
+ # US | 2 | 2 | 3 | 1
391
+ # ---------|----------|----------------|----------|----------------
392
+ # Canada | 3 | 1 | 4 | 1
393
+ # ---------|----------|----------------|----------|----------------
394
+ # @!attribute [rw] dimension_name
395
+ # @return [::String]
396
+ # Must be a dimension name from the request.
397
+ # @!attribute [rw] dimension_value
398
+ # @return [::String]
399
+ # Order by only when the named dimension is this value.
400
+ class PivotSelection
401
+ include ::Google::Protobuf::MessageExts
402
+ extend ::Google::Protobuf::MessageExts::ClassMethods
403
+ end
404
+ end
405
+ end
406
+
407
+ # Describes the visible dimension columns and rows in the report response.
408
+ # @!attribute [rw] field_names
409
+ # @return [::Array<::String>]
410
+ # Dimension names for visible columns in the report response. Including
411
+ # "dateRange" produces a date range column; for each row in the response,
412
+ # dimension values in the date range column will indicate the corresponding
413
+ # date range from the request.
414
+ # @!attribute [rw] order_bys
415
+ # @return [::Array<::Google::Analytics::Data::V1beta::OrderBy>]
416
+ # Specifies how dimensions are ordered in the pivot. In the first Pivot, the
417
+ # OrderBys determine Row and PivotDimensionHeader ordering; in subsequent
418
+ # Pivots, the OrderBys determine only PivotDimensionHeader ordering.
419
+ # Dimensions specified in these OrderBys must be a subset of
420
+ # Pivot.field_names.
421
+ # @!attribute [rw] offset
422
+ # @return [::Integer]
423
+ # The row count of the start row. The first row is counted as row 0.
424
+ # @!attribute [rw] limit
425
+ # @return [::Integer]
426
+ # The number of unique combinations of dimension values to return in this
427
+ # pivot. The `limit` parameter is required. A `limit` of 10,000 is common for
428
+ # single pivot requests.
429
+ #
430
+ # The product of the `limit` for each `pivot` in a `RunPivotReportRequest`
431
+ # must not exceed 100,000. For example, a two pivot request with `limit:
432
+ # 1000` in each pivot will fail because the product is `1,000,000`.
433
+ # @!attribute [rw] metric_aggregations
434
+ # @return [::Array<::Google::Analytics::Data::V1beta::MetricAggregation>]
435
+ # Aggregate the metrics by dimensions in this pivot using the specified
436
+ # metric_aggregations.
437
+ class Pivot
438
+ include ::Google::Protobuf::MessageExts
439
+ extend ::Google::Protobuf::MessageExts::ClassMethods
440
+ end
441
+
442
+ # The specification of cohorts for a cohort report.
443
+ #
444
+ # Cohort reports create a time series of user retention for the cohort. For
445
+ # example, you could select the cohort of users that were acquired in the first
446
+ # week of September and follow that cohort for the next six weeks. Selecting
447
+ # the users acquired in the first week of September cohort is specified in the
448
+ # `cohort` object. Following that cohort for the next six weeks is specified in
449
+ # the `cohortsRange` object.
450
+ #
451
+ # For examples, see [Cohort Report
452
+ # Examples](https://developers.google.com/analytics/devguides/reporting/data/v1/advanced#cohort_report_examples).
453
+ #
454
+ # The report response could show a weekly time series where say your app has
455
+ # retained 60% of this cohort after three weeks and 25% of this cohort after
456
+ # six weeks. These two percentages can be calculated by the metric
457
+ # `cohortActiveUsers/cohortTotalUsers` and will be separate rows in the report.
458
+ # @!attribute [rw] cohorts
459
+ # @return [::Array<::Google::Analytics::Data::V1beta::Cohort>]
460
+ # Defines the selection criteria to group users into cohorts.
461
+ #
462
+ # Most cohort reports define only a single cohort. If multiple cohorts are
463
+ # specified, each cohort can be recognized in the report by their name.
464
+ # @!attribute [rw] cohorts_range
465
+ # @return [::Google::Analytics::Data::V1beta::CohortsRange]
466
+ # Cohort reports follow cohorts over an extended reporting date range. This
467
+ # range specifies an offset duration to follow the cohorts over.
468
+ # @!attribute [rw] cohort_report_settings
469
+ # @return [::Google::Analytics::Data::V1beta::CohortReportSettings]
470
+ # Optional settings for a cohort report.
471
+ class CohortSpec
472
+ include ::Google::Protobuf::MessageExts
473
+ extend ::Google::Protobuf::MessageExts::ClassMethods
474
+ end
475
+
476
+ # Defines a cohort selection criteria. A cohort is a group of users who share
477
+ # a common characteristic. For example, users with the same `firstSessionDate`
478
+ # belong to the same cohort.
479
+ # @!attribute [rw] name
480
+ # @return [::String]
481
+ # Assigns a name to this cohort. The dimension `cohort` is valued to this
482
+ # name in a report response. If set, cannot begin with `cohort_` or
483
+ # `RESERVED_`. If not set, cohorts are named by their zero based index
484
+ # `cohort_0`, `cohort_1`, etc.
485
+ # @!attribute [rw] dimension
486
+ # @return [::String]
487
+ # Dimension used by the cohort. Required and only supports
488
+ # `firstSessionDate`.
489
+ # @!attribute [rw] date_range
490
+ # @return [::Google::Analytics::Data::V1beta::DateRange]
491
+ # The cohort selects users whose first touch date is between start date and
492
+ # end date defined in the `dateRange`. This `dateRange` does not specify the
493
+ # full date range of event data that is present in a cohort report. In a
494
+ # cohort report, this `dateRange` is extended by the granularity and offset
495
+ # present in the `cohortsRange`; event data for the extended reporting date
496
+ # range is present in a cohort report.
497
+ #
498
+ # In a cohort request, this `dateRange` is required and the `dateRanges` in
499
+ # the `RunReportRequest` or `RunPivotReportRequest` must be unspecified.
500
+ #
501
+ # This `dateRange` should generally be aligned with the cohort's granularity.
502
+ # If `CohortsRange` uses daily granularity, this `dateRange` can be a single
503
+ # day. If `CohortsRange` uses weekly granularity, this `dateRange` can be
504
+ # aligned to a week boundary, starting at Sunday and ending Saturday. If
505
+ # `CohortsRange` uses monthly granularity, this `dateRange` can be aligned to
506
+ # a month, starting at the first and ending on the last day of the month.
507
+ class Cohort
508
+ include ::Google::Protobuf::MessageExts
509
+ extend ::Google::Protobuf::MessageExts::ClassMethods
510
+ end
511
+
512
+ # Configures the extended reporting date range for a cohort report. Specifies
513
+ # an offset duration to follow the cohorts over.
514
+ # @!attribute [rw] granularity
515
+ # @return [::Google::Analytics::Data::V1beta::CohortsRange::Granularity]
516
+ # Required. The granularity used to interpret the `startOffset` and
517
+ # `endOffset` for the extended reporting date range for a cohort report.
518
+ # @!attribute [rw] start_offset
519
+ # @return [::Integer]
520
+ # `startOffset` specifies the start date of the extended reporting date range
521
+ # for a cohort report. `startOffset` is commonly set to 0 so that reports
522
+ # contain data from the acquisition of the cohort forward.
523
+ #
524
+ # If `granularity` is `DAILY`, the `startDate` of the extended reporting date
525
+ # range is `startDate` of the cohort plus `startOffset` days.
526
+ #
527
+ # If `granularity` is `WEEKLY`, the `startDate` of the extended reporting
528
+ # date range is `startDate` of the cohort plus `startOffset * 7` days.
529
+ #
530
+ # If `granularity` is `MONTHLY`, the `startDate` of the extended reporting
531
+ # date range is `startDate` of the cohort plus `startOffset * 30` days.
532
+ # @!attribute [rw] end_offset
533
+ # @return [::Integer]
534
+ # Required. `endOffset` specifies the end date of the extended reporting date
535
+ # range for a cohort report. `endOffset` can be any positive integer but is
536
+ # commonly set to 5 to 10 so that reports contain data on the cohort for the
537
+ # next several granularity time periods.
538
+ #
539
+ # If `granularity` is `DAILY`, the `endDate` of the extended reporting date
540
+ # range is `endDate` of the cohort plus `endOffset` days.
541
+ #
542
+ # If `granularity` is `WEEKLY`, the `endDate` of the extended reporting date
543
+ # range is `endDate` of the cohort plus `endOffset * 7` days.
544
+ #
545
+ # If `granularity` is `MONTHLY`, the `endDate` of the extended reporting date
546
+ # range is `endDate` of the cohort plus `endOffset * 30` days.
547
+ class CohortsRange
548
+ include ::Google::Protobuf::MessageExts
549
+ extend ::Google::Protobuf::MessageExts::ClassMethods
550
+
551
+ # The granularity used to interpret the `startOffset` and `endOffset` for the
552
+ # extended reporting date range for a cohort report.
553
+ module Granularity
554
+ # Should never be specified.
555
+ GRANULARITY_UNSPECIFIED = 0
556
+
557
+ # Daily granularity. Commonly used if the cohort's `dateRange` is a single
558
+ # day and the request contains `cohortNthDay`.
559
+ DAILY = 1
560
+
561
+ # Weekly granularity. Commonly used if the cohort's `dateRange` is a week
562
+ # in duration (starting on Sunday and ending on Saturday) and the request
563
+ # contains `cohortNthWeek`.
564
+ WEEKLY = 2
565
+
566
+ # Monthly granularity. Commonly used if the cohort's `dateRange` is a month
567
+ # in duration and the request contains `cohortNthMonth`.
568
+ MONTHLY = 3
569
+ end
570
+ end
571
+
572
+ # Optional settings of a cohort report.
573
+ # @!attribute [rw] accumulate
574
+ # @return [::Boolean]
575
+ # If true, accumulates the result from first touch day to the end day. Not
576
+ # supported in `RunReportRequest`.
577
+ class CohortReportSettings
578
+ include ::Google::Protobuf::MessageExts
579
+ extend ::Google::Protobuf::MessageExts::ClassMethods
580
+ end
581
+
582
+ # Response's metadata carrying additional information about the report content.
583
+ # @!attribute [rw] data_loss_from_other_row
584
+ # @return [::Boolean]
585
+ # If true, indicates some buckets of dimension combinations are rolled into
586
+ # "(other)" row. This can happen for high cardinality reports.
587
+ class ResponseMetaData
588
+ include ::Google::Protobuf::MessageExts
589
+ extend ::Google::Protobuf::MessageExts::ClassMethods
590
+ end
591
+
592
+ # Describes a dimension column in the report. Dimensions requested in a report
593
+ # produce column entries within rows and DimensionHeaders. However, dimensions
594
+ # used exclusively within filters or expressions do not produce columns in a
595
+ # report; correspondingly, those dimensions do not produce headers.
596
+ # @!attribute [rw] name
597
+ # @return [::String]
598
+ # The dimension's name.
599
+ class DimensionHeader
600
+ include ::Google::Protobuf::MessageExts
601
+ extend ::Google::Protobuf::MessageExts::ClassMethods
602
+ end
603
+
604
+ # Describes a metric column in the report. Visible metrics requested in a
605
+ # report produce column entries within rows and MetricHeaders. However,
606
+ # metrics used exclusively within filters or expressions do not produce columns
607
+ # in a report; correspondingly, those metrics do not produce headers.
608
+ # @!attribute [rw] name
609
+ # @return [::String]
610
+ # The metric's name.
611
+ # @!attribute [rw] type
612
+ # @return [::Google::Analytics::Data::V1beta::MetricType]
613
+ # The metric's data type.
614
+ class MetricHeader
615
+ include ::Google::Protobuf::MessageExts
616
+ extend ::Google::Protobuf::MessageExts::ClassMethods
617
+ end
618
+
619
+ # Dimensions' values in a single pivot.
620
+ # @!attribute [rw] pivot_dimension_headers
621
+ # @return [::Array<::Google::Analytics::Data::V1beta::PivotDimensionHeader>]
622
+ # The size is the same as the cardinality of the corresponding dimension
623
+ # combinations.
624
+ # @!attribute [rw] row_count
625
+ # @return [::Integer]
626
+ # The cardinality of the pivot. The total number of rows for this pivot's
627
+ # fields regardless of how the parameters `offset` and `limit` are specified
628
+ # in the request.
629
+ class PivotHeader
630
+ include ::Google::Protobuf::MessageExts
631
+ extend ::Google::Protobuf::MessageExts::ClassMethods
632
+ end
633
+
634
+ # Summarizes dimension values from a row for this pivot.
635
+ # @!attribute [rw] dimension_values
636
+ # @return [::Array<::Google::Analytics::Data::V1beta::DimensionValue>]
637
+ # Values of multiple dimensions in a pivot.
638
+ class PivotDimensionHeader
639
+ include ::Google::Protobuf::MessageExts
640
+ extend ::Google::Protobuf::MessageExts::ClassMethods
641
+ end
642
+
643
+ # Report data for each row.
644
+ # For example if RunReportRequest contains:
645
+ #
646
+ # ```none
647
+ # "dimensions": [
648
+ # {
649
+ # "name": "eventName"
650
+ # },
651
+ # {
652
+ # "name": "countryId"
653
+ # }
654
+ # ],
655
+ # "metrics": [
656
+ # {
657
+ # "name": "eventCount"
658
+ # }
659
+ # ]
660
+ # ```
661
+ #
662
+ # One row with 'in_app_purchase' as the eventName, 'JP' as the countryId, and
663
+ # 15 as the eventCount, would be:
664
+ #
665
+ # ```none
666
+ # "dimensionValues": [
667
+ # {
668
+ # "value": "in_app_purchase"
669
+ # },
670
+ # {
671
+ # "value": "JP"
672
+ # }
673
+ # ],
674
+ # "metricValues": [
675
+ # {
676
+ # "value": "15"
677
+ # }
678
+ # ]
679
+ # ```
680
+ # @!attribute [rw] dimension_values
681
+ # @return [::Array<::Google::Analytics::Data::V1beta::DimensionValue>]
682
+ # List of requested dimension values. In a PivotReport, dimension_values
683
+ # are only listed for dimensions included in a pivot.
684
+ # @!attribute [rw] metric_values
685
+ # @return [::Array<::Google::Analytics::Data::V1beta::MetricValue>]
686
+ # List of requested visible metric values.
687
+ class Row
688
+ include ::Google::Protobuf::MessageExts
689
+ extend ::Google::Protobuf::MessageExts::ClassMethods
690
+ end
691
+
692
+ # The value of a dimension.
693
+ # @!attribute [rw] value
694
+ # @return [::String]
695
+ # Value as a string if the dimension type is a string.
696
+ class DimensionValue
697
+ include ::Google::Protobuf::MessageExts
698
+ extend ::Google::Protobuf::MessageExts::ClassMethods
699
+ end
700
+
701
+ # The value of a metric.
702
+ # @!attribute [rw] value
703
+ # @return [::String]
704
+ # Measurement value. See MetricHeader for type.
705
+ class MetricValue
706
+ include ::Google::Protobuf::MessageExts
707
+ extend ::Google::Protobuf::MessageExts::ClassMethods
708
+ end
709
+
710
+ # To represent a number.
711
+ # @!attribute [rw] int64_value
712
+ # @return [::Integer]
713
+ # Integer value
714
+ # @!attribute [rw] double_value
715
+ # @return [::Float]
716
+ # Double value
717
+ class NumericValue
718
+ include ::Google::Protobuf::MessageExts
719
+ extend ::Google::Protobuf::MessageExts::ClassMethods
720
+ end
721
+
722
+ # Current state of all quotas for this Analytics Property. If any quota for a
723
+ # property is exhausted, all requests to that property will return Resource
724
+ # Exhausted errors.
725
+ # @!attribute [rw] tokens_per_day
726
+ # @return [::Google::Analytics::Data::V1beta::QuotaStatus]
727
+ # Standard Analytics Properties can use up to 25,000 tokens per day;
728
+ # Analytics 360 Properties can use 250,000 tokens per day. Most requests
729
+ # consume fewer than 10 tokens.
730
+ # @!attribute [rw] tokens_per_hour
731
+ # @return [::Google::Analytics::Data::V1beta::QuotaStatus]
732
+ # Standard Analytics Properties can use up to 5,000 tokens per hour;
733
+ # Analytics 360 Properties can use 50,000 tokens per hour. An API request
734
+ # consumes a single number of tokens, and that number is deducted from both
735
+ # the hourly and daily quotas.
736
+ # @!attribute [rw] concurrent_requests
737
+ # @return [::Google::Analytics::Data::V1beta::QuotaStatus]
738
+ # Standard Analytics Properties can send up to 10 concurrent requests;
739
+ # Analytics 360 Properties can use up to 50 concurrent requests.
740
+ # @!attribute [rw] server_errors_per_project_per_hour
741
+ # @return [::Google::Analytics::Data::V1beta::QuotaStatus]
742
+ # Standard Analytics Properties and cloud project pairs can have up to 10
743
+ # server errors per hour; Analytics 360 Properties and cloud project pairs
744
+ # can have up to 50 server errors per hour.
745
+ # @!attribute [rw] potentially_thresholded_requests_per_hour
746
+ # @return [::Google::Analytics::Data::V1beta::QuotaStatus]
747
+ # Analytics Properties can send up to 120 requests with potentially
748
+ # thresholded dimensions per hour. In a batch request, each report request
749
+ # is individually counted for this quota if the request contains potentially
750
+ # thresholded dimensions.
751
+ class PropertyQuota
752
+ include ::Google::Protobuf::MessageExts
753
+ extend ::Google::Protobuf::MessageExts::ClassMethods
754
+ end
755
+
756
+ # Current state for a particular quota group.
757
+ # @!attribute [rw] consumed
758
+ # @return [::Integer]
759
+ # Quota consumed by this request.
760
+ # @!attribute [rw] remaining
761
+ # @return [::Integer]
762
+ # Quota remaining after this request.
763
+ class QuotaStatus
764
+ include ::Google::Protobuf::MessageExts
765
+ extend ::Google::Protobuf::MessageExts::ClassMethods
766
+ end
767
+
768
+ # Explains a dimension.
769
+ # @!attribute [rw] api_name
770
+ # @return [::String]
771
+ # This dimension's name. Useable in [Dimension](#Dimension)'s `name`. For
772
+ # example, `eventName`.
773
+ # @!attribute [rw] ui_name
774
+ # @return [::String]
775
+ # This dimension's name within the Google Analytics user interface. For
776
+ # example, `Event name`.
777
+ # @!attribute [rw] description
778
+ # @return [::String]
779
+ # Description of how this dimension is used and calculated.
780
+ # @!attribute [rw] deprecated_api_names
781
+ # @return [::Array<::String>]
782
+ # Still usable but deprecated names for this dimension. If populated, this
783
+ # dimension is available by either `apiName` or one of `deprecatedApiNames`
784
+ # for a period of time. After the deprecation period, the dimension will be
785
+ # available only by `apiName`.
786
+ # @!attribute [rw] custom_definition
787
+ # @return [::Boolean]
788
+ # True if the dimension is a custom dimension for this property.
789
+ class DimensionMetadata
790
+ include ::Google::Protobuf::MessageExts
791
+ extend ::Google::Protobuf::MessageExts::ClassMethods
792
+ end
793
+
794
+ # Explains a metric.
795
+ # @!attribute [rw] api_name
796
+ # @return [::String]
797
+ # A metric name. Useable in [Metric](#Metric)'s `name`. For example,
798
+ # `eventCount`.
799
+ # @!attribute [rw] ui_name
800
+ # @return [::String]
801
+ # This metric's name within the Google Analytics user interface. For example,
802
+ # `Event count`.
803
+ # @!attribute [rw] description
804
+ # @return [::String]
805
+ # Description of how this metric is used and calculated.
806
+ # @!attribute [rw] deprecated_api_names
807
+ # @return [::Array<::String>]
808
+ # Still usable but deprecated names for this metric. If populated, this
809
+ # metric is available by either `apiName` or one of `deprecatedApiNames`
810
+ # for a period of time. After the deprecation period, the metric will be
811
+ # available only by `apiName`.
812
+ # @!attribute [rw] type
813
+ # @return [::Google::Analytics::Data::V1beta::MetricType]
814
+ # The type of this metric.
815
+ # @!attribute [rw] expression
816
+ # @return [::String]
817
+ # The mathematical expression for this derived metric. Can be used in
818
+ # [Metric](#Metric)'s `expression` field for equivalent reports. Most metrics
819
+ # are not expressions, and for non-expressions, this field is empty.
820
+ # @!attribute [rw] custom_definition
821
+ # @return [::Boolean]
822
+ # True if the metric is a custom metric for this property.
823
+ class MetricMetadata
824
+ include ::Google::Protobuf::MessageExts
825
+ extend ::Google::Protobuf::MessageExts::ClassMethods
826
+ end
827
+
828
+ # Represents aggregation of metrics.
829
+ module MetricAggregation
830
+ # Unspecified operator.
831
+ METRIC_AGGREGATION_UNSPECIFIED = 0
832
+
833
+ # SUM operator.
834
+ TOTAL = 1
835
+
836
+ # Minimum operator.
837
+ MINIMUM = 5
838
+
839
+ # Maximum operator.
840
+ MAXIMUM = 6
841
+
842
+ # Count operator.
843
+ COUNT = 4
844
+ end
845
+
846
+ # A metric's value type.
847
+ module MetricType
848
+ # Unspecified type.
849
+ METRIC_TYPE_UNSPECIFIED = 0
850
+
851
+ # Integer type.
852
+ TYPE_INTEGER = 1
853
+
854
+ # Floating point type.
855
+ TYPE_FLOAT = 2
856
+
857
+ # A duration of seconds; a special floating point type.
858
+ TYPE_SECONDS = 4
859
+
860
+ # A duration in milliseconds; a special floating point type.
861
+ TYPE_MILLISECONDS = 5
862
+
863
+ # A duration in minutes; a special floating point type.
864
+ TYPE_MINUTES = 6
865
+
866
+ # A duration in hours; a special floating point type.
867
+ TYPE_HOURS = 7
868
+
869
+ # A custom metric of standard type; a special floating point type.
870
+ TYPE_STANDARD = 8
871
+
872
+ # An amount of money; a special floating point type.
873
+ TYPE_CURRENCY = 9
874
+
875
+ # A length in feet; a special floating point type.
876
+ TYPE_FEET = 10
877
+
878
+ # A length in miles; a special floating point type.
879
+ TYPE_MILES = 11
880
+
881
+ # A length in meters; a special floating point type.
882
+ TYPE_METERS = 12
883
+
884
+ # A length in kilometers; a special floating point type.
885
+ TYPE_KILOMETERS = 13
886
+ end
887
+ end
888
+ end
889
+ end
890
+ end