google-shopping-merchant-reports-v1beta 0.a → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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