google-shopping-merchant-reports-v1 0.a → 0.2.0

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