google-shopping-merchant-reports-v1beta 0.a → 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.
Files changed (27) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +149 -0
  4. data/README.md +144 -8
  5. data/lib/google/shopping/merchant/reports/v1beta/report_service/client.rb +426 -0
  6. data/lib/google/shopping/merchant/reports/v1beta/report_service/credentials.rb +49 -0
  7. data/lib/google/shopping/merchant/reports/v1beta/report_service/rest/client.rb +390 -0
  8. data/lib/google/shopping/merchant/reports/v1beta/report_service/rest/service_stub.rb +110 -0
  9. data/lib/google/shopping/merchant/reports/v1beta/report_service/rest.rb +54 -0
  10. data/lib/google/shopping/merchant/reports/v1beta/report_service.rb +57 -0
  11. data/lib/google/shopping/merchant/reports/v1beta/reports_pb.rb +84 -0
  12. data/lib/google/shopping/merchant/reports/v1beta/reports_services_pb.rb +50 -0
  13. data/lib/google/shopping/merchant/reports/v1beta/rest.rb +39 -0
  14. data/lib/google/shopping/merchant/reports/v1beta/version.rb +7 -2
  15. data/lib/google/shopping/merchant/reports/v1beta.rb +47 -0
  16. data/lib/google-shopping-merchant-reports-v1beta.rb +21 -0
  17. data/proto_docs/README.md +4 -0
  18. data/proto_docs/google/api/client.rb +381 -0
  19. data/proto_docs/google/api/field_behavior.rb +85 -0
  20. data/proto_docs/google/api/launch_stage.rb +71 -0
  21. data/proto_docs/google/api/resource.rb +222 -0
  22. data/proto_docs/google/protobuf/duration.rb +98 -0
  23. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  24. data/proto_docs/google/shopping/merchant/reports/v1beta/reports.rb +1260 -0
  25. data/proto_docs/google/shopping/type/types.rb +175 -0
  26. data/proto_docs/google/type/date.rb +53 -0
  27. metadata +200 -12
@@ -0,0 +1,1260 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 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 Shopping
22
+ module Merchant
23
+ module Reports
24
+ module V1beta
25
+ # Request message for the `ReportService.Search` method.
26
+ # @!attribute [rw] parent
27
+ # @return [::String]
28
+ # Required. Id of the account making the call. Must be a standalone account
29
+ # or an MCA subaccount. Format: accounts/\\{account}
30
+ # @!attribute [rw] query
31
+ # @return [::String]
32
+ # Required. Query that defines a report to be retrieved.
33
+ #
34
+ # For details on how to construct your query, see the Query Language
35
+ # guide. For the full list of available tables and fields, see the Available
36
+ # fields.
37
+ # @!attribute [rw] page_size
38
+ # @return [::Integer]
39
+ # Optional. Number of `ReportRows` to retrieve in a single page. Defaults to
40
+ # the maximum of 1000. Values above 1000 are coerced to 1000.
41
+ # @!attribute [rw] page_token
42
+ # @return [::String]
43
+ # Optional. Token of the page to retrieve. If not specified, the first page
44
+ # of results is returned. In order to request the next page of results, the
45
+ # value obtained from `next_page_token` in the previous response should be
46
+ # used.
47
+ class SearchRequest
48
+ include ::Google::Protobuf::MessageExts
49
+ extend ::Google::Protobuf::MessageExts::ClassMethods
50
+ end
51
+
52
+ # Response message for the `ReportService.Search` method.
53
+ # @!attribute [rw] results
54
+ # @return [::Array<::Google::Shopping::Merchant::Reports::V1beta::ReportRow>]
55
+ # Rows that matched the search query.
56
+ # @!attribute [rw] next_page_token
57
+ # @return [::String]
58
+ # Token which can be sent as `page_token` to retrieve the next page. If
59
+ # omitted, there are no subsequent pages.
60
+ class SearchResponse
61
+ include ::Google::Protobuf::MessageExts
62
+ extend ::Google::Protobuf::MessageExts::ClassMethods
63
+ end
64
+
65
+ # Result row returned from the search query.
66
+ #
67
+ # Only the message corresponding to the queried table is populated in the
68
+ # response. Within the populated message, only the fields requested explicitly
69
+ # in the query are populated.
70
+ # @!attribute [rw] product_performance_view
71
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::ProductPerformanceView]
72
+ # Fields available for query in `product_performance_view` table.
73
+ # @!attribute [rw] non_product_performance_view
74
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::NonProductPerformanceView]
75
+ # Fields available for query in `non_product_performance_view` table.
76
+ # @!attribute [rw] product_view
77
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::ProductView]
78
+ # Fields available for query in `product_view` table.
79
+ # @!attribute [rw] price_competitiveness_product_view
80
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::PriceCompetitivenessProductView]
81
+ # Fields available for query in `price_competitiveness_product_view` table.
82
+ # @!attribute [rw] price_insights_product_view
83
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::PriceInsightsProductView]
84
+ # Fields available for query in `price_insights_product_view` table.
85
+ # @!attribute [rw] best_sellers_product_cluster_view
86
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::BestSellersProductClusterView]
87
+ # Fields available for query in `best_sellers_product_cluster_view` table.
88
+ # @!attribute [rw] best_sellers_brand_view
89
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::BestSellersBrandView]
90
+ # Fields available for query in `best_sellers_brand_view` table.
91
+ # @!attribute [rw] competitive_visibility_competitor_view
92
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::CompetitiveVisibilityCompetitorView]
93
+ # Fields available for query in `competitive_visibility_competitor_view`
94
+ # table.
95
+ # @!attribute [rw] competitive_visibility_top_merchant_view
96
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::CompetitiveVisibilityTopMerchantView]
97
+ # Fields available for query in `competitive_visibility_top_merchant_view`
98
+ # table.
99
+ # @!attribute [rw] competitive_visibility_benchmark_view
100
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::CompetitiveVisibilityBenchmarkView]
101
+ # Fields available for query in `competitive_visibility_benchmark_view`
102
+ # table.
103
+ class ReportRow
104
+ include ::Google::Protobuf::MessageExts
105
+ extend ::Google::Protobuf::MessageExts::ClassMethods
106
+ end
107
+
108
+ # Fields available for query in `product_performance_view` table.
109
+ #
110
+ # Product performance data for your account, including performance metrics (for
111
+ # example, `clicks`) and dimensions according to which performance metrics are
112
+ # segmented (for example, `offer_id`). Values of product dimensions, such as
113
+ # `offer_id`, reflect the state of a product at the time of the impression.
114
+ #
115
+ # Segment fields cannot be selected in queries without also selecting at least
116
+ # one metric field.
117
+ #
118
+ # Values are only set for fields requested explicitly in the request's search
119
+ # query.
120
+ # @!attribute [rw] marketing_method
121
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::MarketingMethod::MarketingMethodEnum]
122
+ # Marketing method to which metrics apply. Segment.
123
+ # @!attribute [rw] date
124
+ # @return [::Google::Type::Date]
125
+ # Date in the merchant timezone to which metrics apply. Segment.
126
+ #
127
+ # Condition on `date` is required in the `WHERE` clause.
128
+ # @!attribute [rw] week
129
+ # @return [::Google::Type::Date]
130
+ # First day of the week (Monday) of the metrics date in the merchant
131
+ # timezone. Segment.
132
+ # @!attribute [rw] customer_country_code
133
+ # @return [::String]
134
+ # Code of the country where the customer is located at the time of the event.
135
+ # Represented in the ISO 3166 format. Segment.
136
+ #
137
+ # If the customer country cannot be determined, a special 'ZZ' code is
138
+ # returned.
139
+ # @!attribute [rw] account_id
140
+ # @return [::Integer]
141
+ # Merchant Center account id of the seller of the offer. Segment.
142
+ #
143
+ # Available only for multi-client accounts.
144
+ # @!attribute [rw] account_display_name
145
+ # @return [::String]
146
+ # Merchant Center account name of the seller of the offer. Segment.
147
+ #
148
+ # Available only for multi-client accounts.
149
+ # @!attribute [rw] external_account_id
150
+ # @return [::String]
151
+ # [External account
152
+ # id](https://support.google.com/merchants/answer/11537846?hl=en) submitted
153
+ # in an offer feed by a multi-seller account to identify the seller of the
154
+ # offer. Segment.
155
+ #
156
+ # Available only for multi-client accounts. This field is non-empty only for
157
+ # auto-seller accounts.
158
+ # @!attribute [rw] offer_id
159
+ # @return [::String]
160
+ # Merchant-provided id of the product. Segment.
161
+ # @!attribute [rw] title
162
+ # @return [::String]
163
+ # Title of the product. Segment.
164
+ # @!attribute [rw] brand
165
+ # @return [::String]
166
+ # Brand of the product. Segment.
167
+ # @!attribute [rw] category_l1
168
+ # @return [::String]
169
+ # [Product category (1st
170
+ # level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type)
171
+ # in Google's product taxonomy. Segment.
172
+ # @!attribute [rw] category_l2
173
+ # @return [::String]
174
+ # [Product category (2nd
175
+ # level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type)
176
+ # in Google's product taxonomy. Segment.
177
+ # @!attribute [rw] category_l3
178
+ # @return [::String]
179
+ # [Product category (3rd
180
+ # level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type)
181
+ # in Google's product taxonomy. Segment.
182
+ # @!attribute [rw] category_l4
183
+ # @return [::String]
184
+ # [Product category (4th
185
+ # level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type)
186
+ # in Google's product taxonomy. Segment.
187
+ # @!attribute [rw] category_l5
188
+ # @return [::String]
189
+ # [Product category (5th
190
+ # level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type)
191
+ # in Google's product taxonomy. Segment.
192
+ # @!attribute [rw] product_type_l1
193
+ # @return [::String]
194
+ # [Product type (1st
195
+ # level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type)
196
+ # in merchant's own product taxonomy. Segment.
197
+ # @!attribute [rw] product_type_l2
198
+ # @return [::String]
199
+ # [Product type (2nd
200
+ # level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type)
201
+ # in merchant's own product taxonomy. Segment.
202
+ # @!attribute [rw] product_type_l3
203
+ # @return [::String]
204
+ # [Product type (3rd
205
+ # level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type)
206
+ # in merchant's own product taxonomy. Segment.
207
+ # @!attribute [rw] product_type_l4
208
+ # @return [::String]
209
+ # [Product type (4th
210
+ # level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type)
211
+ # in merchant's own product taxonomy. Segment.
212
+ # @!attribute [rw] product_type_l5
213
+ # @return [::String]
214
+ # [Product type (5th
215
+ # level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type)
216
+ # in merchant's own product taxonomy. Segment.
217
+ # @!attribute [rw] custom_label0
218
+ # @return [::String]
219
+ # Custom label 0 for custom grouping of products. Segment.
220
+ # @!attribute [rw] custom_label1
221
+ # @return [::String]
222
+ # Custom label 1 for custom grouping of products. Segment.
223
+ # @!attribute [rw] custom_label2
224
+ # @return [::String]
225
+ # Custom label 2 for custom grouping of products. Segment.
226
+ # @!attribute [rw] custom_label3
227
+ # @return [::String]
228
+ # Custom label 3 for custom grouping of products. Segment.
229
+ # @!attribute [rw] custom_label4
230
+ # @return [::String]
231
+ # Custom label 4 for custom grouping of products. Segment.
232
+ # @!attribute [rw] clicks
233
+ # @return [::Integer]
234
+ # Number of clicks. Metric.
235
+ # @!attribute [rw] impressions
236
+ # @return [::Integer]
237
+ # Number of times merchant's products are shown. Metric.
238
+ # @!attribute [rw] click_through_rate
239
+ # @return [::Float]
240
+ # Click-through rate - the number of clicks merchant's products receive
241
+ # (clicks) divided by the number of times the products are shown
242
+ # (impressions). Metric.
243
+ # @!attribute [rw] conversions
244
+ # @return [::Float]
245
+ # Number of conversions attributed to the product, reported on the conversion
246
+ # date. Depending on the attribution model, a conversion might be distributed
247
+ # across multiple clicks, where each click gets its own credit assigned. This
248
+ # metric is a sum of all such credits. Metric.
249
+ #
250
+ # Available only for the `FREE` traffic source.
251
+ # @!attribute [rw] conversion_value
252
+ # @return [::Google::Shopping::Type::Price]
253
+ # Value of conversions attributed to the product, reported on the conversion
254
+ # date. Metric.
255
+ #
256
+ # Available only for the `FREE` traffic source.
257
+ # @!attribute [rw] conversion_rate
258
+ # @return [::Float]
259
+ # Number of conversions divided by the number of clicks, reported on the
260
+ # impression date. Metric.
261
+ #
262
+ # Available only for the `FREE` traffic source.
263
+ class ProductPerformanceView
264
+ include ::Google::Protobuf::MessageExts
265
+ extend ::Google::Protobuf::MessageExts::ClassMethods
266
+ end
267
+
268
+ # Fields available for query in `product_view` table.
269
+ #
270
+ # Products in the current inventory. Products in this table are the same as in
271
+ # Products sub-API but not all product attributes from Products sub-API are
272
+ # available for query in this table. In contrast to Products sub-API, this
273
+ # table allows to filter the returned list of products by product attributes.
274
+ # To retrieve a single product by `id` or list all products, Products sub-API
275
+ # should be used.
276
+ #
277
+ # Values are only set for fields requested explicitly in the request's search
278
+ # query.
279
+ # @!attribute [rw] id
280
+ # @return [::String]
281
+ # REST ID of the product, in the form of
282
+ # `channel~languageCode~feedLabel~offerId`. Merchant API methods that operate
283
+ # on products take this as their `name` parameter.
284
+ #
285
+ # Required in the `SELECT` clause.
286
+ # @!attribute [rw] channel
287
+ # @return [::Google::Shopping::Type::Channel::ChannelEnum]
288
+ # Channel of the product. Can be `ONLINE` or `LOCAL`.
289
+ # @!attribute [rw] language_code
290
+ # @return [::String]
291
+ # Language code of the product in BCP 47 format.
292
+ # @!attribute [rw] feed_label
293
+ # @return [::String]
294
+ # Feed label of the product.
295
+ # @!attribute [rw] offer_id
296
+ # @return [::String]
297
+ # Merchant-provided id of the product.
298
+ # @!attribute [rw] title
299
+ # @return [::String]
300
+ # Title of the product.
301
+ # @!attribute [rw] brand
302
+ # @return [::String]
303
+ # Brand of the product.
304
+ # @!attribute [rw] category_l1
305
+ # @return [::String]
306
+ # Product category (1st level) in [Google's product
307
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
308
+ # @!attribute [rw] category_l2
309
+ # @return [::String]
310
+ # Product category (2nd level) in [Google's product
311
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
312
+ # @!attribute [rw] category_l3
313
+ # @return [::String]
314
+ # Product category (3rd level) in [Google's product
315
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
316
+ # @!attribute [rw] category_l4
317
+ # @return [::String]
318
+ # Product category (4th level) in [Google's product
319
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
320
+ # @!attribute [rw] category_l5
321
+ # @return [::String]
322
+ # Product category (5th level) in [Google's product
323
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
324
+ # @!attribute [rw] product_type_l1
325
+ # @return [::String]
326
+ # Product type (1st level) in merchant's own [product
327
+ # taxonomy](https://support.google.com/merchants/answer/6324406).
328
+ # @!attribute [rw] product_type_l2
329
+ # @return [::String]
330
+ # Product type (2nd level) in merchant's own [product
331
+ # taxonomy](https://support.google.com/merchants/answer/6324406).
332
+ # @!attribute [rw] product_type_l3
333
+ # @return [::String]
334
+ # Product type (3rd level) in merchant's own [product
335
+ # taxonomy](https://support.google.com/merchants/answer/6324406).
336
+ # @!attribute [rw] product_type_l4
337
+ # @return [::String]
338
+ # Product type (4th level) in merchant's own [product
339
+ # taxonomy](https://support.google.com/merchants/answer/6324406).
340
+ # @!attribute [rw] product_type_l5
341
+ # @return [::String]
342
+ # Product type (5th level) in merchant's own [product
343
+ # taxonomy](https://support.google.com/merchants/answer/6324406).
344
+ # @!attribute [rw] price
345
+ # @return [::Google::Shopping::Type::Price]
346
+ # Product price. Absent if the information about the price of the product is
347
+ # not available.
348
+ # @!attribute [rw] condition
349
+ # @return [::String]
350
+ # [Condition](https://support.google.com/merchants/answer/6324469) of the
351
+ # product.
352
+ # @!attribute [rw] availability
353
+ # @return [::String]
354
+ # [Availability](https://support.google.com/merchants/answer/6324448) of the
355
+ # product.
356
+ # @!attribute [rw] shipping_label
357
+ # @return [::String]
358
+ # Normalized [shipping
359
+ # label](https://support.google.com/merchants/answer/6324504) specified in
360
+ # the feed.
361
+ # @!attribute [rw] gtin
362
+ # @return [::Array<::String>]
363
+ # List of Global Trade Item Numbers (GTINs) of the product.
364
+ # @!attribute [rw] item_group_id
365
+ # @return [::String]
366
+ # Item group id provided by the merchant for grouping variants together.
367
+ # @!attribute [rw] thumbnail_link
368
+ # @return [::String]
369
+ # Link to the processed image of the product, hosted on the Google
370
+ # infrastructure.
371
+ # @!attribute [rw] creation_time
372
+ # @return [::Google::Protobuf::Timestamp]
373
+ # The time the merchant created the product in timestamp seconds.
374
+ # @!attribute [rw] expiration_date
375
+ # @return [::Google::Type::Date]
376
+ # Expiration date for the product, specified on insertion.
377
+ # @!attribute [rw] aggregated_reporting_context_status
378
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::ProductView::AggregatedReportingContextStatus]
379
+ # Aggregated status.
380
+ # @!attribute [rw] item_issues
381
+ # @return [::Array<::Google::Shopping::Merchant::Reports::V1beta::ProductView::ItemIssue>]
382
+ # List of item issues for the product.
383
+ #
384
+ # **This field cannot be used for sorting the results.**
385
+ #
386
+ # **Only selected attributes of this field (for example,
387
+ # `item_issues.severity.aggregated_severity`) can be used for filtering the
388
+ # results.**
389
+ class ProductView
390
+ include ::Google::Protobuf::MessageExts
391
+ extend ::Google::Protobuf::MessageExts::ClassMethods
392
+
393
+ # Item issue associated with the product.
394
+ # @!attribute [rw] type
395
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::ProductView::ItemIssue::ItemIssueType]
396
+ # Item issue type.
397
+ # @!attribute [rw] severity
398
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::ProductView::ItemIssue::ItemIssueSeverity]
399
+ # Item issue severity.
400
+ # @!attribute [rw] resolution
401
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::ProductView::ItemIssue::ItemIssueResolution]
402
+ # Item issue resolution.
403
+ class ItemIssue
404
+ include ::Google::Protobuf::MessageExts
405
+ extend ::Google::Protobuf::MessageExts::ClassMethods
406
+
407
+ # Issue type.
408
+ # @!attribute [rw] code
409
+ # @return [::String]
410
+ # Error code of the issue, equivalent to the `code` of [Product
411
+ # issues](https://developers.google.com/shopping-content/guides/product-issues).
412
+ # @!attribute [rw] canonical_attribute
413
+ # @return [::String]
414
+ # Canonical attribute name for attribute-specific issues.
415
+ class ItemIssueType
416
+ include ::Google::Protobuf::MessageExts
417
+ extend ::Google::Protobuf::MessageExts::ClassMethods
418
+ end
419
+
420
+ # How the issue affects the serving of the product.
421
+ # @!attribute [rw] severity_per_reporting_context
422
+ # @return [::Array<::Google::Shopping::Merchant::Reports::V1beta::ProductView::ItemIssue::ItemIssueSeverity::IssueSeverityPerReportingContext>]
423
+ # Issue severity per reporting context.
424
+ # @!attribute [rw] aggregated_severity
425
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::ProductView::ItemIssue::ItemIssueSeverity::AggregatedIssueSeverity]
426
+ # Aggregated severity of the issue for all reporting contexts it affects.
427
+ #
428
+ # **This field can be used for filtering the results.**
429
+ class ItemIssueSeverity
430
+ include ::Google::Protobuf::MessageExts
431
+ extend ::Google::Protobuf::MessageExts::ClassMethods
432
+
433
+ # Issue severity per reporting context.
434
+ # @!attribute [rw] reporting_context
435
+ # @return [::Google::Shopping::Type::ReportingContext::ReportingContextEnum]
436
+ # Reporting context the issue applies to.
437
+ # @!attribute [rw] disapproved_countries
438
+ # @return [::Array<::String>]
439
+ # List of disapproved countries in the reporting context, represented
440
+ # in ISO 3166 format.
441
+ # @!attribute [rw] demoted_countries
442
+ # @return [::Array<::String>]
443
+ # List of demoted countries in the reporting context, represented in
444
+ # ISO 3166 format.
445
+ class IssueSeverityPerReportingContext
446
+ include ::Google::Protobuf::MessageExts
447
+ extend ::Google::Protobuf::MessageExts::ClassMethods
448
+ end
449
+
450
+ # Issue severity aggregated for all reporting contexts.
451
+ module AggregatedIssueSeverity
452
+ # Not specified.
453
+ AGGREGATED_ISSUE_SEVERITY_UNSPECIFIED = 0
454
+
455
+ # Issue disapproves the product in at least one reporting context.
456
+ DISAPPROVED = 1
457
+
458
+ # Issue demotes the product in all reporting contexts it affects.
459
+ DEMOTED = 2
460
+
461
+ # Issue resolution is `PENDING_PROCESSING`.
462
+ PENDING = 3
463
+ end
464
+ end
465
+
466
+ # How to resolve the issue.
467
+ module ItemIssueResolution
468
+ # Not specified.
469
+ ITEM_ISSUE_RESOLUTION_UNSPECIFIED = 0
470
+
471
+ # The merchant has to fix the issue.
472
+ MERCHANT_ACTION = 1
473
+
474
+ # The issue will be resolved automatically (for example, image crawl) or
475
+ # through a Google review. No merchant action is required now. Resolution
476
+ # might lead to another issue (for example, if crawl fails).
477
+ PENDING_PROCESSING = 2
478
+ end
479
+ end
480
+
481
+ # Status of the product aggregated for all reporting contexts.
482
+ #
483
+ # Here's an example of how the aggregated status is computed:
484
+ #
485
+ # Free listings | Shopping Ads | Status
486
+ # --------------|--------------|------------------------------
487
+ # Approved | Approved | ELIGIBLE
488
+ # Approved | Pending | ELIGIBLE
489
+ # Approved | Disapproved | ELIGIBLE_LIMITED
490
+ # Pending | Pending | PENDING
491
+ # Disapproved | Disapproved | NOT_ELIGIBLE_OR_DISAPPROVED
492
+ module AggregatedReportingContextStatus
493
+ # Not specified.
494
+ AGGREGATED_REPORTING_CONTEXT_STATUS_UNSPECIFIED = 0
495
+
496
+ # Product is not eligible or is disapproved for all reporting contexts.
497
+ NOT_ELIGIBLE_OR_DISAPPROVED = 1
498
+
499
+ # Product's status is pending in all reporting contexts.
500
+ PENDING = 2
501
+
502
+ # Product is eligible for some (but not all) reporting contexts.
503
+ ELIGIBLE_LIMITED = 3
504
+
505
+ # Product is eligible for all reporting contexts.
506
+ ELIGIBLE = 4
507
+ end
508
+ end
509
+
510
+ # Fields available for query in `price_competitiveness_product_view` table.
511
+ #
512
+ # [Price competitiveness](https://support.google.com/merchants/answer/9626903)
513
+ # report.
514
+ #
515
+ # Values are only set for fields requested explicitly in the request's search
516
+ # query.
517
+ # @!attribute [rw] report_country_code
518
+ # @return [::String]
519
+ # Country of the price benchmark. Represented in the ISO 3166 format.
520
+ #
521
+ # Required in the `SELECT` clause.
522
+ # @!attribute [rw] id
523
+ # @return [::String]
524
+ # REST ID of the product, in the form of
525
+ # `channel~languageCode~feedLabel~offerId`. Can be used to join data with the
526
+ # `product_view` table.
527
+ #
528
+ # Required in the `SELECT` clause.
529
+ # @!attribute [rw] offer_id
530
+ # @return [::String]
531
+ # Merchant-provided id of the product.
532
+ # @!attribute [rw] title
533
+ # @return [::String]
534
+ # Title of the product.
535
+ # @!attribute [rw] brand
536
+ # @return [::String]
537
+ # Brand of the product.
538
+ # @!attribute [rw] category_l1
539
+ # @return [::String]
540
+ # Product category (1st level) in [Google's product
541
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
542
+ # @!attribute [rw] category_l2
543
+ # @return [::String]
544
+ # Product category (2nd level) in [Google's product
545
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
546
+ # @!attribute [rw] category_l3
547
+ # @return [::String]
548
+ # Product category (3rd level) in [Google's product
549
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
550
+ # @!attribute [rw] category_l4
551
+ # @return [::String]
552
+ # Product category (4th level) in [Google's product
553
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
554
+ # @!attribute [rw] category_l5
555
+ # @return [::String]
556
+ # Product category (5th level) in [Google's product
557
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
558
+ # @!attribute [rw] product_type_l1
559
+ # @return [::String]
560
+ # Product type (1st level) in merchant's own [product
561
+ # taxonomy](https://support.google.com/merchants/answer/6324406).
562
+ # @!attribute [rw] product_type_l2
563
+ # @return [::String]
564
+ # Product type (2nd level) in merchant's own [product
565
+ # taxonomy](https://support.google.com/merchants/answer/6324406).
566
+ # @!attribute [rw] product_type_l3
567
+ # @return [::String]
568
+ # Product type (3rd level) in merchant's own [product
569
+ # taxonomy](https://support.google.com/merchants/answer/6324406).
570
+ # @!attribute [rw] product_type_l4
571
+ # @return [::String]
572
+ # Product type (4th level) in merchant's own [product
573
+ # taxonomy](https://support.google.com/merchants/answer/6324406).
574
+ # @!attribute [rw] product_type_l5
575
+ # @return [::String]
576
+ # Product type (5th level) in merchant's own [product
577
+ # taxonomy](https://support.google.com/merchants/answer/6324406).
578
+ # @!attribute [rw] price
579
+ # @return [::Google::Shopping::Type::Price]
580
+ # Current price of the product.
581
+ # @!attribute [rw] benchmark_price
582
+ # @return [::Google::Shopping::Type::Price]
583
+ # Latest available price benchmark for the product's catalog in the benchmark
584
+ # country.
585
+ class PriceCompetitivenessProductView
586
+ include ::Google::Protobuf::MessageExts
587
+ extend ::Google::Protobuf::MessageExts::ClassMethods
588
+ end
589
+
590
+ # Fields available for query in `price_insights_product_view` table.
591
+ #
592
+ # [Price insights](https://support.google.com/merchants/answer/11916926)
593
+ # report.
594
+ #
595
+ # Values are only set for fields requested explicitly in the request's search
596
+ # query.
597
+ # @!attribute [rw] id
598
+ # @return [::String]
599
+ # REST ID of the product, in the form of
600
+ # `channel~languageCode~feedLabel~offerId`. Can be used to join data with the
601
+ # `product_view` table.
602
+ #
603
+ # Required in the `SELECT` clause.
604
+ # @!attribute [rw] offer_id
605
+ # @return [::String]
606
+ # Merchant-provided id of the product.
607
+ # @!attribute [rw] title
608
+ # @return [::String]
609
+ # Title of the product.
610
+ # @!attribute [rw] brand
611
+ # @return [::String]
612
+ # Brand of the product.
613
+ # @!attribute [rw] category_l1
614
+ # @return [::String]
615
+ # Product category (1st level) in [Google's product
616
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
617
+ # @!attribute [rw] category_l2
618
+ # @return [::String]
619
+ # Product category (2nd level) in [Google's product
620
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
621
+ # @!attribute [rw] category_l3
622
+ # @return [::String]
623
+ # Product category (3rd level) in [Google's product
624
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
625
+ # @!attribute [rw] category_l4
626
+ # @return [::String]
627
+ # Product category (4th level) in [Google's product
628
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
629
+ # @!attribute [rw] category_l5
630
+ # @return [::String]
631
+ # Product category (5th level) in [Google's product
632
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
633
+ # @!attribute [rw] product_type_l1
634
+ # @return [::String]
635
+ # Product type (1st level) in merchant's own [product
636
+ # taxonomy](https://support.google.com/merchants/answer/6324406).
637
+ # @!attribute [rw] product_type_l2
638
+ # @return [::String]
639
+ # Product type (2nd level) in merchant's own [product
640
+ # taxonomy](https://support.google.com/merchants/answer/6324406).
641
+ # @!attribute [rw] product_type_l3
642
+ # @return [::String]
643
+ # Product type (3rd level) in merchant's own [product
644
+ # taxonomy](https://support.google.com/merchants/answer/6324406).
645
+ # @!attribute [rw] product_type_l4
646
+ # @return [::String]
647
+ # Product type (4th level) in merchant's own [product
648
+ # taxonomy](https://support.google.com/merchants/answer/6324406).
649
+ # @!attribute [rw] product_type_l5
650
+ # @return [::String]
651
+ # Product type (5th level) in merchant's own [product
652
+ # taxonomy](https://support.google.com/merchants/answer/6324406).
653
+ # @!attribute [rw] price
654
+ # @return [::Google::Shopping::Type::Price]
655
+ # Current price of the product.
656
+ # @!attribute [rw] suggested_price
657
+ # @return [::Google::Shopping::Type::Price]
658
+ # Latest suggested price for the product.
659
+ # @!attribute [rw] predicted_impressions_change_fraction
660
+ # @return [::Float]
661
+ # Predicted change in impressions as a fraction after introducing the
662
+ # suggested price compared to current active price. For example, 0.05 is a 5%
663
+ # predicted increase in impressions.
664
+ # @!attribute [rw] predicted_clicks_change_fraction
665
+ # @return [::Float]
666
+ # Predicted change in clicks as a fraction after introducing the
667
+ # suggested price compared to current active price. For example, 0.05 is a 5%
668
+ # predicted increase in clicks.
669
+ # @!attribute [rw] predicted_conversions_change_fraction
670
+ # @return [::Float]
671
+ # Predicted change in conversions as a fraction after introducing the
672
+ # suggested price compared to current active price. For example, 0.05 is a 5%
673
+ # predicted increase in conversions).
674
+ class PriceInsightsProductView
675
+ include ::Google::Protobuf::MessageExts
676
+ extend ::Google::Protobuf::MessageExts::ClassMethods
677
+ end
678
+
679
+ # Fields available for query in `best_sellers_product_cluster_view` table.
680
+ #
681
+ # [Best sellers](https://support.google.com/merchants/answer/9488679) report
682
+ # with top product clusters. A product cluster is a grouping for different
683
+ # offers and variants that represent the same product, for example, Google
684
+ # Pixel 7.
685
+ #
686
+ # Values are only set for fields requested explicitly in the request's search
687
+ # query.
688
+ # @!attribute [rw] report_date
689
+ # @return [::Google::Type::Date]
690
+ # Report date. The value of this field can only be one of the following:
691
+ #
692
+ # * The first day of the week (Monday) for weekly reports,
693
+ # * The first day of the month for monthly reports.
694
+ #
695
+ # Required in the `SELECT` clause. If a `WHERE` condition on `report_date` is
696
+ # not specified in the query, the latest available weekly or monthly report
697
+ # is returned.
698
+ # @!attribute [rw] report_granularity
699
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::ReportGranularity::ReportGranularityEnum]
700
+ # Granularity of the report. The ranking can be done over a week or a month
701
+ # timeframe.
702
+ #
703
+ # Required in the `SELECT` clause. Condition on `report_granularity` is
704
+ # required in the `WHERE` clause.
705
+ # @!attribute [rw] report_country_code
706
+ # @return [::String]
707
+ # Country where the ranking is calculated. Represented in the ISO 3166
708
+ # format.
709
+ #
710
+ # Required in the `SELECT` clause. Condition on `report_country_code` is
711
+ # required in the `WHERE` clause.
712
+ # @!attribute [rw] report_category_id
713
+ # @return [::Integer]
714
+ # Google product category ID to calculate the ranking for, represented in
715
+ # [Google's product
716
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
717
+ #
718
+ # Required in the `SELECT` clause. If a `WHERE` condition on
719
+ # `report_category_id` is not specified in the query, rankings for all
720
+ # top-level categories are returned.
721
+ # @!attribute [rw] id
722
+ # @return [::String]
723
+ # Google-assigned id of the product cluster.
724
+ # @!attribute [rw] title
725
+ # @return [::String]
726
+ # Title of the product cluster.
727
+ # @!attribute [rw] brand
728
+ # @return [::String]
729
+ # Brand of the product cluster.
730
+ # @!attribute [rw] category_l1
731
+ # @return [::String]
732
+ # Product category (1st level) of the product cluster, represented in
733
+ # [Google's product
734
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
735
+ # @!attribute [rw] category_l2
736
+ # @return [::String]
737
+ # Product category (2nd level) of the product cluster, represented in
738
+ # [Google's product
739
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
740
+ # @!attribute [rw] category_l3
741
+ # @return [::String]
742
+ # Product category (3rd level) of the product cluster, represented in
743
+ # [Google's product
744
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
745
+ # @!attribute [rw] category_l4
746
+ # @return [::String]
747
+ # Product category (4th level) of the product cluster, represented in
748
+ # [Google's product
749
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
750
+ # @!attribute [rw] category_l5
751
+ # @return [::String]
752
+ # Product category (5th level) of the product cluster, represented in
753
+ # [Google's product
754
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
755
+ # @!attribute [rw] variant_gtins
756
+ # @return [::Array<::String>]
757
+ # GTINs of example variants of the product cluster.
758
+ # @!attribute [rw] inventory_status
759
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::BestSellersProductClusterView::InventoryStatus]
760
+ # Whether the product cluster is `IN_STOCK` in your product feed in at least
761
+ # one of the countries, `OUT_OF_STOCK` in your product feed in all countries,
762
+ # or `NOT_IN_INVENTORY` at all.
763
+ #
764
+ # The field doesn't take the Best sellers report country filter into account.
765
+ # @!attribute [rw] brand_inventory_status
766
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::BestSellersProductClusterView::InventoryStatus]
767
+ # Whether there is at least one product of the brand currently `IN_STOCK` in
768
+ # your product feed in at least one of the countries, all products are
769
+ # `OUT_OF_STOCK` in your product feed in all countries, or
770
+ # `NOT_IN_INVENTORY`.
771
+ #
772
+ # The field doesn't take the Best sellers report country filter into account.
773
+ # @!attribute [rw] rank
774
+ # @return [::Integer]
775
+ # Popularity of the product cluster on Ads and organic surfaces, in the
776
+ # selected category and country, based on the estimated number of units sold.
777
+ # @!attribute [rw] previous_rank
778
+ # @return [::Integer]
779
+ # Popularity rank in the previous week or month.
780
+ # @!attribute [rw] relative_demand
781
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::RelativeDemand::RelativeDemandEnum]
782
+ # Estimated demand in relation to the product cluster with the highest
783
+ # popularity rank in the same category and country.
784
+ # @!attribute [rw] previous_relative_demand
785
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::RelativeDemand::RelativeDemandEnum]
786
+ # Estimated demand in relation to the product cluster with the highest
787
+ # popularity rank in the same category and country in the previous week or
788
+ # month.
789
+ # @!attribute [rw] relative_demand_change
790
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::RelativeDemandChangeType::RelativeDemandChangeTypeEnum]
791
+ # Change in the estimated demand. Whether it rose, sank or remained flat.
792
+ class BestSellersProductClusterView
793
+ include ::Google::Protobuf::MessageExts
794
+ extend ::Google::Protobuf::MessageExts::ClassMethods
795
+
796
+ # Status of the product cluster or brand in your inventory.
797
+ module InventoryStatus
798
+ # Not specified.
799
+ INVENTORY_STATUS_UNSPECIFIED = 0
800
+
801
+ # You have a product for this product cluster or brand in stock.
802
+ IN_STOCK = 1
803
+
804
+ # You have a product for this product cluster or brand in inventory but it
805
+ # is currently out of stock.
806
+ OUT_OF_STOCK = 2
807
+
808
+ # You do not have a product for this product cluster or brand in inventory.
809
+ NOT_IN_INVENTORY = 3
810
+ end
811
+ end
812
+
813
+ # Fields available for query in `best_sellers_brand_view` table.
814
+ #
815
+ # [Best sellers](https://support.google.com/merchants/answer/9488679) report
816
+ # with top brands.
817
+ #
818
+ # Values are only set for fields requested explicitly in the request's search
819
+ # query.
820
+ # @!attribute [rw] report_date
821
+ # @return [::Google::Type::Date]
822
+ # Report date. The value of this field can only be one of the following:
823
+ #
824
+ # * The first day of the week (Monday) for weekly reports,
825
+ # * The first day of the month for monthly reports.
826
+ #
827
+ # Required in the `SELECT` clause. If a `WHERE` condition on `report_date` is
828
+ # not specified in the query, the latest available weekly or monthly report
829
+ # is returned.
830
+ # @!attribute [rw] report_granularity
831
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::ReportGranularity::ReportGranularityEnum]
832
+ # Granularity of the report. The ranking can be done over a week or a month
833
+ # timeframe.
834
+ #
835
+ # Required in the `SELECT` clause. Condition on `report_granularity` is
836
+ # required in the `WHERE` clause.
837
+ # @!attribute [rw] report_country_code
838
+ # @return [::String]
839
+ # Country where the ranking is calculated. Represented in the ISO 3166
840
+ # format.
841
+ #
842
+ # Required in the `SELECT` clause. Condition on `report_country_code` is
843
+ # required in the `WHERE` clause.
844
+ # @!attribute [rw] report_category_id
845
+ # @return [::Integer]
846
+ # Google product category ID to calculate the ranking for, represented in
847
+ # [Google's product
848
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
849
+ #
850
+ # Required in the `SELECT` clause. If a `WHERE` condition on
851
+ # `report_category_id` is not specified in the query, rankings for all
852
+ # top-level categories are returned.
853
+ # @!attribute [rw] id
854
+ # @return [::String]
855
+ # Google-assigned id of the brand.
856
+ # @!attribute [rw] brand
857
+ # @return [::String]
858
+ # Name of the brand.
859
+ # @!attribute [rw] rank
860
+ # @return [::Integer]
861
+ # Popularity of the brand on Ads and organic surfaces, in the selected
862
+ # category and country, based on the estimated number of units sold.
863
+ # @!attribute [rw] previous_rank
864
+ # @return [::Integer]
865
+ # Popularity rank in the previous week or month.
866
+ # @!attribute [rw] relative_demand
867
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::RelativeDemand::RelativeDemandEnum]
868
+ # Estimated demand in relation to the brand with the highest popularity rank
869
+ # in the same category and country.
870
+ # @!attribute [rw] previous_relative_demand
871
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::RelativeDemand::RelativeDemandEnum]
872
+ # Estimated demand in relation to the brand with the highest popularity rank
873
+ # in the same category and country in the previous week or month.
874
+ # @!attribute [rw] relative_demand_change
875
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::RelativeDemandChangeType::RelativeDemandChangeTypeEnum]
876
+ # Change in the estimated demand. Whether it rose, sank or remained flat.
877
+ class BestSellersBrandView
878
+ include ::Google::Protobuf::MessageExts
879
+ extend ::Google::Protobuf::MessageExts::ClassMethods
880
+ end
881
+
882
+ # Fields available for query in `non_product_performance_view` table.
883
+ #
884
+ # Performance data on images and website links leading to your non-product
885
+ # website pages. This includes performance metrics (for example, `clicks`)
886
+ # and dimensions according to which performance metrics are segmented (for
887
+ # example, `date`).
888
+ #
889
+ # Segment fields cannot be selected in queries without also selecting at least
890
+ # one metric field.
891
+ #
892
+ # Values are only set for fields requested explicitly in the request's search
893
+ # query.
894
+ # @!attribute [rw] date
895
+ # @return [::Google::Type::Date]
896
+ # Date in the merchant timezone to which metrics apply. Segment.
897
+ #
898
+ # Condition on `date` is required in the `WHERE` clause.
899
+ # @!attribute [rw] week
900
+ # @return [::Google::Type::Date]
901
+ # First day of the week (Monday) of the metrics date in the merchant
902
+ # timezone. Segment.
903
+ # @!attribute [rw] clicks
904
+ # @return [::Integer]
905
+ # Number of clicks on images and website links leading to your non-product
906
+ # website pages. Metric.
907
+ # @!attribute [rw] impressions
908
+ # @return [::Integer]
909
+ # Number of times images and website links leading to your non-product
910
+ # website pages were shown. Metric.
911
+ # @!attribute [rw] click_through_rate
912
+ # @return [::Float]
913
+ # Click-through rate - the number of clicks (`clicks`) divided by the number
914
+ # of impressions (`impressions`) of images and website links leading to your
915
+ # non-product website pages. Metric.
916
+ class NonProductPerformanceView
917
+ include ::Google::Protobuf::MessageExts
918
+ extend ::Google::Protobuf::MessageExts::ClassMethods
919
+ end
920
+
921
+ # Fields available for query in `competitive_visibility_competitor_view` table.
922
+ #
923
+ # [Competitive
924
+ # visibility](https://support.google.com/merchants/answer/11366442) report with
925
+ # businesses with similar visibility.
926
+ #
927
+ # Values are only set for fields requested explicitly in the request's search
928
+ # query.
929
+ # @!attribute [rw] date
930
+ # @return [::Google::Type::Date]
931
+ # Date of this row.
932
+ #
933
+ # A condition on `date` is required in the `WHERE` clause.
934
+ # @!attribute [rw] domain
935
+ # @return [::String]
936
+ # Domain of your competitor or your domain, if 'is_your_domain' is true.
937
+ #
938
+ # Required in the `SELECT` clause. Cannot be filtered on in the 'WHERE'
939
+ # clause.
940
+ # @!attribute [rw] is_your_domain
941
+ # @return [::Boolean]
942
+ # True if this row contains data for your domain.
943
+ #
944
+ # Cannot be filtered on in the 'WHERE' clause.
945
+ # @!attribute [rw] report_country_code
946
+ # @return [::String]
947
+ # Country where impressions appeared.
948
+ #
949
+ # Required in the `SELECT` clause. A condition on `report_country_code` is
950
+ # required in the `WHERE` clause.
951
+ # @!attribute [rw] report_category_id
952
+ # @return [::Integer]
953
+ # Google product category ID to calculate the report for, represented in
954
+ # [Google's product
955
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
956
+ #
957
+ # Required in the `SELECT` clause. A condition on `report_category_id` is
958
+ # required in the `WHERE` clause.
959
+ # @!attribute [rw] traffic_source
960
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::TrafficSource::TrafficSourceEnum]
961
+ # Traffic source of impressions.
962
+ #
963
+ # Required in the `SELECT` clause.
964
+ # @!attribute [rw] rank
965
+ # @return [::Integer]
966
+ # Position of the domain in the similar businesses ranking for the selected
967
+ # keys (`date`, `report_category_id`, `report_country_code`,
968
+ # `traffic_source`) based on impressions. 1 is the highest.
969
+ #
970
+ # Cannot be filtered on in the 'WHERE' clause.
971
+ # @!attribute [rw] ads_organic_ratio
972
+ # @return [::Float]
973
+ # [Ads / organic ratio]
974
+ # (https://support.google.com/merchants/answer/11366442#zippy=%2Cads-free-ratio)
975
+ # shows how often the domain receives impressions from Shopping ads compared
976
+ # to organic traffic. The number is rounded and bucketed.
977
+ #
978
+ # Cannot be filtered on in the 'WHERE' clause.
979
+ # @!attribute [rw] page_overlap_rate
980
+ # @return [::Float]
981
+ # [Page overlap rate]
982
+ # (https://support.google.com/merchants/answer/11366442#zippy=%2Cpage-overlap-rate)
983
+ # shows how frequently competing retailers’ offers are shown together with
984
+ # your offers on the same page.
985
+ #
986
+ # Cannot be filtered on in the 'WHERE' clause.
987
+ # @!attribute [rw] higher_position_rate
988
+ # @return [::Float]
989
+ # [Higher position rate]
990
+ # (https://support.google.com/merchants/answer/11366442#zippy=%2Chigher-position-rate)
991
+ # shows how often a competitor’s offer got placed in a higher position on the
992
+ # page than your offer.
993
+ #
994
+ # Cannot be filtered on in the 'WHERE' clause.
995
+ # @!attribute [rw] relative_visibility
996
+ # @return [::Float]
997
+ # [Relative visibility]
998
+ # (https://support.google.com/merchants/answer/11366442#zippy=%2Crelative-visibility)
999
+ # shows how often your competitors’ offers are shown compared to your offers.
1000
+ # In other words, this is the number of displayed impressions of a competitor
1001
+ # retailer divided by the number of your displayed impressions during a
1002
+ # selected time range for a selected product category and country.
1003
+ #
1004
+ # Cannot be filtered on in the 'WHERE' clause.
1005
+ class CompetitiveVisibilityCompetitorView
1006
+ include ::Google::Protobuf::MessageExts
1007
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1008
+ end
1009
+
1010
+ # Fields available for query in `competitive_visibility_top_merchant_view`
1011
+ # table.
1012
+ #
1013
+ # [Competitive
1014
+ # visibility](https://support.google.com/merchants/answer/11366442) report with
1015
+ # business with highest visibility.
1016
+ #
1017
+ # Values are only set for fields requested explicitly in the request's search
1018
+ # query.
1019
+ # @!attribute [rw] date
1020
+ # @return [::Google::Type::Date]
1021
+ # Date of this row.
1022
+ #
1023
+ # Cannot be selected in the `SELECT` clause. A condition on `date` is
1024
+ # required in the `WHERE` clause.
1025
+ # @!attribute [rw] domain
1026
+ # @return [::String]
1027
+ # Domain of your competitor or your domain, if 'is_your_domain' is true.
1028
+ #
1029
+ # Required in the `SELECT` clause. Cannot be filtered on in the 'WHERE'
1030
+ # clause.
1031
+ # @!attribute [rw] is_your_domain
1032
+ # @return [::Boolean]
1033
+ # True if this row contains data for your domain.
1034
+ #
1035
+ # Cannot be filtered on in the 'WHERE' clause.
1036
+ # @!attribute [rw] report_country_code
1037
+ # @return [::String]
1038
+ # Country where impressions appeared.
1039
+ #
1040
+ # Required in the `SELECT` clause. A condition on `report_country_code` is
1041
+ # required in the `WHERE` clause.
1042
+ # @!attribute [rw] report_category_id
1043
+ # @return [::Integer]
1044
+ # Google product category ID to calculate the report for, represented in
1045
+ # [Google's product
1046
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
1047
+ #
1048
+ # Required in the `SELECT` clause. A condition on `report_category_id` is
1049
+ # required in the `WHERE` clause.
1050
+ # @!attribute [rw] traffic_source
1051
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::TrafficSource::TrafficSourceEnum]
1052
+ # Traffic source of impressions.
1053
+ #
1054
+ # Required in the `SELECT` clause.
1055
+ # @!attribute [rw] rank
1056
+ # @return [::Integer]
1057
+ # Position of the domain in the top merchants ranking for the selected keys
1058
+ # (`date`, `report_category_id`, `report_country_code`, `traffic_source`)
1059
+ # based on impressions. 1 is the highest.
1060
+ #
1061
+ # Cannot be filtered on in the 'WHERE' clause.
1062
+ # @!attribute [rw] ads_organic_ratio
1063
+ # @return [::Float]
1064
+ # [Ads / organic ratio]
1065
+ # (https://support.google.com/merchants/answer/11366442#zippy=%2Cads-free-ratio)
1066
+ # shows how often the domain receives impressions from Shopping ads compared
1067
+ # to organic traffic. The number is rounded and bucketed.
1068
+ #
1069
+ # Cannot be filtered on in the 'WHERE' clause.
1070
+ # @!attribute [rw] page_overlap_rate
1071
+ # @return [::Float]
1072
+ # [Page overlap rate]
1073
+ # (https://support.google.com/merchants/answer/11366442#zippy=%2Cpage-overlap-rate)
1074
+ # shows how frequently competing retailers’ offers are shown together with
1075
+ # your offers on the same page.
1076
+ #
1077
+ # Cannot be filtered on in the 'WHERE' clause.
1078
+ # @!attribute [rw] higher_position_rate
1079
+ # @return [::Float]
1080
+ # [Higher position rate]
1081
+ # (https://support.google.com/merchants/answer/11366442#zippy=%2Chigher-position-rate)
1082
+ # shows how often a competitor’s offer got placed in a higher position on the
1083
+ # page than your offer.
1084
+ #
1085
+ # Cannot be filtered on in the 'WHERE' clause.
1086
+ class CompetitiveVisibilityTopMerchantView
1087
+ include ::Google::Protobuf::MessageExts
1088
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1089
+ end
1090
+
1091
+ # Fields available for query in `competitive_visibility_benchmark_view` table.
1092
+ #
1093
+ # [Competitive
1094
+ # visibility](https://support.google.com/merchants/answer/11366442) report with
1095
+ # the category benchmark.
1096
+ #
1097
+ # Values are only set for fields requested explicitly in the request's search
1098
+ # query.
1099
+ # @!attribute [rw] date
1100
+ # @return [::Google::Type::Date]
1101
+ # Date of this row.
1102
+ #
1103
+ # Required in the `SELECT` clause. A condition on `date` is required in the
1104
+ # `WHERE` clause.
1105
+ # @!attribute [rw] report_country_code
1106
+ # @return [::String]
1107
+ # Country where impressions appeared.
1108
+ #
1109
+ # Required in the `SELECT` clause. A condition on `report_country_code` is
1110
+ # required in the `WHERE` clause.
1111
+ # @!attribute [rw] report_category_id
1112
+ # @return [::Integer]
1113
+ # Google product category ID to calculate the report for, represented in
1114
+ # [Google's product
1115
+ # taxonomy](https://support.google.com/merchants/answer/6324436).
1116
+ #
1117
+ # Required in the `SELECT` clause. A condition on `report_category_id` is
1118
+ # required in the `WHERE` clause.
1119
+ # @!attribute [rw] traffic_source
1120
+ # @return [::Google::Shopping::Merchant::Reports::V1beta::TrafficSource::TrafficSourceEnum]
1121
+ # Traffic source of impressions.
1122
+ #
1123
+ # Required in the `SELECT` clause.
1124
+ # @!attribute [rw] your_domain_visibility_trend
1125
+ # @return [::Float]
1126
+ # Change in visibility based on impressions for your domain with respect to
1127
+ # the start of the selected time range (or first day with non-zero
1128
+ # impressions).
1129
+ #
1130
+ # Cannot be filtered on in the 'WHERE' clause.
1131
+ # @!attribute [rw] category_benchmark_visibility_trend
1132
+ # @return [::Float]
1133
+ # Change in visibility based on impressions with respect to the start of the
1134
+ # selected time range (or first day with non-zero impressions) for a
1135
+ # combined set of merchants with highest visibility approximating the
1136
+ # market.
1137
+ #
1138
+ # Cannot be filtered on in the 'WHERE' clause.
1139
+ class CompetitiveVisibilityBenchmarkView
1140
+ include ::Google::Protobuf::MessageExts
1141
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1142
+ end
1143
+
1144
+ # Marketing method used to promote your products on Google (organic versus
1145
+ # ads).
1146
+ class MarketingMethod
1147
+ include ::Google::Protobuf::MessageExts
1148
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1149
+
1150
+ # Marketing method values.
1151
+ module MarketingMethodEnum
1152
+ # Not specified.
1153
+ MARKETING_METHOD_ENUM_UNSPECIFIED = 0
1154
+
1155
+ # Organic marketing.
1156
+ ORGANIC = 1
1157
+
1158
+ # Ads-based marketing.
1159
+ ADS = 2
1160
+ end
1161
+ end
1162
+
1163
+ # Granularity of the Best sellers report. Best sellers reports are computed
1164
+ # over a week and a month timeframe.
1165
+ class ReportGranularity
1166
+ include ::Google::Protobuf::MessageExts
1167
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1168
+
1169
+ # Report granularity values.
1170
+ module ReportGranularityEnum
1171
+ # Not specified.
1172
+ REPORT_GRANULARITY_ENUM_UNSPECIFIED = 0
1173
+
1174
+ # Report is computed over a week timeframe.
1175
+ WEEKLY = 1
1176
+
1177
+ # Report is computed over a month timeframe.
1178
+ MONTHLY = 2
1179
+ end
1180
+ end
1181
+
1182
+ # Relative demand of a product cluster or brand in the Best sellers report.
1183
+ class RelativeDemand
1184
+ include ::Google::Protobuf::MessageExts
1185
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1186
+
1187
+ # Relative demand values.
1188
+ module RelativeDemandEnum
1189
+ # Not specified.
1190
+ RELATIVE_DEMAND_ENUM_UNSPECIFIED = 0
1191
+
1192
+ # Demand is 0-5% of the demand of the highest ranked product cluster or
1193
+ # brand.
1194
+ VERY_LOW = 10
1195
+
1196
+ # Demand is 6-10% of the demand of the highest ranked product cluster or
1197
+ # brand.
1198
+ LOW = 20
1199
+
1200
+ # Demand is 11-20% of the demand of the highest ranked product cluster or
1201
+ # brand.
1202
+ MEDIUM = 30
1203
+
1204
+ # Demand is 21-50% of the demand of the highest ranked product cluster or
1205
+ # brand.
1206
+ HIGH = 40
1207
+
1208
+ # Demand is 51-100% of the demand of the highest ranked product cluster or
1209
+ # brand.
1210
+ VERY_HIGH = 50
1211
+ end
1212
+ end
1213
+
1214
+ # Relative demand of a product cluster or brand in the Best sellers report
1215
+ # compared to the previous time period.
1216
+ class RelativeDemandChangeType
1217
+ include ::Google::Protobuf::MessageExts
1218
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1219
+
1220
+ # Relative demand change type values.
1221
+ module RelativeDemandChangeTypeEnum
1222
+ # Not specified.
1223
+ RELATIVE_DEMAND_CHANGE_TYPE_ENUM_UNSPECIFIED = 0
1224
+
1225
+ # Relative demand is lower than the previous time period.
1226
+ SINKER = 1
1227
+
1228
+ # Relative demand is equal to the previous time period.
1229
+ FLAT = 2
1230
+
1231
+ # Relative demand is higher than the previous time period.
1232
+ RISER = 3
1233
+ end
1234
+ end
1235
+
1236
+ # Traffic source of impressions in the Competitive visibility report.
1237
+ class TrafficSource
1238
+ include ::Google::Protobuf::MessageExts
1239
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1240
+
1241
+ # Traffic source values.
1242
+ module TrafficSourceEnum
1243
+ # Not specified.
1244
+ TRAFFIC_SOURCE_ENUM_UNSPECIFIED = 0
1245
+
1246
+ # Organic traffic.
1247
+ ORGANIC = 1
1248
+
1249
+ # Traffic from ads.
1250
+ ADS = 2
1251
+
1252
+ # Organic and ads traffic.
1253
+ ALL = 3
1254
+ end
1255
+ end
1256
+ end
1257
+ end
1258
+ end
1259
+ end
1260
+ end