Esquema de la tabla de productos de Google Merchant Center
Información general
Cuando los datos de informes de Google Merchant Center se transfieren a BigQuery, el formato de los datos de productos y de problemas de productos se corresponde principalmente con el formato de los campos pertinentes de los recursos Products y Productstatuses de la Content API.
Los datos se escriben en una tabla llamada
Products_MERCHANT_ID
si utiliza un ID de comerciante individual
o Products_AGGREGATOR_ID
si utiliza una cuenta de administrador de varios clientes.
Esquema
La tabla Products_
tiene el siguiente esquema:
Columna | Tipo de datos de BigQuery | Descripción | Datos de ejemplo |
---|---|---|---|
product_data_timestamp |
TIMESTAMP |
Marca de tiempo de los datos del producto. | 2023-09-14 11:49:50 UTC |
product_id |
STRING |
ID REST del producto en la API Content, con el siguiente formato:
channel:content_language:feed_label:offer_id . Esta es la clave principal. |
online:en:AU:666840730 |
merchant_id |
INTEGER |
ID de cuenta de comerciante. | 1234 |
aggregator_id |
INTEGER |
ID de cuenta de agregador de las cuentas multicliente. | 12345 |
offer_id |
STRING |
ID del producto proporcionado por el comerciante. | tddy123uk |
title |
STRING |
Título del artículo. | TN2351 negro USB |
description |
STRING |
Descripción del artículo. | El USB negro TN2351 ha redefinido cómo puede influir XJS en las experiencias de LLCD. |
link |
STRING |
URL de la página de destino del producto proporcionada por el comerciante. | https://www.example.com/tn2351-black-usb/6538811?skuId=1234 |
mobile_link |
STRING |
URL de la versión optimizada para móviles de la página de destino proporcionada por el comerciante. | https://www.example.com/tn2351-black-usb/6538811?skuId=1234 |
image_link |
STRING |
El comerciante ha proporcionado la URL de la imagen principal del producto. | https://www.example.com/tn2351-black-usb/6538811?skuId=1234 |
additional_image_links |
STRING , REPEATED |
El comerciante ha proporcionado URLs adicionales de imágenes del artículo. | |
content_language |
STRING |
Código de idioma ISO 639-1 de dos letras del elemento. | es |
target_country |
STRING |
Obsoleto (siempre se asigna el valor NULL) como parte de un cambio para permitir que los productos se orienten a varios países. En su lugar, utilice los siguientes campos para consultar el estado de cada país de destino: destinations.approved_countries, destinations.pending_countries y destinations.disapproved_countries. Ahora los problemas pueden afectar a unos países de destino concretos y a otros no, tal como se indica en el campo issues.applicable_countries. | null |
feed_label |
STRING |
El comerciante ha proporcionado la etiqueta del feed del artículo o - si no la ha proporcionado. |
US |
channel |
STRING |
El canal del elemento, ya sea online o local . |
local y online |
expiration_date |
TIMESTAMP |
Fecha y hora proporcionadas por el comerciante en las que debe caducar el artículo, tal como se especificó al insertarlo. Se define como nulo si no se proporciona. | 2023-10-14 00:00:00 UTC |
google_expiration_date |
TIMESTAMP |
Fecha y hora en las que caduca el artículo en Google Shopping. Nunca se establece en null. | 2023-10-14 00:00:00 UTC |
adult |
BOOLEAN |
Se debe definir como true si el artículo está dirigido a adultos. | true, false |
age_group |
STRING |
Edad objetivo del artículo proporcionada por el comerciante. NULL si no se proporciona. | newborn [recién_nacido], infant [3-12_meses], toddler [1-3_años], kids [niños] o adult [adultos] |
availability |
STRING |
Estado de disponibilidad del artículo proporcionado por el comerciante. | en stock, agotado |
availability_date |
TIMESTAMP |
Fecha y hora que proporciona el comerciante en que un producto reservado pasa a estar disponible para su envío. NULL si no se proporciona. | 2023-10-14 00:00:00 UTC |
brand |
STRING |
Marca del artículo proporcionada por el comerciante. NULL si no se proporciona. | Nombre de la marca |
google_brand_id |
STRING |
ID de marca de Google del artículo. | 12759524623914508053 |
color |
STRING |
El comerciante ha proporcionado el color del artículo. NULL si no se proporciona. | Plateado, Gris, Multicolor |
condition |
STRING |
El comerciante ha indicado el estado del artículo. | nuevos, usados o reacondicionados |
custom_labels |
RECORD |
El comerciante ha proporcionado etiquetas personalizadas para agrupar artículos de forma personalizada en anuncios de shopping. NULL si no se proporciona. | |
custom_labels.label_0 |
STRING |
Etiqueta personalizada 0. | mi etiqueta personalizada |
custom_labels.label_1 |
STRING |
Etiqueta personalizada 1. | mi etiqueta personalizada |
custom_labels.label_2 |
STRING |
Etiqueta personalizada 2. | mi etiqueta personalizada |
custom_labels.label_3 |
STRING |
Etiqueta personalizada 3. | mi etiqueta personalizada |
custom_labels.label_4 |
STRING |
Etiqueta personalizada 4. | mi etiqueta personalizada |
gender |
STRING |
El sexo objetivo del producto proporcionado por el comerciante. NULL si no se proporciona. | unisex, hombre, mujer |
gtin |
STRING |
El número global de artículo comercial (GTIN) del producto proporcionado por el comerciante. NULL si no se proporciona. | 3234567890126 |
item_group_id |
STRING |
Identificador compartido proporcionado por el comerciante para todas las variantes del mismo producto. NULL si no se proporciona. | AB12345 |
material |
STRING |
Material proporcionado por el comerciante del que está hecho el artículo. NULL si no se proporciona. | Cuero |
mpn |
STRING |
El comerciante ha proporcionado el número de pieza del fabricante (MPN) del artículo. Se asigna el valor NULL si no se proporciona. | GO12345OOGLE |
pattern |
STRING |
Patrón proporcionado por el comerciante. NULL si no se proporciona. | Rayas |
price |
RECORD |
Precio del artículo proporcionado por el comerciante. | |
price.value |
NUMERIC |
Precio del artículo. | 19,99 € |
price.currency |
STRING |
Es la moneda del precio. | USD |
sale_price |
RECORD |
Precio de oferta del artículo proporcionado por el comerciante. | |
sale_price.value |
NUMERIC |
Precio de oferta del artículo. NULL si no se proporciona. | 19,99 € |
sale_price.currency |
STRING |
Es la moneda del precio de venta. NULL si no se proporciona. | USD |
sale_price_effective_start_date |
TIMESTAMP |
Fecha y hora de inicio de la oferta del artículo. | 2023-10-14 00:00:00 UTC |
sale_price_effective_end_date |
TIMESTAMP |
Fecha y hora de finalización de la oferta del artículo. | 2023-10-14 00:00:00 UTC |
google_product_category |
INTEGER |
El ID de la categoría de producto de Google del artículo. NULL si no se proporciona. | 2271 |
google_product_category_ids |
INTEGER, REPEATED |
Ruta completa de las categorías de producto de Google del artículo, almacenada como un conjunto de IDs. NULL si no se proporciona. | |
google_product_category_path |
STRING |
Una versión legible por humanos de la ruta completa. Está vacío si no se proporciona. | Ropa y accesorios > Prendas de vestir > Vestidos |
product_type |
STRING |
Categoría del artículo proporcionada por el comerciante. | Hogar > Mujer > Vestidos > Vestidos largos |
additional_product_types |
STRING , REPEATED |
Categorías adicionales del artículo. | |
promotion_ids |
STRING , REPEATED |
Lista de IDs de promoción asociados al producto. | |
destinations |
RECORD , REPEATED |
Los destinos previstos del producto. | |
destinations.name |
STRING |
El nombre del destino. Solo se admite Shopping . Esto se corresponde con los valores "Anuncios de shopping" y "Anuncios de inventario local" de Métodos de marketing en Merchant Center. |
Compras |
destinations.status* |
STRING |
Obsoleto (siempre se asigna el valor NULL) como parte de un cambio para permitir que los productos se orienten a varios países. En su lugar, utilice los siguientes campos para consultar el estado de cada país de destino: destinations.approved_countries, destinations.pending_countries y destinations.disapproved_countries. Ahora los problemas pueden afectar a unos países de destino concretos y a otros no, tal como se indica en el campo issues.applicable_countries. | NULL |
destinations.approved_countries |
STRING, REPEATED |
Lista de códigos de territorio CLDR en los que se ha aprobado la oferta. | CH y US |
destinations.pending_countries |
STRING, REPEATED |
Lista de códigos de territorio CLDR en los que la oferta está pendiente. | CH y US |
destinations.disapproved_countries |
STRING, REPEATED |
Lista de códigos de territorio CLDR en los que se ha rechazado la oferta. | CH y US |
issues |
RECORD , REPEATED |
Lista de problemas a nivel de artículo asociados al producto. | |
issues.code |
STRING |
El código de error del problema. | image_too_generic |
issues.servability |
STRING |
Cómo afecta este problema al servicio de la oferta. | Rechazada, sin cambios |
issues.resolution |
STRING |
Si el problema puede resolverlo el comerciante. | merchant_action, pending_processing |
issues.attribute_name |
STRING |
El nombre del atributo, si el problema se debe a un solo atributo. De lo contrario, será NULL. | enlace de imagen |
issues.destination |
STRING |
El destino al que se aplica el problema. Siempre debe tener el valor Shopping . |
Compras |
issues.short_description |
STRING |
Breve descripción del problema en inglés. | Imagen genérica |
issues.detailed_description |
STRING |
Descripción detallada del problema en inglés. | Usa una imagen que muestre el producto |
issues.documentation |
STRING |
URL de una página web para ayudarte a resolver este problema. | https://support.google.com/merchants/answer/6098288 |
issues.applicable_countries |
STRING, REPEATED |
Lista de códigos de territorio CLDR en los que se aplica el problema. | CH |
Ejemplos de consultas
Estadísticas de productos y problemas relacionados con ellos
La siguiente consulta de ejemplo de SQL proporciona el número de productos, los productos con problemas y los problemas por día.
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
Productos rechazados para anuncios de shopping
La siguiente consulta SQL de ejemplo proporciona el número de productos que no se han aprobado para mostrarse en anuncios de shopping, separados por país. El rechazo puede deberse a que el destino esté excluido o a un problema con el producto.
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
Productos con problemas rechazados
La siguiente consulta de ejemplo de SQL obtiene el número de productos con problemas rechazados, separados por país.
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