Schéma des tables de produits Google Merchant Center
Présentation
Lorsque vos données de rapports Google Merchant Center sont transférées vers BigQuery, le format des données des produits et des problèmes relatifs aux produits suit essentiellement le format des champs correspondants des ressources Products et Productstatuses de l'API Content.
Les données sont écrites dans une table nommée Products_MERCHANT_ID
si vous utilisez un ID de marchand individuel, ou Products_AGGREGATOR_ID
si vous utilisez un compte MC.
Schéma
Le tableau Products_
présente le schéma suivant :
Colonne | Type de données BigQuery | Description | Exemple de données |
---|---|---|---|
product_data_timestamp |
TIMESTAMP |
Horodatage des données produit | 2023-09-14 11:49:50 UTC |
product_id |
STRING |
ID REST du produit dans l'API Content, sous la forme : channel:content_language:feed_label:offer_id Il s'agit de la clé primaire. |
online:en:AU:666840730 |
merchant_id |
INTEGER |
ID du compte marchand | 1234 |
aggregator_id |
INTEGER |
ID de compte agrégateur pour les multicomptes | 12345 |
offer_id |
STRING |
ID du produit fourni par le marchand. | tddy123uk |
title |
STRING |
Intitulé de l'article | TN2351 USB noir |
description |
STRING |
Description de l'article | Le TN2351 USB noir a redéfini l'impact de XJS sur les expériences LLCD. |
link |
STRING |
URL de la page de destination du produit fournie par le marchand. | https://www.example.com/tn2351-black-usb/6538811?skuId=1234 |
mobile_link |
STRING |
URL d'une version optimisée pour les mobiles de la page de destination fournie par le marchand. | https://www.example.com/tn2351-black-usb/6538811?skuId=1234 |
image_link |
STRING |
URL de l'image principale du produit fournie par le marchand. | https://www.example.com/tn2351-black-usb/6538811?skuId=1234 |
additional_image_links |
STRING , REPEATED |
URL supplémentaires d'images de l'article fournie par le marchand. | |
content_language |
STRING |
Code de langue ISO 639-1 à deux lettres pour l'article | en |
target_country |
STRING |
Obsolète (toujours défini sur "NULL") dans le cadre d'une modification visant à permettre aux produits de cibler plusieurs pays. Utilisez plutôt les champs suivants pour lire l'état de chaque pays ciblé : destinations.approved_countries, destinations.pending_countries, destinations.disapproved_countries. Les problèmes peuvent désormais concerner certains pays cibles et pas les autres, comme indiqué dans le champ issues.applicable_countries. | null |
feed_label |
STRING |
Libellé de flux pour l'article fourni par le marchand, ou - si aucun libellé de flux n'a été fourni par le marchand. |
US |
channel |
STRING |
Canal de l'article (online ou local ) |
local, en ligne |
expiration_date |
TIMESTAMP |
Date et heure auxquelles le marchand a indiqué que l'article devait expirer, comme spécifié lors de l'insertion. Défini sur "null" si aucune valeur n'est fournie. | 2023-10-14 00:00:00 UTC |
google_expiration_date |
TIMESTAMP |
Date et heure d'expiration de l'article dans Google Shopping Jamais défini sur "null". | 2023-10-14 00:00:00 UTC |
adult |
BOOLEAN |
Défini sur "Vrai" si l'article est destiné aux adultes | true, false |
age_group |
STRING |
Tranche d'âge cible de l'article fournie par le marchand. NULL si aucune valeur n'est fournie. | nouveau-né, bébé, tout-petit, enfant, adulte |
availability |
STRING |
État de disponibilité de l'article fourni par le marchand. | en stock | non disponible |
availability_date |
TIMESTAMP |
Date et heure à laquelle un produit en précommande devient disponible pour la livraison, fournies par le marchand. NULL si aucune valeur n'est fournie. | 2023-10-14 00:00:00 UTC |
brand |
STRING |
Marque de l'article fournie par le marchand. NULL si aucune valeur n'est fournie. | Nom de la marque |
google_brand_id |
STRING |
Identifiant de marque Google de l'article. | 12759524623914508053 |
color |
STRING |
Couleur de l'article fournie par le marchand. NULL si aucune valeur n'est fournie. | Argent, Gris, Multi |
condition |
STRING |
Condition ou état de l'article fourni par le marchand. | neuf, d'occasion, reconditionné |
custom_labels |
RECORD |
Étiquettes personnalisées pour regrouper des articles dans les annonces Shopping fournies par le marchand. NULL si aucune valeur n'est fournie. | |
custom_labels.label_0 |
STRING |
Étiquette personnalisée 0 | Mon étiquette personnalisée |
custom_labels.label_1 |
STRING |
Étiquette personnalisée 1 | Mon étiquette personnalisée |
custom_labels.label_2 |
STRING |
Étiquette personnalisée 2 | Mon étiquette personnalisée |
custom_labels.label_3 |
STRING |
Étiquette personnalisée 3 | Mon étiquette personnalisée |
custom_labels.label_4 |
STRING |
Étiquette personnalisée 4 | Mon étiquette personnalisée |
gender |
STRING |
Genre cible de l'article fourni par le marchand. NULL si aucune valeur n'est fournie. | unisexe, homme, femme |
gtin |
STRING |
Global Trade Item Number (GTIN) de l'article fourni par le marchand. NULL si aucune valeur n'est fournie. | 3234567890126 |
item_group_id |
STRING |
Identifiant partagé fourni par le marchand pour toutes les variantes d'un même produit. NULL si aucune valeur n'est fournie. | AB12345 |
material |
STRING |
Matière de l'article fournie par le marchand. NULL si aucune valeur n'est fournie. | Cuir |
mpn |
STRING |
Référence fabricant (MPN, Manufacturer Part Number) de l'article fournie par le marchand. Défini sur NULL si aucune valeur n'est fournie. | GO12345OOGLE |
pattern |
STRING |
Modèle fourni par le marchand. NULL si aucune valeur n'est fournie. | À rayures |
price |
RECORD |
Prix de l'article fourni par le marchand. | |
price.value |
NUMERIC |
Le prix de l'article | 19,99 |
price.currency |
STRING |
Devise du prix | USD |
sale_price |
RECORD |
Prix soldé de l'article fourni par le marchand. | |
sale_price.value |
NUMERIC |
Prix soldé de l'article NULL si aucune valeur n'est fournie. | 19,99 |
sale_price.currency |
STRING |
Devise du prix soldé NULL si aucune valeur n'est fournie. | USD |
sale_price_effective_start_date |
TIMESTAMP |
Date et heure de début de la mise en solde de l'article. | 2023-10-14 00:00:00 UTC |
sale_price_effective_end_date |
TIMESTAMP |
Date et heure de fin de la mise en solde de l'article. | 2023-10-14 00:00:00 UTC |
google_product_category |
INTEGER |
ID de la catégorie de produits Google de l'article NULL si aucune valeur n'est fournie. | 2271 |
google_product_category_ids |
INTEGER, REPEATED |
Chemin d'accès complet des catégories de produits Google de l'article, stocké sous la forme d'un ensemble d'ID NULL si aucune valeur n'est fournie. | |
google_product_category_path |
STRING |
Version lisible du chemin complet Vide si aucune valeur n'est fournie. | Vêtements et accessoires > Vêtements > Robes |
product_type |
STRING |
Catégorie de l'article fournie par le marchand | Accueil > Femmes > Robes > Robes Maxi |
additional_product_types |
STRING , REPEATED |
Catégories supplémentaires de l'article | |
promotion_ids |
STRING , REPEATED |
Liste des ID de promotions associés au produit. | |
destinations |
RECORD , REPEATED |
Destinations prévues pour le produit | |
destinations.name |
STRING |
Nom de la destination. Seul Shopping est accepté. Cela correspond aux méthodes marketing "Annonces Shopping" et "Annonces produits en magasin" dans Merchant Center. |
Shopping |
destinations.status* |
STRING |
Obsolète (toujours défini sur "NULL") dans le cadre d'une modification visant à permettre aux produits de cibler plusieurs pays. Utilisez plutôt les champs suivants pour lire l'état de chaque pays ciblé : destinations.approved_countries, destinations.pending_countries, destinations.disapproved_countries. Les problèmes peuvent désormais concerner certains pays cibles et pas les autres, comme indiqué dans le champ issues.applicable_countries. | NULL |
destinations.approved_countries |
STRING, REPEATED |
Liste des codes des territoires CLDR dans lesquels l'offre est approuvée. | CH, États-Unis |
destinations.pending_countries |
STRING, REPEATED |
Liste des codes des territoires CLDR où l'offre est en attente. | CH, États-Unis |
destinations.disapproved_countries |
STRING, REPEATED |
Liste des codes des territoires CLDR dans lesquels l'offre est refusée. | CH, États-Unis |
issues |
RECORD , REPEATED |
Liste des problèmes associés au produit | |
issues.code |
STRING |
Code d'erreur du problème | image_too_generic |
issues.servability |
STRING |
Indique comment ce problème affecte la diffusion de l'offre | refusée, non affectée |
issues.resolution |
STRING |
Indique si le problème peut être résolu par le marchand | merchant_action, pending_processing |
issues.attribute_name |
STRING |
Si le problème est causé par un attribut unique, nom de cet attribut Valeur nulle dans le cas contraire. | Lien image |
issues.destination |
STRING |
Destination concernée par le problème Toujours défini sur Shopping . |
Shopping |
issues.short_description |
STRING |
Description courte du problème en anglais | Image générique |
issues.detailed_description |
STRING |
Description détaillée du problème en anglais | Fournissez une image qui illustre le produit |
issues.documentation |
STRING |
URL d'une page Web d'aide pour résoudre ce problème | https://support.google.com/merchants/answer/6098288 |
issues.applicable_countries |
STRING, REPEATED |
Liste des codes des territoires CLDR auxquels le problème s'applique. | CH |
Exemples de requêtes
Cette section présente des exemples de requêtes.
Statistiques sur les produits et les problèmes de produits
L'exemple de requête SQL suivant fournit le nombre de produits, de produits présentant des problèmes et de problèmes par jour.
SELECT _PARTITIONDATE AS date, COUNT(*) AS num_products, COUNTIF(ARRAY_LENGTH(issues) > 0) AS num_products_with_issues, SUM(ARRAY_LENGTH(issues)) AS num_issues FROM dataset.Products_merchant_id WHERE _PARTITIONDATE >= 'YYYY-MM-DD' GROUP BY date ORDER BY date DESC
Produits refusés pour les annonces Shopping
L'exemple de requête SQL suivant fournit le nombre de produits dont l'affichage n'est pas approuvé dans les annonces Shopping pour chaque pays. Le refus de ces produits peut résulter de l'exclusion de la destination ou d'un problème lié au produit.
SELECT _PARTITIONDATE AS date, disapproved_country, COUNT(*) AS num_products FROM dataset.Products_merchant_id, UNNEST(destinations) AS destination, UNNEST(disapproved_countries) AS disapproved_country WHERE _PARTITIONDATE >= 'YYYY-MM-DD' GROUP BY date, disapproved_country ORDER BY date DESC
Produits présentant des problèmes de refus
L'exemple de requête SQL suivant récupère le nombre de produits présentant des problèmes de refus pour chaque pays.
SELECT _PARTITIONDATE AS date, applicable_country, COUNT(DISTINCT CONCAT(CAST(merchant_id AS STRING), ':', product_id)) AS num_distinct_products FROM dataset.Products_merchant_id, UNNEST(issues) AS issue, UNNEST(issue.applicable_countries) as applicable_country WHERE _PARTITIONDATE >= 'YYYY-MM-DD' AND issue.servability = 'disapproved' GROUP BY date, applicable_country ORDER BY date DESC