Google Merchant Center top products

Overview

Caution: BigQuery will no longer support this version of the Topproducts table on September 1, 2025. We recommend that you migrate to use thenew best sellers reportinstead. For more information about migrating to the new report, seeMigrate the best sellers report.

Best sellers data helps merchants understand the most popular brands andproducts in Shopping ads. For more information about best sellers, see thedescription inSupported Reports.

The data is written to a table namedBestSellers_TopProducts_MERCHANT_ID.

Schema

TheBestSellers_TopProducts_ table has the following schema:

ColumnBigQuery data typeDescriptionSample field
rank_timestampTIMESTAMPDate and time when the rank was published.2020-03-14 00:00:00 UTC
rank_idSTRINGRank identifier to join against theProduct Inventory table.2020-03-14:AU:100:2:product
rankINTEGERThe popularity rank of the product on Shopping ads for the `ranking_country`and `ranking_category`. Popularity is based on the estimated number ofproducts sold. The rank updates daily. The data included in metrics might bedelayed by up 2 days.2
previous_rankINTEGERThe change in rank over the previous 7 days.4
ranking_countrySTRINGCountry code used for ranking.AU
ranking_categoryINTEGERGoogleproduct category ID used for ranking.5181
ranking_category_pathRECORD,
REPEATED
Googleproduct category full path for each locale used for ranking.
ranking_category_path.localeSTRINGen-AU
ranking_category_path.nameSTRINGLuggage & Bags
relative_demandRECORDA product's estimated demand in relation to the product with the highest popularity rank in the same category and country.
relative_demand.bucketSTRINGVery high
relative_demand.minINTEGER51
relative_demand.maxINTEGER100
previous_relative_demandRECORDA product's estimated demand in relation to the product with the highest popularity rank in the same category and country over the previous 7 days.
previous_relative_demand.bucketSTRINGVery high
previous_relative_demand.minINTEGER51
previous_relative_demand.maxINTEGER100
product_titleRECORD,
REPEATED
Product title.
product_title.localeSTRINGen-AU
product_title.nameSTRINGExampleBrand Backpack
gtinsSTRING,
REPEATED
GlobalTrade Item Number (GTIN).07392158680955
brandSTRINGBrand of the item.ExampleBrand
google_brand_idSTRINGGoogle brand ID of the item.11887454107284768328
google_product_categoryINTEGERGoogleproduct category ID of the item.100
google_product_category_pathRECORD,
REPEATED
Googleproduct category full path of the item.
google_product_category_path.localeSTRINGen-US
google_product_category_path.nameSTRINGLuggage & Bags > Backpacks
price_rangeRECORDPrice range: lower and upper (with no decimals) and currency. Theprice does not include shipping costs.n/a
price_range.minNUMERIC115
price_range.maxNUMERIC147
price_range.currencySTRINGAUD

Understanding the data

  • Ranking categories are subject to change over time.
  • TheGoogle product categoryin theBestSellers_TopProducts_Inventory_ table might be different from theGoogle Product Category in theProducts_table. TheProducts_ table surfaces a retailer provided value of Googleproduct category.
  • For products in your inventory, the price range inBestSellers_TopProducts_ might differ from theProducts_PriceBenchmarks_table. Price benchmarks metrics are calculated over a different timeperiod. The price ranges inBestSellers_TopProducts_ reflect prices ofdifferent variants of the product, whereas the price ranges inProducts_PriceBenchmarks_ only refer to a single variant.
  • Some products in your inventory might not have a rank for each category inthe path. We limit the number of products per category to 10,000, and insome sub-categories we don't publish any ranking.

Example

Products might have a rank for each category within the product categorypath. For example, a Google Pixel 4 phone is classified asElectronics >Communications > Telephony > Mobile Phones. The Pixel 4 will have a separateranking for Electronics, Communications, Telephony, and Mobile Phones. Useranking_category_path in addition toranking_country to determine the depthof category that you want to see a ranking for.

In the example below, an ExampleBrand Backpack contains a separate rankingfor both the Luggage & Bags and Backpacks categories. Select "Backpacks" and"AU" to see what its ranking is in Australia in the Backpacks category.

Ranking for Luggage & Bags

product_titleExampleBrand Backpack
ranking_countryAU
ranking_category5181
ranking_category_pathLuggage & Bags
Rank40
google_product_category100
google_product_category_pathLuggage & Bags > Backpacks

Ranking for Luggage & Bags > Backpacks

product_titleExampleBrand Backpack
ranking_countryAU
ranking_category100
ranking_category_pathLuggage & Bags > Backpacks
rank4
google_product_category100
google_product_category_pathLuggage & Bags > Backpacks

Query examples

Top products for a given category and country

The following SQL query returns top products for theSmartphones category inthe US.

SELECTrank,previous_rank,relative_demand.bucket,(SELECTnameFROMtop_products.product_titleWHERElocale='en-US')ASproduct_title,brand,price_rangeFROMdataset.BestSellers_TopProducts_merchant_idAStop_productsWHERE_PARTITIONDATE='YYYY-MM-DD'ANDranking_category=267/*Smartphones*/ANDranking_country='US'ORDERBYrank
Note: For more information about product categories, including a full list ofcategory codes, seeDefinition:google_product_category.

Top products in your inventory

The following SQL query joinsBestSellers_TopProducts_Inventory_ andBestSellers_TopProducts_ data to return a list of top products youhave in your inventory.

WITHlatest_top_productsAS(SELECT*FROMdataset.BestSellers_TopProducts_merchant_idWHERE_PARTITIONDATE='YYYY-MM-DD'),latest_top_products_inventoryAS(SELECT*FROMdataset.BestSellers_TopProducts_Inventory_merchant_idWHERE_PARTITIONDATE='YYYY-MM-DD')SELECTtop_products.rank,inventory.product_id,(SELECTANY_VALUE(name)FROMtop_products.product_title)ASproduct_title,top_products.brand,top_products.gtinsFROMlatest_top_productsAStop_productsINNERJOINlatest_top_products_inventoryASinventoryUSING(rank_id)
Note: For more information about product categories, including a full list ofcategory codes, seeDefinition:google_product_category.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-02-19 UTC.