google-analytics-data-v1beta 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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