Esquema de la tabla de productos de Google Merchant Center
Descripción general
Cuando tus datos de informes de Google Merchant Center se transfieren a BigQuery, el formato de los datos de productos y problemas de productos corresponde, en su mayoría, al formato de los campos relevantes de los recursos de Products y Productstatuses de la Content API.
Los datos se escriben en una tabla llamada Products_MERCHANT_ID
si estás usando un ID de Merchant Center individual, o Products_AGGREGATOR_ID
si estás usando una cuenta MCA.
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 |
El ID de REST de Content API del producto en el formato: channel:content_language:feed_label:offer_id . Esta es la clave primaria. |
online:en:AU:666840730 |
merchant_id |
INTEGER |
ID de cuenta de Merchant | 1234 |
aggregator_id |
INTEGER |
ID de cuenta de agregador para cuentas de varios clientes | 12345 |
offer_id |
STRING |
El comercio proporcionó el ID del producto. | tddy123uk |
title |
STRING |
Título del artículo | TN2351 USB negro |
description |
STRING |
Descripción del artículo | El TN2351 USB negro redefinió la forma en que XJS puede afectar las experiencias de LLCD. |
link |
STRING |
El comercio proporcionó la URL de la página de destino del producto. | https://www.example.com/tn2351-black-usb/6538811?skuId=1234 |
mobile_link |
STRING |
El comercio proporcionó la URL de una versión optimizada para dispositivos móviles de la página de destino. | https://www.example.com/tn2351-black-usb/6538811?skuId=1234 |
image_link |
STRING |
El comercio proporcionó la URL de la imagen principal del producto. | https://www.example.com/tn2351-black-usb/6538811?skuId=1234 |
additional_image_links |
STRING , REPEATED |
El comercio proporcionó URLs adicionales de imágenes del artículo. | |
content_language |
STRING |
El código de lenguaje ISO 639-1 de dos letras del artículo. | en |
target_country |
STRING |
Se dio de baja (siempre se establece como NULL) como parte de un cambio para permitir que los productos se segmenten a varios países. En su lugar, usa los siguientes campos para leer el estado de cada país de destino: destinations.approved_countries, destinations.pending_countries y destinations.disapproved_countries. Los problemas ahora se pueden aplicar a determinados países objetivo y no a otros, como se indica en el campo issues.applicable_countries. | null |
feed_label |
STRING |
El comercio proporcionó la etiqueta del feed para el artículo, o - si no se proporcionó. |
EE.UU. |
channel |
STRING |
El canal del elemento, ya sea online o local . |
local, en línea |
expiration_date |
TIMESTAMP |
El comercio proporcionó la fecha y hora en la que el artículo debe caducar, como se especifica cuando se inserta. Configúralo como nulo si no se proporciona. | 2023-10-14 00:00:00 UTC |
google_expiration_date |
TIMESTAMP |
Fecha y hora en la que el artículo caduca en Google Shopping. Nunca se establece como nulo. | 2023-10-14 00:00:00 UTC |
adult |
BOOLEAN |
Se configura como verdadero si el artículo está dirigido a adultos. | true, false |
age_group |
STRING |
El comercio proporcionó el grupo de edad objetivo del artículo. Es NULL si no se proporciona. | newborn, infant, toddler, kids, adult |
availability |
STRING |
El comercio proporcionó el estado de disponibilidad del artículo. | en stock, agotado |
availability_date |
TIMESTAMP |
El comercio proporcionó la fecha y la hora en la que un producto pedido por adelantado está disponible para su entrega. Es NULL si no se proporciona. | 2023-10-14 00:00:00 UTC |
brand |
STRING |
El comercio proporcionó la marca del artículo. Es NULL si no se proporciona. | Nombre de la marca |
google_brand_id |
STRING |
Es el ID de marca de Google del artículo. | 12759524623914508053 |
color |
STRING |
El comercio proporcionó el color del artículo. Es NULL si no se proporciona. | Plata, gris y varios |
condition |
STRING |
El comercio proporcionó la Condición o el estado del artículo. | nuevos, usados y reacondicionados |
custom_labels |
RECORD |
El comercio proporcionó etiquetas personalizadas para la agrupación personalizada de artículos en los anuncios de Shopping. Es 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 comercio proporcionó el género objetivo del artículo. Es NULL si no se proporciona. | unisex, hombre, mujer |
gtin |
STRING |
El comercio proporcionó el código comercial global de artículo (GTIN) del artículo. Es NULL si no se proporciona. | 3234567890126 |
item_group_id |
STRING |
El comercio proporcionó el identificador compartido para todas las variantes del mismo producto. Es NULL si no se proporciona. | AB12345 |
material |
STRING |
El comercio proporcionó el material del que está hecho el artículo. Es NULL si no se proporciona. | Cuero |
mpn |
STRING |
El comercio proporcionó el número de pieza del fabricante (MPN) del artículo. Se establece en NULL si no se proporciona. | GO12345OOGLE |
pattern |
STRING |
El comercio proporcionó el patrón. Es NULL si no se proporciona. | A rayas |
price |
RECORD |
El comercio proporcionó el precio del artículo. | |
price.value |
NUMERIC |
El precio del artículo. | 19.99 |
price.currency |
STRING |
La moneda del precio. | USD |
sale_price |
RECORD |
El comercio proporcionó el precio de oferta del artículo. | |
sale_price.value |
NUMERIC |
El precio de oferta del artículo. Es NULL si no se proporciona. | 19.99 |
sale_price.currency |
STRING |
La moneda del precio de oferta. Es NULL si no se proporciona. | USD |
sale_price_effective_start_date |
TIMESTAMP |
Fecha y hora de inicio cuando el artículo está en oferta. | 2023-10-14 00:00:00 UTC |
sale_price_effective_end_date |
TIMESTAMP |
Fecha y hora de finalización cuando el artículo está en oferta. | 2023-10-14 00:00:00 UTC |
google_product_category |
INTEGER |
El ID de la categoría de producto de Google del artículo. Es NULL si no se proporciona. | 2271 |
google_product_category_ids |
INTEGER, REPEATED |
La ruta completa de categorías de productos de Google al artículo, almacenada como un conjunto de IDs. Es NULL si no se proporciona. | |
google_product_category_path |
STRING |
Una versión legible por humanos de la ruta completa. Se muestra vacío si no se proporciona. | Ropa y accesorios > Prendas de vestir > Vestidos |
product_type |
STRING |
Categoría del artículo que proporcionó el comercio | Hogar > Mujer > Vestidos > Maxivestidos |
additional_product_types |
STRING , REPEATED |
Categorías adicionales del artículo. | |
promotion_ids |
STRING , REPEATED |
Es la lista de IDs de promoción asociados con el producto. | |
destinations |
RECORD , REPEATED |
Los destinos objetivos para el producto. | |
destinations.name |
STRING |
Es el nombre del destino. Solo se admite Shopping . Esto corresponde a los métodos de marketing "Anuncios de Shopping" y "Anuncios del inventario local" en Merchant Center. |
Shopping |
destinations.status* |
STRING |
Se dio de baja (siempre se establece como NULL) como parte de un cambio para permitir que los productos se segmenten a varios países. En su lugar, usa los siguientes campos para leer el estado de cada país de destino: destinations.approved_countries, destinations.pending_countries y destinations.disapproved_countries. Los problemas ahora se pueden aplicar a determinados países objetivo y no a otros, como se indica en el campo issues.applicable_countries. | NULL |
destinations.approved_countries |
STRING, REPEATED |
Lista de códigos de territorio de CLDR en los que se aprueba la oferta. | EE.UU. y Suiza |
destinations.pending_countries |
STRING, REPEATED |
Lista de códigos de territorio de CLDR en los que está pendiente la oferta. | EE.UU. y Suiza |
destinations.disapproved_countries |
STRING, REPEATED |
Lista de códigos de territorio de CLDR en los que se rechazó la oferta. | EE.UU. y Suiza |
issues |
RECORD , REPEATED |
La lista de problemas a nivel artículo asociados con el producto. | |
issues.code |
STRING |
El código de error del problema. | image_too_generic |
issues.servability |
STRING |
Cómo afecta este problema a la publicación de la oferta, | rechazada, sin cambios |
issues.resolution |
STRING |
Si el comercio puede resolver el problema. | merchant_action, pending_processing |
issues.attribute_name |
STRING |
El nombre del atributo, si el problema se debe a un solo atributo. De lo contrario, es NULL. | vínculo de imagen |
issues.destination |
STRING |
El destino al que se aplica el problema. Siempre se establece en Shopping . |
Shopping |
issues.short_description |
STRING |
Descripción breve 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 ayudar a resolver este problema | https://support.google.com/merchants/answer/6098288 |
issues.applicable_countries |
STRING, REPEATED |
Lista de códigos de territorio de CLDR en los que se aplica el problema. | CH |
Ejemplos de consultas
Estadísticas de los productos y sus problemas
La siguiente consulta de muestra en SQL proporciona la cantidad de productos, productos con problemas y 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 de muestra en SQL proporciona la cantidad de productos que no están aprobados para mostrarse en los anuncios de Shopping, separados por país. El rechazo puede ser el resultado de que el destino se excluye o debido 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 muestra en SQL recupera la cantidad 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