google-analytics-data-v1alpha 0.4.0 → 0.8.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.
@@ -33,3 +33,6 @@ module Google
33
33
  end
34
34
  end
35
35
  end
36
+
37
+ helper_path = ::File.join __dir__, "v1alpha", "_helpers.rb"
38
+ require "google/analytics/data/v1alpha/_helpers" if ::File.file? helper_path
@@ -60,7 +60,7 @@ module Google
60
60
  parent_config = while namespace.any?
61
61
  parent_name = namespace.join "::"
62
62
  parent_const = const_get parent_name
63
- break parent_const.configure if parent_const&.respond_to? :configure
63
+ break parent_const.configure if parent_const.respond_to? :configure
64
64
  namespace.pop
65
65
  end
66
66
  default_config = Client::Configuration.new parent_config
@@ -68,9 +68,9 @@ module Google
68
68
  default_config.timeout = 60.0
69
69
  default_config.retry_policy = {
70
70
  initial_delay: 1.0,
71
- max_delay: 60.0,
72
- multiplier: 1.3,
73
- retry_codes: [2]
71
+ max_delay: 60.0,
72
+ multiplier: 1.3,
73
+ retry_codes: [2]
74
74
  }
75
75
 
76
76
  default_config.rpcs.run_report.timeout = 60.0
@@ -142,7 +142,13 @@ module Google
142
142
 
143
143
  # Create credentials
144
144
  credentials = @config.credentials
145
- credentials ||= Credentials.default scope: @config.scope
145
+ # Use self-signed JWT if the scope and endpoint are unchanged from default,
146
+ # but only if the default endpoint does not have a region prefix.
147
+ enable_self_signed_jwt = @config.scope == Client.configure.scope &&
148
+ @config.endpoint == Client.configure.endpoint &&
149
+ !@config.endpoint.split(".").first.include?("-")
150
+ credentials ||= Credentials.default scope: @config.scope,
151
+ enable_self_signed_jwt: enable_self_signed_jwt
146
152
  if credentials.is_a?(String) || credentials.is_a?(Hash)
147
153
  credentials = Credentials.new credentials, scope: @config.scope
148
154
  end
@@ -199,9 +205,15 @@ module Google
199
205
  # must be unspecified.
200
206
  # @param offset [::Integer]
201
207
  # The row count of the start row. The first row is counted as row 0.
208
+ #
209
+ # To learn more about this pagination parameter, see
210
+ # [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
202
211
  # @param limit [::Integer]
203
212
  # The number of rows to return. If unspecified, 10 rows are returned. If
204
213
  # -1, all rows are returned.
214
+ #
215
+ # To learn more about this pagination parameter, see
216
+ # [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
205
217
  # @param metric_aggregations [::Array<::Google::Analytics::Data::V1alpha::MetricAggregation>]
206
218
  # Aggregation of metrics. Aggregated metric values will be shown in rows
207
219
  # where the dimension_values are set to "RESERVED_(MetricAggregation)".
@@ -502,67 +514,10 @@ module Google
502
514
  raise ::Google::Cloud::Error.from_error(e)
503
515
  end
504
516
 
505
- ##
506
- # Returns metadata for dimensions and metrics available in reporting methods.
507
- # Used to explore the dimensions and metrics. Dimensions and metrics will be
508
- # mostly added over time, but renames and deletions may occur.
509
- #
510
- # This method returns Universal Metadata. Universal Metadata are dimensions
511
- # and metrics applicable to any property such as `country` and `totalUsers`.
512
- #
513
- # @overload get_universal_metadata(request, options = nil)
514
- # Pass arguments to `get_universal_metadata` via a request object, either of type
515
- # {::Google::Analytics::Data::V1alpha::GetUniversalMetadataRequest} or an equivalent Hash.
516
- #
517
- # @param request [::Google::Analytics::Data::V1alpha::GetUniversalMetadataRequest, ::Hash]
518
- # A request object representing the call parameters. Required. To specify no
519
- # parameters, or to keep all the default parameter values, pass an empty Hash.
520
- # @param options [::Gapic::CallOptions, ::Hash]
521
- # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
522
- #
523
- # @yield [response, operation] Access the result along with the RPC operation
524
- # @yieldparam response [::Google::Analytics::Data::V1alpha::UniversalMetadata]
525
- # @yieldparam operation [::GRPC::ActiveCall::Operation]
526
- #
527
- # @return [::Google::Analytics::Data::V1alpha::UniversalMetadata]
528
- #
529
- # @raise [::Google::Cloud::Error] if the RPC is aborted.
530
- #
531
- def get_universal_metadata request, options = nil
532
- raise ::ArgumentError, "request must be provided" if request.nil?
533
-
534
- request = ::Gapic::Protobuf.coerce request, to: ::Google::Analytics::Data::V1alpha::GetUniversalMetadataRequest
535
-
536
- # Converts hash and nil to an options object
537
- options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
538
-
539
- # Customize the options with defaults
540
- metadata = @config.rpcs.get_universal_metadata.metadata.to_h
541
-
542
- # Set x-goog-api-client and x-goog-user-project headers
543
- metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
544
- lib_name: @config.lib_name, lib_version: @config.lib_version,
545
- gapic_version: ::Google::Analytics::Data::V1alpha::VERSION
546
- metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
547
-
548
- options.apply_defaults timeout: @config.rpcs.get_universal_metadata.timeout,
549
- metadata: metadata,
550
- retry_policy: @config.rpcs.get_universal_metadata.retry_policy
551
- options.apply_defaults metadata: @config.metadata,
552
- retry_policy: @config.retry_policy
553
-
554
- @analytics_data_stub.call_rpc :get_universal_metadata, request, options: options do |response, operation|
555
- yield response, operation if block_given?
556
- return response
557
- end
558
- rescue ::GRPC::BadStatus => e
559
- raise ::Google::Cloud::Error.from_error(e)
560
- end
561
-
562
517
  ##
563
518
  # Returns metadata for dimensions and metrics available in reporting methods.
564
519
  # Used to explore the dimensions and metrics. In this method, a Google
565
- # Analytics 4 (GA4) Property Identifier is specified in the request, and
520
+ # Analytics GA4 Property Identifier is specified in the request, and
566
521
  # the metadata response includes Custom dimensions and metrics as well as
567
522
  # Universal metadata.
568
523
  #
@@ -589,10 +544,16 @@ module Google
589
544
  # @param name [::String]
590
545
  # Required. The resource name of the metadata to retrieve. This name field is
591
546
  # specified in the URL path and not URL parameters. Property is a numeric
592
- # Google Analytics 4 (GA4) Property identifier.
547
+ # Google Analytics GA4 Property identifier. To learn more, see [where to find
548
+ # your Property
549
+ # ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
593
550
  #
594
551
  # Example: properties/1234/metadata
595
552
  #
553
+ # Set the Property ID to 0 for dimensions and metrics common to all
554
+ # properties. In this special mode, this method will not return custom
555
+ # dimensions and metrics.
556
+ #
596
557
  # @yield [response, operation] Access the result along with the RPC operation
597
558
  # @yieldparam response [::Google::Analytics::Data::V1alpha::Metadata]
598
559
  # @yieldparam operation [::GRPC::ActiveCall::Operation]
@@ -662,7 +623,7 @@ module Google
662
623
  # A Google Analytics GA4 property identifier whose events are tracked.
663
624
  # Specified in the URL path and not the body. To learn more, see [where to
664
625
  # find your Property
665
- # ID](https://developers.google.com/analytics/trusted-testing/analytics-data/property-id).
626
+ # ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
666
627
  #
667
628
  # Example: properties/1234
668
629
  # @param dimensions [::Array<::Google::Analytics::Data::V1alpha::Dimension, ::Hash>]
@@ -825,7 +786,7 @@ module Google
825
786
  config_attr :scope, nil, ::String, ::Array, nil
826
787
  config_attr :lib_name, nil, ::String, nil
827
788
  config_attr :lib_version, nil, ::String, nil
828
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
789
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
829
790
  config_attr :interceptors, nil, ::Array, nil
830
791
  config_attr :timeout, nil, ::Numeric, nil
831
792
  config_attr :metadata, nil, ::Hash, nil
@@ -846,7 +807,7 @@ module Google
846
807
  def rpcs
847
808
  @rpcs ||= begin
848
809
  parent_rpcs = nil
849
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
810
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
850
811
  Rpcs.new parent_rpcs
851
812
  end
852
813
  end
@@ -858,7 +819,7 @@ module Google
858
819
  # Each configuration object is of type `Gapic::Config::Method` and includes
859
820
  # the following configuration fields:
860
821
  #
861
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
822
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
862
823
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
863
824
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
864
825
  # include the following keys:
@@ -890,11 +851,6 @@ module Google
890
851
  #
891
852
  attr_reader :batch_run_pivot_reports
892
853
  ##
893
- # RPC-specific configuration for `get_universal_metadata`
894
- # @return [::Gapic::Config::Method]
895
- #
896
- attr_reader :get_universal_metadata
897
- ##
898
854
  # RPC-specific configuration for `get_metadata`
899
855
  # @return [::Gapic::Config::Method]
900
856
  #
@@ -907,19 +863,17 @@ module Google
907
863
 
908
864
  # @private
909
865
  def initialize parent_rpcs = nil
910
- run_report_config = parent_rpcs&.run_report if parent_rpcs&.respond_to? :run_report
866
+ run_report_config = parent_rpcs.run_report if parent_rpcs.respond_to? :run_report
911
867
  @run_report = ::Gapic::Config::Method.new run_report_config
912
- run_pivot_report_config = parent_rpcs&.run_pivot_report if parent_rpcs&.respond_to? :run_pivot_report
868
+ run_pivot_report_config = parent_rpcs.run_pivot_report if parent_rpcs.respond_to? :run_pivot_report
913
869
  @run_pivot_report = ::Gapic::Config::Method.new run_pivot_report_config
914
- batch_run_reports_config = parent_rpcs&.batch_run_reports if parent_rpcs&.respond_to? :batch_run_reports
870
+ batch_run_reports_config = parent_rpcs.batch_run_reports if parent_rpcs.respond_to? :batch_run_reports
915
871
  @batch_run_reports = ::Gapic::Config::Method.new batch_run_reports_config
916
- batch_run_pivot_reports_config = parent_rpcs&.batch_run_pivot_reports if parent_rpcs&.respond_to? :batch_run_pivot_reports
872
+ batch_run_pivot_reports_config = parent_rpcs.batch_run_pivot_reports if parent_rpcs.respond_to? :batch_run_pivot_reports
917
873
  @batch_run_pivot_reports = ::Gapic::Config::Method.new batch_run_pivot_reports_config
918
- get_universal_metadata_config = parent_rpcs&.get_universal_metadata if parent_rpcs&.respond_to? :get_universal_metadata
919
- @get_universal_metadata = ::Gapic::Config::Method.new get_universal_metadata_config
920
- get_metadata_config = parent_rpcs&.get_metadata if parent_rpcs&.respond_to? :get_metadata
874
+ get_metadata_config = parent_rpcs.get_metadata if parent_rpcs.respond_to? :get_metadata
921
875
  @get_metadata = ::Gapic::Config::Method.new get_metadata_config
922
- run_realtime_report_config = parent_rpcs&.run_realtime_report if parent_rpcs&.respond_to? :run_realtime_report
876
+ run_realtime_report_config = parent_rpcs.run_realtime_report if parent_rpcs.respond_to? :run_realtime_report
923
877
  @run_realtime_report = ::Gapic::Config::Method.new run_realtime_report_config
924
878
 
925
879
  yield self if block_given?
@@ -78,12 +78,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
78
78
  add_message "google.analytics.data.v1alpha.BatchRunPivotReportsResponse" do
79
79
  repeated :pivot_reports, :message, 1, "google.analytics.data.v1alpha.RunPivotReportResponse"
80
80
  end
81
- add_message "google.analytics.data.v1alpha.GetUniversalMetadataRequest" do
82
- end
83
- add_message "google.analytics.data.v1alpha.UniversalMetadata" do
84
- repeated :dimensions, :message, 1, "google.analytics.data.v1alpha.DimensionMetadata"
85
- repeated :metrics, :message, 2, "google.analytics.data.v1alpha.MetricMetadata"
86
- end
87
81
  add_message "google.analytics.data.v1alpha.GetMetadataRequest" do
88
82
  optional :name, :string, 1
89
83
  end
@@ -124,8 +118,6 @@ module Google
124
118
  BatchRunReportsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.BatchRunReportsResponse").msgclass
125
119
  BatchRunPivotReportsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.BatchRunPivotReportsRequest").msgclass
126
120
  BatchRunPivotReportsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.BatchRunPivotReportsResponse").msgclass
127
- GetUniversalMetadataRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.GetUniversalMetadataRequest").msgclass
128
- UniversalMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.UniversalMetadata").msgclass
129
121
  GetMetadataRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.GetMetadataRequest").msgclass
130
122
  RunRealtimeReportRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.RunRealtimeReportRequest").msgclass
131
123
  RunRealtimeReportResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.RunRealtimeReportResponse").msgclass
@@ -54,15 +54,8 @@ module Google
54
54
  # Entity.
55
55
  rpc :BatchRunPivotReports, ::Google::Analytics::Data::V1alpha::BatchRunPivotReportsRequest, ::Google::Analytics::Data::V1alpha::BatchRunPivotReportsResponse
56
56
  # Returns metadata for dimensions and metrics available in reporting methods.
57
- # Used to explore the dimensions and metrics. Dimensions and metrics will be
58
- # mostly added over time, but renames and deletions may occur.
59
- #
60
- # This method returns Universal Metadata. Universal Metadata are dimensions
61
- # and metrics applicable to any property such as `country` and `totalUsers`.
62
- rpc :GetUniversalMetadata, ::Google::Analytics::Data::V1alpha::GetUniversalMetadataRequest, ::Google::Analytics::Data::V1alpha::UniversalMetadata
63
- # Returns metadata for dimensions and metrics available in reporting methods.
64
57
  # Used to explore the dimensions and metrics. In this method, a Google
65
- # Analytics 4 (GA4) Property Identifier is specified in the request, and
58
+ # Analytics GA4 Property Identifier is specified in the request, and
66
59
  # the metadata response includes Custom dimensions and metrics as well as
67
60
  # Universal metadata.
68
61
  #
@@ -137,9 +137,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
137
137
  optional :dimension, :string, 2
138
138
  optional :date_range, :message, 3, "google.analytics.data.v1alpha.DateRange"
139
139
  end
140
- add_message "google.analytics.data.v1alpha.CohortReportSettings" do
141
- optional :accumulate, :bool, 1
142
- end
143
140
  add_message "google.analytics.data.v1alpha.CohortsRange" do
144
141
  optional :granularity, :enum, 1, "google.analytics.data.v1alpha.CohortsRange.Granularity"
145
142
  optional :start_offset, :int32, 2
@@ -151,6 +148,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
151
148
  value :WEEKLY, 2
152
149
  value :MONTHLY, 3
153
150
  end
151
+ add_message "google.analytics.data.v1alpha.CohortReportSettings" do
152
+ optional :accumulate, :bool, 1
153
+ end
154
154
  add_message "google.analytics.data.v1alpha.ResponseMetaData" do
155
155
  optional :data_loss_from_other_row, :bool, 3
156
156
  end
@@ -203,6 +203,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
203
203
  optional :ui_name, :string, 2
204
204
  optional :description, :string, 3
205
205
  repeated :deprecated_api_names, :string, 4
206
+ optional :custom_definition, :bool, 5
206
207
  end
207
208
  add_message "google.analytics.data.v1alpha.MetricMetadata" do
208
209
  optional :api_name, :string, 1
@@ -211,6 +212,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
211
212
  repeated :deprecated_api_names, :string, 4
212
213
  optional :type, :enum, 5, "google.analytics.data.v1alpha.MetricType"
213
214
  optional :expression, :string, 6
215
+ optional :custom_definition, :bool, 7
214
216
  end
215
217
  add_enum "google.analytics.data.v1alpha.MetricAggregation" do
216
218
  value :METRIC_AGGREGATION_UNSPECIFIED, 0
@@ -266,9 +268,9 @@ module Google
266
268
  Pivot = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.Pivot").msgclass
267
269
  CohortSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.CohortSpec").msgclass
268
270
  Cohort = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.Cohort").msgclass
269
- CohortReportSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.CohortReportSettings").msgclass
270
271
  CohortsRange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.CohortsRange").msgclass
271
272
  CohortsRange::Granularity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.CohortsRange.Granularity").enummodule
273
+ CohortReportSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.CohortReportSettings").msgclass
272
274
  ResponseMetaData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.ResponseMetaData").msgclass
273
275
  DimensionHeader = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.DimensionHeader").msgclass
274
276
  MetricHeader = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.analytics.data.v1alpha.MetricHeader").msgclass
@@ -21,7 +21,7 @@ module Google
21
21
  module Analytics
22
22
  module Data
23
23
  module V1alpha
24
- VERSION = "0.4.0"
24
+ VERSION = "0.8.0"
25
25
  end
26
26
  end
27
27
  end
@@ -57,10 +57,16 @@ module Google
57
57
  # @!attribute [rw] offset
58
58
  # @return [::Integer]
59
59
  # The row count of the start row. The first row is counted as row 0.
60
+ #
61
+ # To learn more about this pagination parameter, see
62
+ # [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
60
63
  # @!attribute [rw] limit
61
64
  # @return [::Integer]
62
65
  # The number of rows to return. If unspecified, 10 rows are returned. If
63
66
  # -1, all rows are returned.
67
+ #
68
+ # To learn more about this pagination parameter, see
69
+ # [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
64
70
  # @!attribute [rw] metric_aggregations
65
71
  # @return [::Array<::Google::Analytics::Data::V1alpha::MetricAggregation>]
66
72
  # Aggregation of metrics. Aggregated metric values will be shown in rows
@@ -126,6 +132,9 @@ module Google
126
132
  # rows returned in the response. For example if a query returns 175 rows and
127
133
  # includes limit = 50 in the API request, the response will contain row_count
128
134
  # = 175 but only 50 rows.
135
+ #
136
+ # To learn more about this pagination parameter, see
137
+ # [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
129
138
  # @!attribute [rw] metadata
130
139
  # @return [::Google::Analytics::Data::V1alpha::ResponseMetaData]
131
140
  # Metadata for the report.
@@ -310,32 +319,20 @@ module Google
310
319
  extend ::Google::Protobuf::MessageExts::ClassMethods
311
320
  end
312
321
 
313
- # Request for the universal dimension and metric metadata.
314
- class GetUniversalMetadataRequest
315
- include ::Google::Protobuf::MessageExts
316
- extend ::Google::Protobuf::MessageExts::ClassMethods
317
- end
318
-
319
- # The dimensions and metrics currently accepted in reporting methods.
320
- # @!attribute [rw] dimensions
321
- # @return [::Array<::Google::Analytics::Data::V1alpha::DimensionMetadata>]
322
- # The dimensions descriptions.
323
- # @!attribute [rw] metrics
324
- # @return [::Array<::Google::Analytics::Data::V1alpha::MetricMetadata>]
325
- # The metric descriptions.
326
- class UniversalMetadata
327
- include ::Google::Protobuf::MessageExts
328
- extend ::Google::Protobuf::MessageExts::ClassMethods
329
- end
330
-
331
322
  # Request for a property's dimension and metric metadata.
332
323
  # @!attribute [rw] name
333
324
  # @return [::String]
334
325
  # Required. The resource name of the metadata to retrieve. This name field is
335
326
  # specified in the URL path and not URL parameters. Property is a numeric
336
- # Google Analytics 4 (GA4) Property identifier.
327
+ # Google Analytics GA4 Property identifier. To learn more, see [where to find
328
+ # your Property
329
+ # ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
337
330
  #
338
331
  # Example: properties/1234/metadata
332
+ #
333
+ # Set the Property ID to 0 for dimensions and metrics common to all
334
+ # properties. In this special mode, this method will not return custom
335
+ # dimensions and metrics.
339
336
  class GetMetadataRequest
340
337
  include ::Google::Protobuf::MessageExts
341
338
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -347,7 +344,7 @@ module Google
347
344
  # A Google Analytics GA4 property identifier whose events are tracked.
348
345
  # Specified in the URL path and not the body. To learn more, see [where to
349
346
  # find your Property
350
- # ID](https://developers.google.com/analytics/trusted-testing/analytics-data/property-id).
347
+ # ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
351
348
  #
352
349
  # Example: properties/1234
353
350
  # @!attribute [rw] dimensions
@@ -22,8 +22,7 @@ module Google
22
22
  module Data
23
23
  module V1alpha
24
24
  # A contiguous set of days: startDate, startDate + 1, ..., endDate. Requests
25
- # are allowed up to 4 date ranges, and the union of the ranges can cover up to
26
- # 1 year.
25
+ # are allowed up to 4 date ranges.
27
26
  # @!attribute [rw] start_date
28
27
  # @return [::String]
29
28
  # The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot
@@ -52,7 +51,7 @@ module Google
52
51
  # @return [::String]
53
52
  # A Google Analytics GA4 property id. To learn more, see [where to find your
54
53
  # Property
55
- # ID](https://developers.google.com/analytics/trusted-testing/analytics-data/property-id).
54
+ # ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
56
55
  class Entity
57
56
  include ::Google::Protobuf::MessageExts
58
57
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -65,7 +64,7 @@ module Google
65
64
  # @!attribute [rw] name
66
65
  # @return [::String]
67
66
  # The name of the dimension. See the [API
68
- # Dimensions](https://developers.google.com/analytics/trusted-testing/analytics-data/api-schema#dimensions)
67
+ # Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#dimensions)
69
68
  # for the list of dimension names.
70
69
  #
71
70
  # If `dimensionExpression` is specified, `name` can be any string that you
@@ -137,7 +136,7 @@ module Google
137
136
  # @!attribute [rw] name
138
137
  # @return [::String]
139
138
  # The name of the metric. See the [API
140
- # Metrics](https://developers.google.com/analytics/trusted-testing/analytics-data/api-schema#metrics)
139
+ # Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#metrics)
141
140
  # for the list of metric names.
142
141
  #
143
142
  # If `expression` is specified, `name` can be any string that you would like.
@@ -448,23 +447,38 @@ module Google
448
447
  extend ::Google::Protobuf::MessageExts::ClassMethods
449
448
  end
450
449
 
451
- # Specification for a cohort report.
450
+ # Specification of cohorts for a cohort report.
451
+ # Cohort reports can be used for example to create a time series of user
452
+ # retention for the cohort. For example, you could select the cohort of users
453
+ # that were acquired in the first week of September and follow that cohort for
454
+ # the next six weeks. Selecting the users acquired in the first week of
455
+ # September cohort is specified in the `cohort` object. Following that
456
+ # cohort for the next six weeks is specified in the `cohortsRange` object.
457
+ #
458
+ # The report response could show a weekly time series where say your app has
459
+ # retained 60% of this cohort after three weeks and 25% of this cohort after
460
+ # six weeks. These two percentages can be calculated by the metric
461
+ # `cohortActiveUsers/cohortTotalUsers` and will be separate rows in the report.
452
462
  # @!attribute [rw] cohorts
453
463
  # @return [::Array<::Google::Analytics::Data::V1alpha::Cohort>]
454
- # The definition for the cohorts.
464
+ # Defines the selection criteria to group users into cohorts.
465
+ #
466
+ # Most cohort reports define only a single cohort. If multiple cohorts are
467
+ # specified, each cohort can be recognized in the report by their name.
455
468
  # @!attribute [rw] cohorts_range
456
469
  # @return [::Google::Analytics::Data::V1alpha::CohortsRange]
457
- # The data ranges of cohorts.
470
+ # Cohort reports follow cohorts over an extended reporting date range. This
471
+ # range specifies an offset duration to follow the cohorts over.
458
472
  # @!attribute [rw] cohort_report_settings
459
473
  # @return [::Google::Analytics::Data::V1alpha::CohortReportSettings]
460
- # Settings of a cohort report.
474
+ # Optional settings for a cohort report.
461
475
  class CohortSpec
462
476
  include ::Google::Protobuf::MessageExts
463
477
  extend ::Google::Protobuf::MessageExts::ClassMethods
464
478
  end
465
479
 
466
- # Defines a cohort. A cohort is a group of users who share a common
467
- # characteristic. For example, all users with the same acquisition date
480
+ # Defines a cohort selection criteria. A cohort is a group of users who share
481
+ # a common characteristic. For example, users with the same `firstTouchDate`
468
482
  # belong to the same cohort.
469
483
  # @!attribute [rw] name
470
484
  # @return [::String]
@@ -474,69 +488,100 @@ module Google
474
488
  # `cohort_0`, `cohort_1`, etc.
475
489
  # @!attribute [rw] dimension
476
490
  # @return [::String]
477
- # The dimension used by cohort. Only supports `firstTouchDate` for retention
478
- # report.
491
+ # Dimension used by the cohort. Required and only supports `firstTouchDate`.
479
492
  # @!attribute [rw] date_range
480
493
  # @return [::Google::Analytics::Data::V1alpha::DateRange]
481
- # The cohort selects users whose first visit date is between start date
482
- # and end date defined in the `dateRange`. In a cohort request, this
483
- # `dateRange` is required and the `dateRanges` in the `RunReportRequest` or
484
- # `RunPivotReportRequest` must be unspecified.
494
+ # The cohort selects users whose first touch date is between start date and
495
+ # end date defined in the `dateRange`. This `dateRange` does not specify the
496
+ # full date range of event data that is present in a cohort report. In a
497
+ # cohort report, this `dateRange` is extended by the granularity and offset
498
+ # present in the `cohortsRange`; event data for the extended reporting date
499
+ # range is present in a cohort report.
485
500
  #
486
- # The date range should be aligned with the cohort's granularity. If
487
- # CohortsRange uses daily granularity, the date range can be aligned to any
488
- # day. If CohortsRange uses weekly granularity, the date range should be
489
- # aligned to the week boundary, starting at Sunday and ending Saturday. If
490
- # CohortsRange uses monthly granularity, the date range should be aligned to
491
- # the month, starting at the first and ending on the last day of the month.
501
+ # In a cohort request, this `dateRange` is required and the `dateRanges` in
502
+ # the `RunReportRequest` or `RunPivotReportRequest` must be unspecified.
503
+ #
504
+ # This `dateRange` should generally be aligned with the cohort's granularity.
505
+ # If `CohortsRange` uses daily granularity, this `dateRange` can be a single
506
+ # day. If `CohortsRange` uses weekly granularity, this `dateRange` can be
507
+ # aligned to a week boundary, starting at Sunday and ending Saturday. If
508
+ # `CohortsRange` uses monthly granularity, this `dateRange` can be aligned to
509
+ # a month, starting at the first and ending on the last day of the month.
492
510
  class Cohort
493
511
  include ::Google::Protobuf::MessageExts
494
512
  extend ::Google::Protobuf::MessageExts::ClassMethods
495
513
  end
496
514
 
497
- # Settings of a cohort report.
498
- # @!attribute [rw] accumulate
499
- # @return [::Boolean]
500
- # If true, accumulates the result from first visit day to the end day. Not
501
- # supported in `RunReportRequest`.
502
- class CohortReportSettings
503
- include ::Google::Protobuf::MessageExts
504
- extend ::Google::Protobuf::MessageExts::ClassMethods
505
- end
506
-
507
- # Describes date range for a cohort report.
515
+ # Configures the extended reporting date range for a cohort report. Specifies
516
+ # an offset duration to follow the cohorts over.
508
517
  # @!attribute [rw] granularity
509
518
  # @return [::Google::Analytics::Data::V1alpha::CohortsRange::Granularity]
510
- # Reporting date range for each cohort is calculated based on these three
511
- # fields.
519
+ # The granularity used to interpret the `startOffset` and `endOffset` for the
520
+ # extended reporting date range for a cohort report.
512
521
  # @!attribute [rw] start_offset
513
522
  # @return [::Integer]
514
- # For daily cohorts, this will be the start day offset.
515
- # For weekly cohorts, this will be the week offset.
523
+ # `startOffset` specifies the start date of the extended reporting date range
524
+ # for a cohort report. `startOffset` is commonly set to 0 so that reports
525
+ # contain data from the acquisition of the cohort forward.
526
+ #
527
+ # If `granularity` is `DAILY`, the `startDate` of the extended reporting date
528
+ # range is `startDate` of the cohort plus `startOffset` days.
529
+ #
530
+ # If `granularity` is `WEEKLY`, the `startDate` of the extended reporting
531
+ # date range is `startDate` of the cohort plus `startOffset * 7` days.
532
+ #
533
+ # If `granularity` is `MONTHLY`, the `startDate` of the extended reporting
534
+ # date range is `startDate` of the cohort plus `startOffset * 30` days.
516
535
  # @!attribute [rw] end_offset
517
536
  # @return [::Integer]
518
- # For daily cohorts, this will be the end day offset.
519
- # For weekly cohorts, this will be the week offset.
537
+ # `endOffset` specifies the end date of the extended reporting date range
538
+ # for a cohort report. `endOffset` can be any positive integer but is
539
+ # commonly set to 5 to 10 so that reports contain data on the cohort for the
540
+ # next several granularity time periods.
541
+ #
542
+ # If `granularity` is `DAILY`, the `endDate` of the extended reporting date
543
+ # range is `endDate` of the cohort plus `endOffset` days.
544
+ #
545
+ # If `granularity` is `WEEKLY`, the `endDate` of the extended reporting date
546
+ # range is `endDate` of the cohort plus `endOffset * 7` days.
547
+ #
548
+ # If `granularity` is `MONTHLY`, the `endDate` of the extended reporting date
549
+ # range is `endDate` of the cohort plus `endOffset * 30` days.
520
550
  class CohortsRange
521
551
  include ::Google::Protobuf::MessageExts
522
552
  extend ::Google::Protobuf::MessageExts::ClassMethods
523
553
 
524
- # Reporting granularity for the cohorts.
554
+ # The granularity used to interpret the `startOffset` and `endOffset` for the
555
+ # extended reporting date range for a cohort report.
525
556
  module Granularity
526
- # Unspecified.
557
+ # Should never be specified.
527
558
  GRANULARITY_UNSPECIFIED = 0
528
559
 
529
- # Daily
560
+ # Daily granularity. Commonly used if the cohort's `dateRange` is a single
561
+ # day and the request contains `cohortNthDay`.
530
562
  DAILY = 1
531
563
 
532
- # Weekly
564
+ # Weekly granularity. Commonly used if the cohort's `dateRange` is a week
565
+ # in duration (starting on Sunday and ending on Saturday) and the request
566
+ # contains `cohortNthWeek`.
533
567
  WEEKLY = 2
534
568
 
535
- # Monthly
569
+ # Monthly granularity. Commonly used if the cohort's `dateRange` is a month
570
+ # in duration and the request contains `cohortNthMonth`.
536
571
  MONTHLY = 3
537
572
  end
538
573
  end
539
574
 
575
+ # Optional settings of a cohort report.
576
+ # @!attribute [rw] accumulate
577
+ # @return [::Boolean]
578
+ # If true, accumulates the result from first touch day to the end day. Not
579
+ # supported in `RunReportRequest`.
580
+ class CohortReportSettings
581
+ include ::Google::Protobuf::MessageExts
582
+ extend ::Google::Protobuf::MessageExts::ClassMethods
583
+ end
584
+
540
585
  # Response's metadata carrying additional information about the report content.
541
586
  # @!attribute [rw] data_loss_from_other_row
542
587
  # @return [::Boolean]
@@ -735,6 +780,9 @@ module Google
735
780
  # dimension is available by either `apiName` or one of `deprecatedApiNames`
736
781
  # for a period of time. After the deprecation period, the dimension will be
737
782
  # available only by `apiName`.
783
+ # @!attribute [rw] custom_definition
784
+ # @return [::Boolean]
785
+ # True if the dimension is a custom dimension for this property.
738
786
  class DimensionMetadata
739
787
  include ::Google::Protobuf::MessageExts
740
788
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -766,6 +814,9 @@ module Google
766
814
  # The mathematical expression for this derived metric. Can be used in
767
815
  # [Metric](#Metric)'s `expression` field for equivalent reports. Most metrics
768
816
  # are not expressions, and for non-expressions, this field is empty.
817
+ # @!attribute [rw] custom_definition
818
+ # @return [::Boolean]
819
+ # True if the metric is a custom metric for this property.
769
820
  class MetricMetadata
770
821
  include ::Google::Protobuf::MessageExts
771
822
  extend ::Google::Protobuf::MessageExts::ClassMethods