{
  "mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "version": "reports_v1beta",
  "title": "Merchant API",
  "revision": "20260715",
  "protocol": "rest",
  "ownerName": "Google",
  "basePath": "",
  "discoveryVersion": "v1",
  "canonicalName": "Merchant",
  "description": "Programmatically manage your Merchant Center Accounts.",
  "baseUrl": "https://merchantapi.googleapis.com/",
  "version_module": true,
  "ownerDomain": "google.com",
  "fullyEncodeReservedExpansion": true,
  "servicePath": "",
  "parameters": {
    "quotaUser": {
      "location": "query",
      "type": "string",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters."
    },
    "fields": {
      "location": "query",
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "oauth_token": {
      "type": "string",
      "description": "OAuth 2.0 token for the current user.",
      "location": "query"
    },
    "access_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth access token."
    },
    "upload_protocol": {
      "location": "query",
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "key": {
      "location": "query",
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
    },
    "alt": {
      "location": "query",
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "type": "string",
      "description": "Data format for response."
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "$.xgafv": {
      "type": "string",
      "description": "V1 error format.",
      "location": "query",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ]
    },
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "prettyPrint": {
      "description": "Returns response with indentations and line breaks.",
      "type": "boolean",
      "default": "true",
      "location": "query"
    }
  },
  "resources": {
    "accounts": {
      "resources": {
        "reports": {
          "methods": {
            "search": {
              "request": {
                "$ref": "SearchRequest"
              },
              "parameterOrder": [
                "parent"
              ],
              "path": "reports/v1beta/{+parent}/reports:search",
              "response": {
                "$ref": "SearchResponse"
              },
              "description": "Retrieves a report defined by a search query. The response might contain fewer rows than specified by `page_size`. Rely on `next_page_token` to determine if there are more rows to be requested.",
              "parameters": {
                "parent": {
                  "location": "path",
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string",
                  "description": "Required. Id of the account making the call. Must be a standalone account or a subaccount of an advanced account. Format: accounts/{account}"
                }
              },
              "id": "merchantapi.accounts.reports.search",
              "flatPath": "reports/v1beta/accounts/{accountsId}/reports:search",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/content"
              ]
            }
          }
        }
      }
    }
  },
  "name": "merchantapi",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/content": {
          "description": "Manage your product listings and accounts for Google Shopping"
        }
      }
    }
  },
  "schemas": {
    "ProductStatusChangeMessage": {
      "type": "object",
      "description": "The message that the merchant will receive to notify about product status change event",
      "properties": {
        "expirationTime": {
          "type": "string",
          "description": "Optional. The product expiration time. This field will not be set if the notification is sent for a product deletion event.",
          "format": "google-datetime"
        },
        "account": {
          "description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`",
          "type": "string"
        },
        "eventTime": {
          "type": "string",
          "description": "The time at which the event was generated. If you want to order the notification messages you receive you should rely on this field not on the order of receiving the notifications.",
          "format": "google-datetime"
        },
        "resourceType": {
          "enumDescriptions": [
            "Unspecified resource",
            "Resource type : product",
            "Account service"
          ],
          "enum": [
            "RESOURCE_UNSPECIFIED",
            "PRODUCT",
            "ACCOUNT_SERVICE"
          ],
          "description": "The resource that changed, in this case it will always be `Product`.",
          "type": "string"
        },
        "managingAccount": {
          "type": "string",
          "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`"
        },
        "attribute": {
          "enumDescriptions": [
            "Unspecified attribute",
            "Status of the changed entity"
          ],
          "enum": [
            "ATTRIBUTE_UNSPECIFIED",
            "STATUS"
          ],
          "description": "The attribute in the resource that changed, in this case it will be always `Status`.",
          "type": "string"
        },
        "changes": {
          "description": "A message to describe the change that happened to the product",
          "items": {
            "$ref": "ProductChange"
          },
          "type": "array"
        },
        "resourceId": {
          "type": "string",
          "description": "The product id."
        },
        "resource": {
          "description": "The product name. Format: `accounts/{account}/products/{product}`",
          "type": "string"
        }
      },
      "id": "ProductStatusChangeMessage"
    },
    "ItemIssueType": {
      "id": "ItemIssueType",
      "description": "Issue type.",
      "properties": {
        "code": {
          "type": "string",
          "description": "Error code of the issue, equivalent to the `code` of [Product issues](https://developers.google.com/shopping-content/guides/product-issues)."
        },
        "canonicalAttribute": {
          "type": "string",
          "description": "Canonical attribute name for attribute-specific issues."
        }
      },
      "type": "object"
    },
    "ItemIssueSeverity": {
      "description": "How the issue affects the serving of the product.",
      "properties": {
        "severityPerReportingContext": {
          "description": "Issue severity per reporting context. Reporting contexts included in this list can be restricted using a filter on the `reporting_context` field.",
          "items": {
            "$ref": "IssueSeverityPerReportingContext"
          },
          "type": "array"
        },
        "aggregatedSeverity": {
          "enumDescriptions": [
            "Not specified.",
            "Issue disapproves the product in at least one reporting context.",
            "Issue demotes the product in all reporting contexts it affects.",
            "Issue resolution is `PENDING_PROCESSING`."
          ],
          "enum": [
            "AGGREGATED_ISSUE_SEVERITY_UNSPECIFIED",
            "DISAPPROVED",
            "DEMOTED",
            "PENDING"
          ],
          "type": "string",
          "description": "Aggregated severity of the issue for all reporting contexts it affects. Reporting contexts included in the computation of the aggregated severity can be restricted using a filter on the `reporting_context` field. **This field can be used for filtering the results.**"
        }
      },
      "type": "object",
      "id": "ItemIssueSeverity"
    },
    "StatusPerReportingContext": {
      "type": "object",
      "description": "Status of the product for a specific reporting context. Equivalent to `DestinationStatus` in Products API.",
      "properties": {
        "reportingContext": {
          "type": "string",
          "description": "Reporting context the status applies to.",
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ],
          "enumDescriptions": [
            "Not specified.",
            "[Shopping ads](https://support.google.com/merchants/answer/6149970).",
            "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).",
            "[Video ads](https://support.google.com/google-ads/answer/6340491).",
            "[Display ads](https://support.google.com/merchants/answer/6069387).",
            "[Local inventory ads](https://support.google.com/merchants/answer/3271956).",
            "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).",
            "[Free product listings](https://support.google.com/merchants/answer/9199328).",
            "[Free product listings on UCP checkout](https://developers.google.com/merchant/ucp).",
            "[Free local product listings](https://support.google.com/merchants/answer/9825611).",
            "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).",
            "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).",
            "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).",
            "[Cloud retail](https://cloud.google.com/solutions/retail).",
            "[Local cloud retail](https://cloud.google.com/solutions/retail).",
            "[Product Reviews](https://support.google.com/merchants/answer/14620732).",
            "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).",
            "YouTube Checkout ."
          ],
          "enum": [
            "REPORTING_CONTEXT_ENUM_UNSPECIFIED",
            "SHOPPING_ADS",
            "DISCOVERY_ADS",
            "DEMAND_GEN_ADS",
            "DEMAND_GEN_ADS_DISCOVER_SURFACE",
            "VIDEO_ADS",
            "DISPLAY_ADS",
            "LOCAL_INVENTORY_ADS",
            "VEHICLE_INVENTORY_ADS",
            "FREE_LISTINGS",
            "FREE_LISTINGS_UCP_CHECKOUT",
            "FREE_LOCAL_LISTINGS",
            "FREE_LOCAL_VEHICLE_LISTINGS",
            "YOUTUBE_AFFILIATE",
            "YOUTUBE_SHOPPING",
            "CLOUD_RETAIL",
            "LOCAL_CLOUD_RETAIL",
            "PRODUCT_REVIEWS",
            "MERCHANT_REVIEWS",
            "YOUTUBE_CHECKOUT"
          ]
        },
        "disapprovedCountries": {
          "type": "array",
          "description": "List of disapproved countries in the reporting context, represented in [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format, for example, `US`.",
          "items": {
            "type": "string"
          }
        },
        "approvedCountries": {
          "description": "List of approved countries in the reporting context, represented in [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format, for example, `US`.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "pendingCountries": {
          "description": "List of pending countries in the reporting context, represented in [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format, for example, `US`.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "id": "StatusPerReportingContext"
    },
    "CompetitiveVisibilityBenchmarkView": {
      "id": "CompetitiveVisibilityBenchmarkView",
      "description": "Fields available for query in `competitive_visibility_benchmark_view` table. [Competitive visibility](https://support.google.com/merchants/answer/11366442) report with the category benchmark. Values are only set for fields requested explicitly in the request's search query.",
      "properties": {
        "reportCategoryId": {
          "type": "string",
          "description": "Google product category ID to calculate the report for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. A condition on `report_category_id` is required in the `WHERE` clause.",
          "format": "int64"
        },
        "yourDomainVisibilityTrend": {
          "description": "Change in visibility based on impressions for your domain with respect to the start of the selected time range (or first day with non-zero impressions). Cannot be filtered on in the 'WHERE' clause.",
          "format": "double",
          "type": "number"
        },
        "categoryBenchmarkVisibilityTrend": {
          "type": "number",
          "description": "Change in visibility based on impressions with respect to the start of the selected time range (or first day with non-zero impressions) for a combined set of merchants with highest visibility approximating the market. Cannot be filtered on in the 'WHERE' clause.",
          "format": "double"
        },
        "reportCountryCode": {
          "description": "Country where impressions appeared. Required in the `SELECT` clause. A condition on `report_country_code` is required in the `WHERE` clause.",
          "type": "string"
        },
        "date": {
          "$ref": "Date",
          "description": "Date of this row. Required in the `SELECT` clause. A condition on `date` is required in the `WHERE` clause."
        },
        "trafficSource": {
          "type": "string",
          "description": "Traffic source of impressions. Required in the `SELECT` clause.",
          "enumDescriptions": [
            "Not specified.",
            "Organic traffic.",
            "Traffic from ads.",
            "Organic and ads traffic."
          ],
          "enum": [
            "TRAFFIC_SOURCE_ENUM_UNSPECIFIED",
            "ORGANIC",
            "ADS",
            "ALL"
          ]
        }
      },
      "type": "object"
    },
    "PriceInsightsProductView": {
      "description": "Fields available for query in `price_insights_product_view` table. [Price insights](https://support.google.com/merchants/answer/11916926) report. Values are only set for fields requested explicitly in the request's search query.",
      "properties": {
        "productTypeL1": {
          "description": "Product type (1st level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).",
          "type": "string"
        },
        "predictedConversionsChangeFraction": {
          "description": "Predicted change in conversions as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in conversions).",
          "format": "double",
          "type": "number"
        },
        "suggestedPrice": {
          "$ref": "Price",
          "description": "Latest suggested price for the product."
        },
        "predictedClicksChangeFraction": {
          "description": "Predicted change in clicks as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in clicks.",
          "format": "double",
          "type": "number"
        },
        "productTypeL2": {
          "description": "Product type (2nd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).",
          "type": "string"
        },
        "predictedImpressionsChangeFraction": {
          "description": "Predicted change in impressions as a fraction after introducing the suggested price compared to current active price. For example, 0.05 is a 5% predicted increase in impressions.",
          "format": "double",
          "type": "number"
        },
        "title": {
          "type": "string",
          "description": "Title of the product."
        },
        "effectiveness": {
          "enumDescriptions": [
            "Effectiveness is unknown.",
            "Effectiveness is low.",
            "Effectiveness is medium.",
            "Effectiveness is high."
          ],
          "enum": [
            "EFFECTIVENESS_UNSPECIFIED",
            "LOW",
            "MEDIUM",
            "HIGH"
          ],
          "description": "The predicted effectiveness of applying the price suggestion, bucketed.",
          "type": "string"
        },
        "categoryL3": {
          "description": "Product category (3rd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).",
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "REST ID of the product, in the form of `channel~languageCode~feedLabel~offerId`. Can be used to join data with the `product_view` table. Required in the `SELECT` clause."
        },
        "categoryL1": {
          "description": "Product category (1st level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).",
          "type": "string"
        },
        "productTypeL3": {
          "type": "string",
          "description": "Product type (3rd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406)."
        },
        "productTypeL4": {
          "type": "string",
          "description": "Product type (4th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406)."
        },
        "brand": {
          "type": "string",
          "description": "Brand of the product."
        },
        "productTypeL5": {
          "description": "Product type (5th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).",
          "type": "string"
        },
        "categoryL5": {
          "type": "string",
          "description": "Product category (5th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436)."
        },
        "price": {
          "$ref": "Price",
          "description": "Current price of the product."
        },
        "offerId": {
          "type": "string",
          "description": "Merchant-provided id of the product."
        },
        "categoryL2": {
          "type": "string",
          "description": "Product category (2nd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436)."
        },
        "categoryL4": {
          "description": "Product category (4th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).",
          "type": "string"
        }
      },
      "type": "object",
      "id": "PriceInsightsProductView"
    },
    "ReportRow": {
      "id": "ReportRow",
      "description": "Result row returned from the search query. Only the message corresponding to the queried table is populated in the response. Within the populated message, only the fields requested explicitly in the query are populated.",
      "properties": {
        "competitiveVisibilityCompetitorView": {
          "description": "Fields available for query in `competitive_visibility_competitor_view` table.",
          "$ref": "CompetitiveVisibilityCompetitorView"
        },
        "priceInsightsProductView": {
          "$ref": "PriceInsightsProductView",
          "description": "Fields available for query in `price_insights_product_view` table."
        },
        "bestSellersProductClusterView": {
          "description": "Fields available for query in `best_sellers_product_cluster_view` table.",
          "$ref": "BestSellersProductClusterView"
        },
        "productView": {
          "description": "Fields available for query in `product_view` table.",
          "$ref": "ProductView"
        },
        "competitiveVisibilityTopMerchantView": {
          "description": "Fields available for query in `competitive_visibility_top_merchant_view` table.",
          "$ref": "CompetitiveVisibilityTopMerchantView"
        },
        "nonProductPerformanceView": {
          "$ref": "NonProductPerformanceView",
          "description": "Fields available for query in `non_product_performance_view` table."
        },
        "priceCompetitivenessProductView": {
          "description": "Fields available for query in `price_competitiveness_product_view` table.",
          "$ref": "PriceCompetitivenessProductView"
        },
        "bestSellersBrandView": {
          "description": "Fields available for query in `best_sellers_brand_view` table.",
          "$ref": "BestSellersBrandView"
        },
        "competitiveVisibilityBenchmarkView": {
          "$ref": "CompetitiveVisibilityBenchmarkView",
          "description": "Fields available for query in `competitive_visibility_benchmark_view` table."
        },
        "productPerformanceView": {
          "$ref": "ProductPerformanceView",
          "description": "Fields available for query in `product_performance_view` table."
        }
      },
      "type": "object"
    },
    "SearchRequest": {
      "id": "SearchRequest",
      "type": "object",
      "description": "Request message for the `ReportService.Search` method.",
      "properties": {
        "query": {
          "description": "Required. Query that defines a report to be retrieved. For details on how to construct your query, see the [Query Language guide](/merchant/api/guides/reports/query-language). For the full list of available tables and fields, see the Available fields.",
          "type": "string"
        },
        "pageToken": {
          "description": "Optional. Token of the page to retrieve. If not specified, the first page of results is returned. In order to request the next page of results, the value obtained from `next_page_token` in the previous response should be used.",
          "type": "string"
        },
        "pageSize": {
          "type": "integer",
          "description": "Optional. Number of `ReportRows` to retrieve in a single page. Defaults to 1000. Values above 100,000 are coerced to 100,000.",
          "format": "int32"
        }
      }
    },
    "ItemIssue": {
      "description": "Item issue associated with the product.",
      "properties": {
        "type": {
          "description": "Item issue type.",
          "$ref": "ItemIssueType"
        },
        "resolution": {
          "enumDescriptions": [
            "Not specified.",
            "The merchant has to fix the issue.",
            "The issue will be resolved automatically (for example, image crawl) or through a Google review. No merchant action is required now. Resolution might lead to another issue (for example, if crawl fails)."
          ],
          "enum": [
            "ITEM_ISSUE_RESOLUTION_UNSPECIFIED",
            "MERCHANT_ACTION",
            "PENDING_PROCESSING"
          ],
          "type": "string",
          "description": "Item issue resolution."
        },
        "severity": {
          "description": "Item issue severity.",
          "$ref": "ItemIssueSeverity"
        }
      },
      "type": "object",
      "id": "ItemIssue"
    },
    "PriceCompetitivenessProductView": {
      "type": "object",
      "description": "Fields available for query in `price_competitiveness_product_view` table. [Price competitiveness](https://support.google.com/merchants/answer/9626903) report. Values are only set for fields requested explicitly in the request's search query.",
      "properties": {
        "productTypeL1": {
          "type": "string",
          "description": "Product type (1st level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406)."
        },
        "reportCountryCode": {
          "description": "Country of the price benchmark. Represented in the ISO 3166 format. Required in the `SELECT` clause.",
          "type": "string"
        },
        "title": {
          "type": "string",
          "description": "Title of the product."
        },
        "productTypeL2": {
          "description": "Product type (2nd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).",
          "type": "string"
        },
        "benchmarkPrice": {
          "description": "Latest available price benchmark for the product's catalog in the benchmark country.",
          "$ref": "Price"
        },
        "categoryL3": {
          "type": "string",
          "description": "Product category (3rd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436)."
        },
        "categoryL1": {
          "description": "Product category (1st level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).",
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "REST ID of the product, in the form of `channel~languageCode~feedLabel~offerId`. Can be used to join data with the `product_view` table. Required in the `SELECT` clause."
        },
        "productTypeL4": {
          "type": "string",
          "description": "Product type (4th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406)."
        },
        "productTypeL3": {
          "description": "Product type (3rd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).",
          "type": "string"
        },
        "brand": {
          "type": "string",
          "description": "Brand of the product."
        },
        "productTypeL5": {
          "description": "Product type (5th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).",
          "type": "string"
        },
        "price": {
          "$ref": "Price",
          "description": "Current price of the product."
        },
        "categoryL5": {
          "description": "Product category (5th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).",
          "type": "string"
        },
        "offerId": {
          "type": "string",
          "description": "Merchant-provided id of the product."
        },
        "categoryL2": {
          "type": "string",
          "description": "Product category (2nd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436)."
        },
        "categoryL4": {
          "type": "string",
          "description": "Product category (4th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436)."
        }
      },
      "id": "PriceCompetitivenessProductView"
    },
    "CompetitiveVisibilityTopMerchantView": {
      "description": "Fields available for query in `competitive_visibility_top_merchant_view` table. [Competitive visibility](https://support.google.com/merchants/answer/11366442) report with business with highest visibility. Values are only set for fields requested explicitly in the request's search query.",
      "properties": {
        "trafficSource": {
          "type": "string",
          "description": "Traffic source of impressions. Required in the `SELECT` clause.",
          "enumDescriptions": [
            "Not specified.",
            "Organic traffic.",
            "Traffic from ads.",
            "Organic and ads traffic."
          ],
          "enum": [
            "TRAFFIC_SOURCE_ENUM_UNSPECIFIED",
            "ORGANIC",
            "ADS",
            "ALL"
          ]
        },
        "reportCountryCode": {
          "type": "string",
          "description": "Country where impressions appeared. Required in the `SELECT` clause. A condition on `report_country_code` is required in the `WHERE` clause."
        },
        "isYourDomain": {
          "description": "True if this row contains data for your domain. Cannot be filtered on in the 'WHERE' clause.",
          "type": "boolean"
        },
        "reportCategoryId": {
          "description": "Google product category ID to calculate the report for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. A condition on `report_category_id` is required in the `WHERE` clause.",
          "format": "int64",
          "type": "string"
        },
        "rank": {
          "type": "string",
          "description": "Position of the domain in the top merchants ranking for the selected keys (`date`, `report_category_id`, `report_country_code`, `traffic_source`) based on impressions. 1 is the highest. Cannot be filtered on in the 'WHERE' clause.",
          "format": "int64"
        },
        "domain": {
          "type": "string",
          "description": "Domain of your competitor or your domain, if 'is_your_domain' is true. Required in the `SELECT` clause. Cannot be filtered on in the 'WHERE' clause."
        },
        "higherPositionRate": {
          "description": "[Higher position rate] (https://support.google.com/merchants/answer/11366442#zippy=%2Chigher-position-rate) shows how often a competitor’s offer got placed in a higher position on the page than your offer. Cannot be filtered on in the 'WHERE' clause.",
          "format": "double",
          "type": "number"
        },
        "pageOverlapRate": {
          "type": "number",
          "description": "[Page overlap rate] (https://support.google.com/merchants/answer/11366442#zippy=%2Cpage-overlap-rate) shows how frequently competing retailers’ offers are shown together with your offers on the same page. Cannot be filtered on in the 'WHERE' clause.",
          "format": "double"
        },
        "date": {
          "$ref": "Date",
          "description": "Date of this row. Cannot be selected in the `SELECT` clause. A condition on `date` is required in the `WHERE` clause."
        },
        "adsOrganicRatio": {
          "description": "[Ads / organic ratio] (https://support.google.com/merchants/answer/11366442#zippy=%2Cads-free-ratio) shows how often the domain receives impressions from Shopping ads compared to organic traffic. The number is rounded and bucketed. Cannot be filtered on in the 'WHERE' clause.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object",
      "id": "CompetitiveVisibilityTopMerchantView"
    },
    "BestSellersProductClusterView": {
      "id": "BestSellersProductClusterView",
      "description": "Fields available for query in `best_sellers_product_cluster_view` table. [Best sellers](https://support.google.com/merchants/answer/9488679) report with top product clusters. A product cluster is a grouping for different offers and variants that represent the same product, for example, Google Pixel 7. Values are only set for fields requested explicitly in the request's search query.",
      "properties": {
        "relativeDemand": {
          "description": "Estimated demand in relation to the product cluster with the highest popularity rank in the same category and country.",
          "type": "string",
          "enumDescriptions": [
            "Not specified.",
            "Demand is 0-5% of the demand of the highest ranked product cluster or brand.",
            "Demand is 6-10% of the demand of the highest ranked product cluster or brand.",
            "Demand is 11-20% of the demand of the highest ranked product cluster or brand.",
            "Demand is 21-50% of the demand of the highest ranked product cluster or brand.",
            "Demand is 51-100% of the demand of the highest ranked product cluster or brand."
          ],
          "enum": [
            "RELATIVE_DEMAND_ENUM_UNSPECIFIED",
            "VERY_LOW",
            "LOW",
            "MEDIUM",
            "HIGH",
            "VERY_HIGH"
          ]
        },
        "relativeDemandChange": {
          "enumDescriptions": [
            "Not specified.",
            "Relative demand is lower than the previous time period.",
            "Relative demand is equal to the previous time period.",
            "Relative demand is higher than the previous time period."
          ],
          "enum": [
            "RELATIVE_DEMAND_CHANGE_TYPE_ENUM_UNSPECIFIED",
            "SINKER",
            "FLAT",
            "RISER"
          ],
          "description": "Change in the estimated demand. Whether it rose, sank or remained flat.",
          "type": "string"
        },
        "categoryL5": {
          "type": "string",
          "description": "Product category (5th level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436)."
        },
        "categoryL2": {
          "description": "Product category (2nd level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).",
          "type": "string"
        },
        "categoryL4": {
          "type": "string",
          "description": "Product category (4th level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436)."
        },
        "rank": {
          "description": "Popularity of the product cluster on Ads and organic surfaces, in the selected category and country, based on the estimated number of units sold.",
          "format": "int64",
          "type": "string"
        },
        "reportCategoryId": {
          "description": "Google product category ID to calculate the ranking for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. If a `WHERE` condition on `report_category_id` is not specified in the query, rankings for all top-level categories are returned.",
          "format": "int64",
          "type": "string"
        },
        "categoryL1": {
          "type": "string",
          "description": "Product category (1st level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436)."
        },
        "categoryL3": {
          "description": "Product category (3rd level) of the product cluster, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).",
          "type": "string"
        },
        "brandInventoryStatus": {
          "type": "string",
          "description": "Whether there is at least one product of the brand currently `IN_STOCK` in your product data source in at least one of the countries, all products are `OUT_OF_STOCK` in your product data source in all countries, or `NOT_IN_INVENTORY`. The field doesn't take the Best sellers report country filter into account.",
          "enumDescriptions": [
            "Not specified.",
            "You have a product for this product cluster or brand in stock.",
            "You have a product for this product cluster or brand in inventory but it is currently out of stock.",
            "You do not have a product for this product cluster or brand in inventory."
          ],
          "enum": [
            "INVENTORY_STATUS_UNSPECIFIED",
            "IN_STOCK",
            "OUT_OF_STOCK",
            "NOT_IN_INVENTORY"
          ]
        },
        "brand": {
          "type": "string",
          "description": "Brand of the product cluster."
        },
        "reportCountryCode": {
          "type": "string",
          "description": "Country where the ranking is calculated. Represented in the ISO 3166 format. Required in the `SELECT` clause. Condition on `report_country_code` is required in the `WHERE` clause."
        },
        "title": {
          "type": "string",
          "description": "Title of the product cluster."
        },
        "previousRelativeDemand": {
          "enumDescriptions": [
            "Not specified.",
            "Demand is 0-5% of the demand of the highest ranked product cluster or brand.",
            "Demand is 6-10% of the demand of the highest ranked product cluster or brand.",
            "Demand is 11-20% of the demand of the highest ranked product cluster or brand.",
            "Demand is 21-50% of the demand of the highest ranked product cluster or brand.",
            "Demand is 51-100% of the demand of the highest ranked product cluster or brand."
          ],
          "enum": [
            "RELATIVE_DEMAND_ENUM_UNSPECIFIED",
            "VERY_LOW",
            "LOW",
            "MEDIUM",
            "HIGH",
            "VERY_HIGH"
          ],
          "type": "string",
          "description": "Estimated demand in relation to the product cluster with the highest popularity rank in the same category and country in the previous week or month."
        },
        "reportDate": {
          "$ref": "Date",
          "description": "Report date. The value of this field can only be one of the following: * The first day of the week (Monday) for weekly reports, * The first day of the month for monthly reports. Required in the `SELECT` clause. If a `WHERE` condition on `report_date` is not specified in the query, the latest available weekly or monthly report is returned."
        },
        "reportGranularity": {
          "enumDescriptions": [
            "Not specified.",
            "Report is computed over a week timeframe.",
            "Report is computed over a month timeframe."
          ],
          "enum": [
            "REPORT_GRANULARITY_ENUM_UNSPECIFIED",
            "WEEKLY",
            "MONTHLY"
          ],
          "description": "Granularity of the report. The ranking can be done over a week or a month timeframe. Required in the `SELECT` clause. Condition on `report_granularity` is required in the `WHERE` clause.",
          "type": "string"
        },
        "variantGtins": {
          "description": "GTINs of example variants of the product cluster.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "previousRank": {
          "type": "string",
          "description": "Popularity rank in the previous week or month.",
          "format": "int64"
        },
        "inventoryStatus": {
          "type": "string",
          "description": "Whether the product cluster is `IN_STOCK` in your product data source in at least one of the countries, `OUT_OF_STOCK` in your product data source in all countries, or `NOT_IN_INVENTORY` at all. The field doesn't take the Best sellers report country filter into account.",
          "enumDescriptions": [
            "Not specified.",
            "You have a product for this product cluster or brand in stock.",
            "You have a product for this product cluster or brand in inventory but it is currently out of stock.",
            "You do not have a product for this product cluster or brand in inventory."
          ],
          "enum": [
            "INVENTORY_STATUS_UNSPECIFIED",
            "IN_STOCK",
            "OUT_OF_STOCK",
            "NOT_IN_INVENTORY"
          ]
        }
      },
      "type": "object"
    },
    "ProductView": {
      "id": "ProductView",
      "type": "object",
      "description": "Fields available for query in `product_view` table. Products in the current inventory. Products in this table are the same as a [Product resource in Products sub-API](https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.products) but not all product attributes from Products sub-API are available for query in this table. In contrast to Products sub-API, this table allows to filter the returned list of products by product attributes. To retrieve a single product by `id` or list all products, Products sub-API should be used. Values are only set for fields requested explicitly in the request's search query.",
      "properties": {
        "brand": {
          "type": "string",
          "description": "Brand of the product."
        },
        "productTypeL5": {
          "type": "string",
          "description": "Product type (5th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406)."
        },
        "productTypeL4": {
          "description": "Product type (4th level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).",
          "type": "string"
        },
        "productTypeL3": {
          "description": "Product type (3rd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406).",
          "type": "string"
        },
        "categoryL1": {
          "description": "Product category (1st level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).",
          "type": "string"
        },
        "id": {
          "description": "REST ID of the product, in the form of `channel~languageCode~feedLabel~offerId`. Merchant API methods that operate on products take this as their `name` parameter. Required in the `SELECT` clause.",
          "type": "string"
        },
        "thumbnailLink": {
          "description": "Link to the processed image of the product, hosted on the Google infrastructure.",
          "type": "string"
        },
        "statusPerReportingContext": {
          "type": "array",
          "description": "Detailed product status per reporting context. Reporting contexts included in this list can be restricted using a filter on the `reporting_context` field. Equivalent to `ProductStatus.destination_statuses` in Products API. **This field cannot be used for sorting or filtering the results.**",
          "items": {
            "$ref": "StatusPerReportingContext"
          }
        },
        "categoryL4": {
          "description": "Product category (4th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).",
          "type": "string"
        },
        "offerId": {
          "type": "string",
          "description": "Merchant-provided id of the product."
        },
        "price": {
          "description": "Product price. Absent if the information about the price of the product is not available.",
          "$ref": "Price"
        },
        "categoryL5": {
          "type": "string",
          "description": "Product category (5th level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436)."
        },
        "languageCode": {
          "type": "string",
          "description": "Language code of the product in BCP 47 format."
        },
        "creationTime": {
          "description": "The time the merchant created the product in timestamp seconds.",
          "format": "google-datetime",
          "type": "string"
        },
        "feedLabel": {
          "type": "string",
          "description": "Feed label of the product."
        },
        "expirationDate": {
          "description": "Expiration date for the product, specified on insertion.",
          "$ref": "Date"
        },
        "itemIssues": {
          "type": "array",
          "description": "List of item issues for the product. **This field cannot be used for sorting the results.** **Only selected attributes of this field (for example, `item_issues.severity.aggregated_severity`) can be used for filtering the results.**",
          "items": {
            "$ref": "ItemIssue"
          }
        },
        "itemGroupId": {
          "type": "string",
          "description": "Item group id provided by the merchant for grouping variants together."
        },
        "availability": {
          "description": "[Availability](https://support.google.com/merchants/answer/6324448) of the product.",
          "type": "string"
        },
        "gtin": {
          "description": "List of Global Trade Item Numbers (GTINs) of the product.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "reportingContext": {
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ],
          "enumDescriptions": [
            "Not specified.",
            "[Shopping ads](https://support.google.com/merchants/answer/6149970).",
            "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).",
            "[Video ads](https://support.google.com/google-ads/answer/6340491).",
            "[Display ads](https://support.google.com/merchants/answer/6069387).",
            "[Local inventory ads](https://support.google.com/merchants/answer/3271956).",
            "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).",
            "[Free product listings](https://support.google.com/merchants/answer/9199328).",
            "[Free product listings on UCP checkout](https://developers.google.com/merchant/ucp).",
            "[Free local product listings](https://support.google.com/merchants/answer/9825611).",
            "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).",
            "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).",
            "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).",
            "[Cloud retail](https://cloud.google.com/solutions/retail).",
            "[Local cloud retail](https://cloud.google.com/solutions/retail).",
            "[Product Reviews](https://support.google.com/merchants/answer/14620732).",
            "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).",
            "YouTube Checkout ."
          ],
          "enum": [
            "REPORTING_CONTEXT_ENUM_UNSPECIFIED",
            "SHOPPING_ADS",
            "DISCOVERY_ADS",
            "DEMAND_GEN_ADS",
            "DEMAND_GEN_ADS_DISCOVER_SURFACE",
            "VIDEO_ADS",
            "DISPLAY_ADS",
            "LOCAL_INVENTORY_ADS",
            "VEHICLE_INVENTORY_ADS",
            "FREE_LISTINGS",
            "FREE_LISTINGS_UCP_CHECKOUT",
            "FREE_LOCAL_LISTINGS",
            "FREE_LOCAL_VEHICLE_LISTINGS",
            "YOUTUBE_AFFILIATE",
            "YOUTUBE_SHOPPING",
            "CLOUD_RETAIL",
            "LOCAL_CLOUD_RETAIL",
            "PRODUCT_REVIEWS",
            "MERCHANT_REVIEWS",
            "YOUTUBE_CHECKOUT"
          ],
          "type": "string",
          "description": "Reporting context to restrict the query to. Restricts the reporting contexts returned in `status_per_reporting_context` and `item_issues`, and used to compute `aggregated_reporting_context_status`. **This field can only be used in the `WHERE` clause and cannot be selected in the `SELECT` clause.**"
        },
        "categoryL3": {
          "type": "string",
          "description": "Product category (3rd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436)."
        },
        "categoryL2": {
          "description": "Product category (2nd level) in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436).",
          "type": "string"
        },
        "clickPotential": {
          "type": "string",
          "description": "Estimated performance potential compared to highest performing products of the merchant.",
          "enumDescriptions": [
            "Unknown predicted clicks impact.",
            "Potential to receive a low number of clicks compared to the highest performing products of the merchant.",
            "Potential to receive a moderate number of clicks compared to the highest performing products of the merchant.",
            "Potential to receive a similar number of clicks as the highest performing products of the merchant."
          ],
          "enum": [
            "CLICK_POTENTIAL_UNSPECIFIED",
            "LOW",
            "MEDIUM",
            "HIGH"
          ]
        },
        "shippingLabel": {
          "description": "Normalized [shipping label](https://support.google.com/merchants/answer/6324504) specified in the data source.",
          "type": "string"
        },
        "clickPotentialRank": {
          "description": "Normalized click potential of the product. Values range from 1 to 1000, where 1 is the highest click potential and 1000 is the theoretical lowest.",
          "format": "int64",
          "type": "string"
        },
        "condition": {
          "description": "[Condition](https://support.google.com/merchants/answer/6324469) of the product.",
          "type": "string"
        },
        "productTypeL1": {
          "type": "string",
          "description": "Product type (1st level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406)."
        },
        "aggregatedReportingContextStatus": {
          "type": "string",
          "description": "Aggregated status across all reporting contexts. Reporting contexts included in the computation of the aggregated status can be restricted using a filter on the `reporting_context` field.",
          "enumDescriptions": [
            "Not specified.",
            "Product is not eligible or is disapproved for all reporting contexts and countries.",
            "Product's status is pending in all reporting contexts and countries.",
            "Product is eligible for some (but not all) reporting contexts and countries.",
            "Product is eligible for all reporting contexts and countries."
          ],
          "enum": [
            "AGGREGATED_REPORTING_CONTEXT_STATUS_UNSPECIFIED",
            "NOT_ELIGIBLE_OR_DISAPPROVED",
            "PENDING",
            "ELIGIBLE_LIMITED",
            "ELIGIBLE"
          ]
        },
        "channel": {
          "enumDescriptions": [
            "Not specified.",
            "Online product.",
            "Local product."
          ],
          "enum": [
            "CHANNEL_ENUM_UNSPECIFIED",
            "ONLINE",
            "LOCAL"
          ],
          "type": "string",
          "description": "Channel of the product. Can be `ONLINE` or `LOCAL`."
        },
        "title": {
          "type": "string",
          "description": "Title of the product."
        },
        "productTypeL2": {
          "type": "string",
          "description": "Product type (2nd level) in merchant's own [product taxonomy](https://support.google.com/merchants/answer/6324406)."
        }
      }
    },
    "CompetitiveVisibilityCompetitorView": {
      "id": "CompetitiveVisibilityCompetitorView",
      "type": "object",
      "description": "Fields available for query in `competitive_visibility_competitor_view` table. [Competitive visibility](https://support.google.com/merchants/answer/11366442) report with businesses with similar visibility. Values are only set for fields requested explicitly in the request's search query.",
      "properties": {
        "trafficSource": {
          "enumDescriptions": [
            "Not specified.",
            "Organic traffic.",
            "Traffic from ads.",
            "Organic and ads traffic."
          ],
          "enum": [
            "TRAFFIC_SOURCE_ENUM_UNSPECIFIED",
            "ORGANIC",
            "ADS",
            "ALL"
          ],
          "type": "string",
          "description": "Traffic source of impressions. Required in the `SELECT` clause."
        },
        "reportCountryCode": {
          "type": "string",
          "description": "Country where impressions appeared. Required in the `SELECT` clause. A condition on `report_country_code` is required in the `WHERE` clause."
        },
        "rank": {
          "description": "Position of the domain in the similar businesses ranking for the selected keys (`date`, `report_category_id`, `report_country_code`, `traffic_source`) based on impressions. 1 is the highest. Cannot be filtered on in the 'WHERE' clause.",
          "format": "int64",
          "type": "string"
        },
        "domain": {
          "description": "Domain of your competitor or your domain, if 'is_your_domain' is true. Required in the `SELECT` clause. Cannot be filtered on in the 'WHERE' clause.",
          "type": "string"
        },
        "isYourDomain": {
          "type": "boolean",
          "description": "True if this row contains data for your domain. Cannot be filtered on in the 'WHERE' clause."
        },
        "reportCategoryId": {
          "description": "Google product category ID to calculate the report for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. A condition on `report_category_id` is required in the `WHERE` clause.",
          "format": "int64",
          "type": "string"
        },
        "date": {
          "$ref": "Date",
          "description": "Date of this row. A condition on `date` is required in the `WHERE` clause."
        },
        "higherPositionRate": {
          "description": "[Higher position rate] (https://support.google.com/merchants/answer/11366442#zippy=%2Chigher-position-rate) shows how often a competitor’s offer got placed in a higher position on the page than your offer. Cannot be filtered on in the 'WHERE' clause.",
          "format": "double",
          "type": "number"
        },
        "pageOverlapRate": {
          "type": "number",
          "description": "[Page overlap rate] (https://support.google.com/merchants/answer/11366442#zippy=%2Cpage-overlap-rate) shows how frequently competing retailers’ offers are shown together with your offers on the same page. Cannot be filtered on in the 'WHERE' clause.",
          "format": "double"
        },
        "relativeVisibility": {
          "description": "[Relative visibility] (https://support.google.com/merchants/answer/11366442#zippy=%2Crelative-visibility) shows how often your competitors’ offers are shown compared to your offers. In other words, this is the number of displayed impressions of a competitor retailer divided by the number of your displayed impressions during a selected time range for a selected product category and country. Cannot be filtered on in the 'WHERE' clause.",
          "format": "double",
          "type": "number"
        },
        "adsOrganicRatio": {
          "description": "[Ads / organic ratio] (https://support.google.com/merchants/answer/11366442#zippy=%2Cads-free-ratio) shows how often the domain receives impressions from Shopping ads compared to organic traffic. The number is rounded and bucketed. Cannot be filtered on in the 'WHERE' clause.",
          "format": "double",
          "type": "number"
        }
      }
    },
    "NonProductPerformanceView": {
      "description": "Fields available for query in `non_product_performance_view` table. Performance data on images and online store links leading to your non-product pages. This includes performance metrics (for example, `clicks`) and dimensions according to which performance metrics are segmented (for example, `date`). Segment fields cannot be selected in queries without also selecting at least one metric field. Values are only set for fields requested explicitly in the request's search query.",
      "properties": {
        "week": {
          "description": "First day of the week (Monday) of the metrics date in the Merchant Center account timezone. Segment.",
          "$ref": "Date"
        },
        "date": {
          "$ref": "Date",
          "description": "Date in the Merchant Center account timezone to which metrics apply. Segment. Condition on `date` is required in the `WHERE` clause."
        },
        "clickThroughRate": {
          "type": "number",
          "description": "Click-through rate - the number of clicks (`clicks`) divided by the number of impressions (`impressions`) of images and online store links leading to your non-product pages. Metric.",
          "format": "double"
        },
        "impressions": {
          "description": "Number of times images and online store links leading to your non-product pages were shown. Metric.",
          "format": "int64",
          "type": "string"
        },
        "clicks": {
          "description": "Number of clicks on images and online store links leading to your non-product pages. Metric.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object",
      "id": "NonProductPerformanceView"
    },
    "ProductChange": {
      "id": "ProductChange",
      "type": "object",
      "description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.",
      "properties": {
        "newValue": {
          "description": "The new value of the changed resource or attribute. If empty, it means that the product was deleted. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)",
          "type": "string"
        },
        "regionCode": {
          "type": "string",
          "description": "Countries that have the change (if applicable). Represented in the ISO 3166 format."
        },
        "oldValue": {
          "description": "The old value of the changed resource or attribute. If empty, it means that the product was created. Will have one of these values : (`approved`, `pending`, `disapproved`, ``)",
          "type": "string"
        },
        "reportingContext": {
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ],
          "enumDescriptions": [
            "Not specified.",
            "[Shopping ads](https://support.google.com/merchants/answer/6149970).",
            "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).",
            "[Video ads](https://support.google.com/google-ads/answer/6340491).",
            "[Display ads](https://support.google.com/merchants/answer/6069387).",
            "[Local inventory ads](https://support.google.com/merchants/answer/3271956).",
            "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).",
            "[Free product listings](https://support.google.com/merchants/answer/9199328).",
            "[Free product listings on UCP checkout](https://developers.google.com/merchant/ucp).",
            "[Free local product listings](https://support.google.com/merchants/answer/9825611).",
            "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).",
            "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).",
            "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).",
            "[Cloud retail](https://cloud.google.com/solutions/retail).",
            "[Local cloud retail](https://cloud.google.com/solutions/retail).",
            "[Product Reviews](https://support.google.com/merchants/answer/14620732).",
            "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).",
            "YouTube Checkout ."
          ],
          "enum": [
            "REPORTING_CONTEXT_ENUM_UNSPECIFIED",
            "SHOPPING_ADS",
            "DISCOVERY_ADS",
            "DEMAND_GEN_ADS",
            "DEMAND_GEN_ADS_DISCOVER_SURFACE",
            "VIDEO_ADS",
            "DISPLAY_ADS",
            "LOCAL_INVENTORY_ADS",
            "VEHICLE_INVENTORY_ADS",
            "FREE_LISTINGS",
            "FREE_LISTINGS_UCP_CHECKOUT",
            "FREE_LOCAL_LISTINGS",
            "FREE_LOCAL_VEHICLE_LISTINGS",
            "YOUTUBE_AFFILIATE",
            "YOUTUBE_SHOPPING",
            "CLOUD_RETAIL",
            "LOCAL_CLOUD_RETAIL",
            "PRODUCT_REVIEWS",
            "MERCHANT_REVIEWS",
            "YOUTUBE_CHECKOUT"
          ],
          "type": "string",
          "description": "Reporting contexts that have the change (if applicable). Currently this field supports only (`SHOPPING_ADS`, `LOCAL_INVENTORY_ADS`, `YOUTUBE_SHOPPING`, `YOUTUBE_CHECKOUT`, `YOUTUBE_AFFILIATE`) from the enum value [ReportingContextEnum](/merchant/api/reference/rest/Shared.Types/ReportingContextEnum)"
        }
      }
    },
    "SearchResponse": {
      "description": "Response message for the `ReportService.Search` method.",
      "properties": {
        "results": {
          "description": "Rows that matched the search query.",
          "items": {
            "$ref": "ReportRow"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token which can be sent as `page_token` to retrieve the next page. If omitted, there are no subsequent pages.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "SearchResponse"
    },
    "IssueSeverityPerReportingContext": {
      "type": "object",
      "description": "Issue severity per reporting context.",
      "properties": {
        "reportingContext": {
          "enumDescriptions": [
            "Not specified.",
            "[Shopping ads](https://support.google.com/merchants/answer/6149970).",
            "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).",
            "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).",
            "[Video ads](https://support.google.com/google-ads/answer/6340491).",
            "[Display ads](https://support.google.com/merchants/answer/6069387).",
            "[Local inventory ads](https://support.google.com/merchants/answer/3271956).",
            "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).",
            "[Free product listings](https://support.google.com/merchants/answer/9199328).",
            "[Free product listings on UCP checkout](https://developers.google.com/merchant/ucp).",
            "[Free local product listings](https://support.google.com/merchants/answer/9825611).",
            "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).",
            "[Youtube Affiliate](https://support.google.com/youtube/answer/13376398).",
            "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).",
            "[Cloud retail](https://cloud.google.com/solutions/retail).",
            "[Local cloud retail](https://cloud.google.com/solutions/retail).",
            "[Product Reviews](https://support.google.com/merchants/answer/14620732).",
            "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).",
            "YouTube Checkout ."
          ],
          "enum": [
            "REPORTING_CONTEXT_ENUM_UNSPECIFIED",
            "SHOPPING_ADS",
            "DISCOVERY_ADS",
            "DEMAND_GEN_ADS",
            "DEMAND_GEN_ADS_DISCOVER_SURFACE",
            "VIDEO_ADS",
            "DISPLAY_ADS",
            "LOCAL_INVENTORY_ADS",
            "VEHICLE_INVENTORY_ADS",
            "FREE_LISTINGS",
            "FREE_LISTINGS_UCP_CHECKOUT",
            "FREE_LOCAL_LISTINGS",
            "FREE_LOCAL_VEHICLE_LISTINGS",
            "YOUTUBE_AFFILIATE",
            "YOUTUBE_SHOPPING",
            "CLOUD_RETAIL",
            "LOCAL_CLOUD_RETAIL",
            "PRODUCT_REVIEWS",
            "MERCHANT_REVIEWS",
            "YOUTUBE_CHECKOUT"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ],
          "description": "Reporting context the issue applies to.",
          "type": "string"
        },
        "disapprovedCountries": {
          "description": "List of disapproved countries in the reporting context, represented in ISO 3166 format.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "demotedCountries": {
          "type": "array",
          "description": "List of demoted countries in the reporting context, represented in ISO 3166 format.",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "IssueSeverityPerReportingContext"
    },
    "Price": {
      "type": "object",
      "description": "The price represented as a number and currency.",
      "properties": {
        "amountMicros": {
          "description": "The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).",
          "format": "int64",
          "type": "string"
        },
        "currencyCode": {
          "type": "string",
          "description": "The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217)."
        }
      },
      "id": "Price"
    },
    "ProductPerformanceView": {
      "type": "object",
      "description": "Fields available for query in `product_performance_view` table. Product performance data for your account, including performance metrics (for example, `clicks`) and dimensions according to which performance metrics are segmented (for example, `offer_id`). Values of product dimensions, such as `offer_id`, reflect the state of a product at the time of the impression. Segment fields cannot be selected in queries without also selecting at least one metric field. Values are only set for fields requested explicitly in the request's search query.",
      "properties": {
        "productTypeL1": {
          "type": "string",
          "description": "[Product type (1st level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment."
        },
        "conversionValue": {
          "description": "Value of conversions attributed to the product, reported on the conversion date. Metric. Available only for the `FREE` traffic source.",
          "$ref": "Price"
        },
        "marketingMethod": {
          "enumDescriptions": [
            "Not specified.",
            "Organic marketing.",
            "Ads-based marketing."
          ],
          "enum": [
            "MARKETING_METHOD_ENUM_UNSPECIFIED",
            "ORGANIC",
            "ADS"
          ],
          "type": "string",
          "description": "Marketing method to which metrics apply. Segment."
        },
        "productTypeL2": {
          "type": "string",
          "description": "[Product type (2nd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment."
        },
        "title": {
          "description": "Title of the product. Segment.",
          "type": "string"
        },
        "categoryL3": {
          "type": "string",
          "description": "[Product category (3rd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment."
        },
        "customLabel4": {
          "description": "Custom label 4 for custom grouping of products. Segment.",
          "type": "string"
        },
        "week": {
          "$ref": "Date",
          "description": "First day of the week (Monday) of the metrics date in the Merchant Center account timezone. Segment."
        },
        "customerCountryCode": {
          "type": "string",
          "description": "Code of the country where the customer is located at the time of the event. Represented in the ISO 3166 format. Segment. If the customer country cannot be determined, a special 'ZZ' code is returned."
        },
        "categoryL2": {
          "type": "string",
          "description": "[Product category (2nd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment."
        },
        "clicks": {
          "type": "string",
          "description": "Number of clicks. Metric.",
          "format": "int64"
        },
        "conversions": {
          "type": "number",
          "description": "Number of conversions attributed to the product, reported on the conversion date. Depending on the attribution model, a conversion might be distributed across multiple clicks, where each click gets its own credit assigned. This metric is a sum of all such credits. Metric. Available only for the `FREE` traffic source.",
          "format": "double"
        },
        "storeType": {
          "type": "string",
          "description": "Store type to which metrics apply. Can be `ONLINE_STORE` or `LOCAL_STORES`. Segment. For `LOCAL_STORES` store type, further segmentation by a specific store is not available.",
          "enumDescriptions": [
            "Not specified.",
            "Online store.",
            "Local (physical) stores."
          ],
          "enum": [
            "STORE_TYPE_ENUM_UNSPECIFIED",
            "ONLINE_STORE",
            "LOCAL_STORES"
          ]
        },
        "customLabel3": {
          "description": "Custom label 3 for custom grouping of products. Segment.",
          "type": "string"
        },
        "customLabel1": {
          "description": "Custom label 1 for custom grouping of products. Segment.",
          "type": "string"
        },
        "conversionRate": {
          "type": "number",
          "description": "Number of conversions divided by the number of clicks, reported on the impression date. Metric. Available only for the `FREE` traffic source.",
          "format": "double"
        },
        "productTypeL3": {
          "type": "string",
          "description": "[Product type (3rd level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment."
        },
        "productTypeL4": {
          "type": "string",
          "description": "[Product type (4th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment."
        },
        "brand": {
          "description": "Brand of the product. Segment.",
          "type": "string"
        },
        "productTypeL5": {
          "description": "[Product type (5th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in merchant's own product taxonomy. Segment.",
          "type": "string"
        },
        "impressions": {
          "description": "Number of times merchant's products are shown. Metric.",
          "format": "int64",
          "type": "string"
        },
        "date": {
          "description": "Date in the Merchant Center account timezone to which metrics apply. Segment. Condition on `date` is required in the `WHERE` clause.",
          "$ref": "Date"
        },
        "customLabel0": {
          "type": "string",
          "description": "Custom label 0 for custom grouping of products. Segment."
        },
        "clickThroughRate": {
          "type": "number",
          "description": "Click-through rate - the number of clicks merchant's products receive (clicks) divided by the number of times the products are shown (impressions). Metric.",
          "format": "double"
        },
        "categoryL1": {
          "type": "string",
          "description": "[Product category (1st level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment."
        },
        "customLabel2": {
          "type": "string",
          "description": "Custom label 2 for custom grouping of products. Segment."
        },
        "categoryL4": {
          "description": "[Product category (4th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment.",
          "type": "string"
        },
        "categoryL5": {
          "type": "string",
          "description": "[Product category (5th level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. Segment."
        },
        "offerId": {
          "description": "Merchant-provided id of the product. Segment.",
          "type": "string"
        }
      },
      "id": "ProductPerformanceView"
    },
    "BestSellersBrandView": {
      "id": "BestSellersBrandView",
      "description": "Fields available for query in `best_sellers_brand_view` table. [Best sellers](https://support.google.com/merchants/answer/9488679) report with top brands. Values are only set for fields requested explicitly in the request's search query.",
      "properties": {
        "reportCategoryId": {
          "type": "string",
          "description": "Google product category ID to calculate the ranking for, represented in [Google's product taxonomy](https://support.google.com/merchants/answer/6324436). Required in the `SELECT` clause. If a `WHERE` condition on `report_category_id` is not specified in the query, rankings for all top-level categories are returned.",
          "format": "int64"
        },
        "previousRank": {
          "type": "string",
          "description": "Popularity rank in the previous week or month.",
          "format": "int64"
        },
        "rank": {
          "type": "string",
          "description": "Popularity of the brand on Ads and organic surfaces, in the selected category and country, based on the estimated number of units sold.",
          "format": "int64"
        },
        "relativeDemandChange": {
          "enumDescriptions": [
            "Not specified.",
            "Relative demand is lower than the previous time period.",
            "Relative demand is equal to the previous time period.",
            "Relative demand is higher than the previous time period."
          ],
          "enum": [
            "RELATIVE_DEMAND_CHANGE_TYPE_ENUM_UNSPECIFIED",
            "SINKER",
            "FLAT",
            "RISER"
          ],
          "type": "string",
          "description": "Change in the estimated demand. Whether it rose, sank or remained flat."
        },
        "reportGranularity": {
          "type": "string",
          "description": "Granularity of the report. The ranking can be done over a week or a month timeframe. Required in the `SELECT` clause. Condition on `report_granularity` is required in the `WHERE` clause.",
          "enumDescriptions": [
            "Not specified.",
            "Report is computed over a week timeframe.",
            "Report is computed over a month timeframe."
          ],
          "enum": [
            "REPORT_GRANULARITY_ENUM_UNSPECIFIED",
            "WEEKLY",
            "MONTHLY"
          ]
        },
        "reportCountryCode": {
          "description": "Country where the ranking is calculated. Represented in the ISO 3166 format. Required in the `SELECT` clause. Condition on `report_country_code` is required in the `WHERE` clause.",
          "type": "string"
        },
        "relativeDemand": {
          "enumDescriptions": [
            "Not specified.",
            "Demand is 0-5% of the demand of the highest ranked product cluster or brand.",
            "Demand is 6-10% of the demand of the highest ranked product cluster or brand.",
            "Demand is 11-20% of the demand of the highest ranked product cluster or brand.",
            "Demand is 21-50% of the demand of the highest ranked product cluster or brand.",
            "Demand is 51-100% of the demand of the highest ranked product cluster or brand."
          ],
          "enum": [
            "RELATIVE_DEMAND_ENUM_UNSPECIFIED",
            "VERY_LOW",
            "LOW",
            "MEDIUM",
            "HIGH",
            "VERY_HIGH"
          ],
          "type": "string",
          "description": "Estimated demand in relation to the brand with the highest popularity rank in the same category and country."
        },
        "previousRelativeDemand": {
          "type": "string",
          "description": "Estimated demand in relation to the brand with the highest popularity rank in the same category and country in the previous week or month.",
          "enumDescriptions": [
            "Not specified.",
            "Demand is 0-5% of the demand of the highest ranked product cluster or brand.",
            "Demand is 6-10% of the demand of the highest ranked product cluster or brand.",
            "Demand is 11-20% of the demand of the highest ranked product cluster or brand.",
            "Demand is 21-50% of the demand of the highest ranked product cluster or brand.",
            "Demand is 51-100% of the demand of the highest ranked product cluster or brand."
          ],
          "enum": [
            "RELATIVE_DEMAND_ENUM_UNSPECIFIED",
            "VERY_LOW",
            "LOW",
            "MEDIUM",
            "HIGH",
            "VERY_HIGH"
          ]
        },
        "reportDate": {
          "$ref": "Date",
          "description": "Report date. The value of this field can only be one of the following: * The first day of the week (Monday) for weekly reports, * The first day of the month for monthly reports. Required in the `SELECT` clause. If a `WHERE` condition on `report_date` is not specified in the query, the latest available weekly or monthly report is returned."
        },
        "brand": {
          "description": "Name of the brand.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Date": {
      "type": "object",
      "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp",
      "properties": {
        "day": {
          "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.",
          "format": "int32",
          "type": "integer"
        },
        "month": {
          "type": "integer",
          "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.",
          "format": "int32"
        },
        "year": {
          "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.",
          "format": "int32",
          "type": "integer"
        }
      },
      "id": "Date"
    }
  },
  "kind": "discovery#restDescription",
  "documentationLink": "https://developers.google.com/merchant/api",
  "rootUrl": "https://merchantapi.googleapis.com/",
  "batchPath": "batch",
  "id": "merchantapi:reports_v1beta"
}
