Migrer le rapport "Meilleures ventes"
Ce document vous aide à passer de l'ancienne version des rapports "Meilleures ventes" à la nouvelle version. L'ancienne version du rapport qui exporte les tables BestSellers_TopBrands_
, BestSellers_TopProducts_
et BestSellers_TopProducts_Inventory_
sera abandonnée le 1er septembre 2025.
Le nouveau rapport "Meilleures ventes" offre les fonctionnalités suivantes:
Parité avec l'ancienne version du rapport et meilleure cohérence avec d'autres produits Google similaires, par exemple les champs BestSellersBrandView et BestSellerProductClusterView de Content API for Shopping.
Informations supplémentaires sur les produits populaires dans Google Merchant Center Analytics
Possibilité de remplacement étendue (deux ans au lieu de 14 jours).
Tables exportées par les anciens et nouveaux rapports
Le tableau suivant compare les tables exportées par les anciens et les nouveaux rapports:
Ancien rapport | Nouveau rapport |
---|---|
BestSellers_TopBrands |
BestSellersBrandWeekly et BestSellersBrandMonthly |
BestSellers_TopProducts |
BestSellersProductClusterWeekly et BestSellersProductClusterMonthly |
BestSellers_TopProducts_Inventory |
BestSellersEntityProductMapping |
L'ancien rapport contient une seule agrégation des données sur les meilleures ventes sur une période non spécifiée. Le nouveau rapport fournit les dernières agrégations hebdomadaires et mensuelles de ces données au moment de la demande.
Comparer BestSellers_TopBrands
avec BestSellersBrandWeekly
et BestSellersBrandMonthly
Le tableau suivant vous aide à identifier les champs de la table BestSellers_TopBrands
qui ont des remplacements équivalents dans les tables BestSellersBrandWeekly
et BestSellersBrandMonthly
. Les remplacements de certains champs de l'ancienne table ne sont pas disponibles.
BestSellers_TopBrands (ancienne) |
BestSellersBrandWeekly et BestSellersBrandMonthly (nouveau) |
---|---|
rank_timestamp |
_PARTITIONDATE et _PARTITIONTIME |
brand |
brand |
google_brand_id |
|
ranking_category |
category_id |
ranking_category_path.locale |
|
ranking_category_path.name |
|
ranking_country |
country_code |
rank_id |
|
rank |
rank |
previous_rank |
previous_rank |
relative_demand.bucket |
relative_demand |
relative_demand.min |
|
relative_demand.max |
|
previous_relative_demand.bucket |
previous_relative_demand |
previous_relative_demand.min |
|
previous_relative_demand.max |
|
relative_demand_change |
Comparer BestSellers_TopProducts
avec BestSellersProductClusterWeekly
et BestSellersProductClusterMonthly
Le tableau suivant vous aide à identifier les champs de la table BestSellers_TopProducts
qui ont des remplacements équivalents dans les tables BestSellersProductClusterWeekly
et BestSellersProductClusterMonthly
. Les remplacements de certains champs de l'ancienne table ne sont pas disponibles.
BestSellers_TopProducts (ancienne) |
BestSellersProductClusterWeekly et BestSellersProductClusterMonthly (nouveau) |
---|---|
rank_timestamp |
_PARTITIONDATE et _PARTITIONTIME |
rank_id |
entity_id |
rank |
rank |
previous_rank |
previous_rank |
ranking_country |
country_code |
ranking_category |
report_category_id |
ranking_category_path.locale |
|
ranking_category_path.name |
|
relative_demand.bucket |
relative_demand |
relative_demand.min |
|
relative_demand.max |
|
previous_relative_demand.bucket |
previous_relative_demand |
previous_relative_demand.min |
|
previous_relative_demand.max |
|
relative_demand_change |
|
product_title.locale |
|
product_title.name |
title (titre unique au lieu d'un tableau pour chaque langue) |
gtins |
variant_gtins |
google_brand_id |
|
brand |
brand |
google_product_category |
|
category_l1 , category_l2 , category_l3 , category_l4 et category_l5 |
|
google_product_category_path.locale |
|
google_product_category_path.name |
|
price_range.min |
price_range.min_amount_micros |
price_range.max |
price_range.max_amount_micros |
price_range.currency |
price_range.currency_code |
product_inventory_status |
|
brand_inventory_status |
Mappage de l'inventaire des données sur les meilleures ventes
Dans l'ancien rapport "Meilleures ventes", les données des meilleures ventes sont mappées sur les données de l'inventaire du marchand dans une nouvelle table générée, à l'aide de la colonne rank_id
de la table TopProducts
.
Dans le nouveau rapport "Meilleures ventes", la colonne entity_id
est exportée dans les tables BestSellersProductCluster
, qui sont mappées sur tous les ID produit de l'inventaire du marchand dans le tableau BestSellersEntityProductMapping
.
BestSellers_TopProductsInventory (ancienne) |
BestSellersEntityProductMapping (nouveau) |
---|---|
rank_id (trouvé dans BestSellers_TopProducts ) |
entity_id (dans les tables BestSellersProductClustersWeekly et BestSellersProductClustersMonthly ) |
product_id |
product_id |
merchant_id |
|
aggregator_id |
Exemples de requêtes
Cette section met en évidence les modifications apportées aux exemples de requêtes utilisées pour récupérer les données des meilleures ventes.
Exemple 1: Récupérer les produits populaires pour une catégorie et un pays donnés
Les requêtes suivantes renvoient les produits populaires pour une catégorie et un pays donnés.
Utiliser le tableau BestSellers_TopProducts
(ancien)
SELECT
rank,
previous_rank,
relative_demand.bucket,
(SELECT name FROM top_products.product_title WHERE locale = 'en-US') AS product_title,
brand,
price_range,
google_product_category
FROM
`DATASET.BestSellers_TopProducts_MERCHANT_ID` AS top_products
WHERE
_PARTITIONDATE = 'DATE' AND
ranking_category = 267 /*Smartphones*/ AND
ranking_country = 'US'
ORDER BY
rank;
Utiliser le tableau BestSellersProductClusterWeekly
ou BestSellersProductClusterMonthly
(nouveau)
SELECT
rank,
previous_rank,
relative_demand,
title AS product_title,
brand,
price_range,
category_l1,
category_l2
FROM
`DATASET.BestSellersProductClusterWeekly_MERCHANT_ID` AS top_products
WHERE
_PARTITIONDATE = 'DATE' AND
report_category_id = 267 /*Smartphones*/ AND
country_code = 'US'
ORDER BY
rank;
Exemple 2: Récupérer les produits les plus populaires de votre inventaire
Les requêtes suivantes renvoient la liste des produits populaires de votre inventaire.
Utiliser le tableau BestSellers_TopProducts
(ancien)
WITH latest_top_products AS
(
SELECT
*
FROM
`DATASET.BestSellers_TopProducts_MERCHANT_ID`
WHERE
_PARTITIONDATE = 'DATE'
),
latest_top_products_inventory AS
(
SELECT
*
FROM
`DATASET.BestSellers_TopProducts_Inventory_MERCHANT_ID`
WHERE
_PARTITIONDATE = 'DATE'
)
SELECT
top_products.rank,
inventory.product_id,
(SELECT ANY_VALUE(name) FROM top_products.product_title) AS product_title,
top_products.brand,
top_products.gtins
FROM
latest_top_products AS top_products
INNER JOIN
latest_top_products_inventory AS inventory
USING (rank_id);
Utiliser le tableau BestSellersProductClusterWeekly
ou BestSellersProductClusterMonthly
(nouveau)
WITH latest_top_products AS
(
SELECT
*
FROM
`DATASET.BestSellersProductClusterWeekly_MERCHANT_ID`
WHERE
_PARTITIONDATE = 'DATE'
),
latest_top_products_inventory AS
(
SELECT
*
FROM
`DATASET.BestSellersEntityProductMapping_MERCHANT_ID`
WHERE
_PARTITIONDATE = 'DATE'
)
SELECT
top_products.rank,
inventory.product_id,
top_products.title AS product_title,
top_products.brand,
top_products.variant_gtins
FROM
latest_top_products AS top_products
INNER JOIN
latest_top_products_inventory AS inventory
USING (entity_id);
De plus, si vous souhaitez connaître le nombre de produits ou de marques les plus vendus dans votre inventaire, exécutez une requête sur les tables BestSellerProductClusterWeekly
ou BestSellerProductClusterMonthly
à l'aide des colonnes product_inventory_status
ou brand_inventory_status
.
Consultez l'exemple de requête suivant:
SELECT
*
FROM
`DATASET.BestSellersProductClusterMonthly_MERCHANT_ID`
WHERE
_PARTITIONDATE = 'DATE' AND
product_inventory_status != 'NOT_IN_INVENTORY'
ORDER BY
rank;
Exemple 3: Récupérez les marques populaires pour une catégorie et un pays donnés
Les requêtes suivantes renvoient la liste des marques populaires pour une catégorie et un pays donnés.
Utiliser le tableau BestSellers_TopBrands
(ancien)
SELECT
rank,
previous_rank,
brand
FROM
`DATASET.BestSellers_TopBrands_MERCHANT_ID`
WHERE
_PARTITIONDATE = 'DATE' AND
ranking_category = 267 /*Smartphones*/ AND
ranking_country = 'US'
ORDER BY
rank;
Utiliser le tableau BestSellersTopBrandsWeekly
ou BestSellersTopBrandsMonthly
(nouveau)
SELECT
rank,
previous_rank,
brand
FROM
`DATASET.BestSellersTopBrandsWeekly_MERCHANT_ID`
WHERE
_PARTITIONDATE = 'DATE' AND
report_category_id = 267 /*Smartphones*/ AND
country_code = 'US'
ORDER BY
rank;
Exemple 4: Récupérer les produits de marques populaires dans votre inventaire
Les requêtes suivantes renvoient la liste des produits de marques populaires dans votre inventaire.
Utiliser le tableau BestSellers_TopBrands
(ancien)
WITH latest_top_brands AS
(
SELECT
*
FROM
`DATASET.BestSellers_TopBrands_MERCHANT_ID`
WHERE
_PARTITIONDATE = 'DATE'
),
latest_products AS
(
SELECT
product.*,
product_category_id
FROM
`DATASET.Products_MERCHANT_ID` AS product,
UNNEST(product.google_product_category_ids) AS product_category_id,
UNNEST(destinations) AS destination,
UNNEST(destination.approved_countries) AS approved_country
WHERE
_PARTITIONDATE = 'DATE'
)
SELECT
top_brands.brand,
(SELECT name FROM top_brands.ranking_category_path
WHERE locale = 'en-US') AS ranking_category,
top_brands.ranking_country,
top_brands.rank,
products.product_id,
products.title
FROM
latest_top_brands AS top_brands
INNER JOIN
latest_products AS products
ON top_brands.google_brand_id = products.google_brand_id AND
top_brands.ranking_category = product_category_id AND
top_brands.ranking_country = products.approved_country;
Utiliser le tableau BestSellersTopBrandsWeekly
ou BestSellersTopBrandsMonthly
(nouveau)
WITH latest_top_brands AS
(
SELECT
*
FROM
`DATASET.BestSellersBrandMonthly_MERCHANT_ID`
WHERE
_PARTITIONDATE = 'DATE'
),
latest_products AS
(
SELECT
product.*,
product_category_id
FROM
`DATASET.Products_MERCHANT_ID` AS product,
UNNEST(product.google_product_category_ids) AS product_category_id,
UNNEST(destinations) AS destination,
UNNEST(destination.approved_countries) AS approved_country
WHERE
_PARTITIONDATE = 'DATE'
)
SELECT
top_brands.brand,
–- The full category name is not supported in the new BestSellersTopBrands tables.
–- (SELECT name FROM top_brands.ranking_category_path
–- WHERE locale = 'en-US') AS ranking_category,
top_brands.category_id,
top_brands.rank,
products.product_id,
products.title
FROM
latest_top_brands AS top_brands
INNER JOIN
latest_products AS products
ON top_brands.brand = products.brand AND
top_brands.category_id = product_category_id AND
top_brands.country_code = products.approved_country;
Dans ces requêtes, remplacez les éléments suivants:
DATASET
: par le nom de votre ensemble de donnéesMERCHANT_ID
: ID du compte marchandDATE
: date au formatYYYY-MM-DD
Étape suivante
- Pour en savoir plus sur le nouveau rapport sur les meilleures ventes, consultez la tableau des meilleures ventes dans Google Merchant Center.