Esquema da tabela de produtos do Google Merchant Center

Vista geral

Quando os dados de relatórios do Google Merchant Center são transferidos para o BigQuery, o formato dos dados de produtos e problemas com produtos corresponde principalmente ao formato dos campos relevantes dos recursos Products e Productstatuses da API Content.

Os dados são escritos numa tabela denominada Products_MERCHANT_ID se estiver a usar um ID do comerciante individual ou Products_AGGREGATOR_ID se estiver a usar uma conta do MCA.

estar disponível para exportação.

Esquema

A tabela Products_ tem o seguinte esquema:

Coluna Tipo de dados do BigQuery Descrição Exemplo de dados
product_data_timestamp TIMESTAMP Indicação de tempo dos dados dos produtos. 2023-09-14 11:49:50 UTC
product_id STRING ID REST da API Content do produto no formato: channel:content_language:feed_label:offer_id. Esta é a chave principal. online:en:AU:666840730
merchant_id INTEGER ID da conta de comerciante. 1234
aggregator_id INTEGER ID da conta de agregador para contas multicliente. 12345
offer_id STRING ID do produto fornecido pelo comerciante. tddy123uk
title STRING Título do artigo. TN2351 preto USB
description STRING Descrição do artigo. O USB preto TN2351 redefiniu a forma como o XJS pode afetar as experiências de LLCD.
link STRING URL da página de destino do produto fornecido pelo comerciante. https://www.example.com/tn2351-black-usb/6538811?skuId=1234
mobile_link STRING URL de uma versão otimizada para dispositivos móveis da página de destino fornecido pelo comerciante. https://www.example.com/tn2351-black-usb/6538811?skuId=1234
image_link STRING URL da imagem principal do produto fornecido pelo comerciante. https://www.example.com/tn2351-black-usb/6538811?skuId=1234
additional_image_links STRING, REPEATED URLs adicionais de imagens do artigo fornecidos pelo comerciante.
content_language STRING O código de idioma ISO 639-1 de duas letras do artigo. pt-PT
target_country STRING Obsoleto (sempre definido como NULL) como parte de uma alteração para permitir que os produtos segmentem vários países. Em alternativa, use os seguintes campos para ler o estado de cada país segmentado: destinations.approved_countries, destinations.pending_countries e destinations.disapproved_countries. Os problemas podem agora aplicar-se a determinados países de destino e não a outros, conforme indicado no campo issues.applicable_countries. nulo
feed_label STRING A etiqueta do feed foi fornecida pelo comerciante para o item ou -, se não tiver sido fornecida. EUA
channel STRING O canal do item, online ou local. local, online
expiration_date TIMESTAMP Data e hora fornecidas pelo comerciante em que o item deve expirar, conforme especificado na inserção. É definido como nulo se não for fornecido. 2023-10-14 00:00:00 UTC
google_expiration_date TIMESTAMP Data e hora em que o artigo expira no Google Shopping. Nunca definido como nulo. 2023-10-14 00:00:00 UTC
adult BOOLEAN Definido como verdadeiro se o item for destinado a adultos. true, false
age_group STRING Faixa etária de segmentação do artigo indicada pelo comerciante. NULL se não for fornecido. recém-nascido, bebé, criança pequena, criança, adulto
availability STRING Estado de disponibilidade do artigo fornecido pelo comerciante. Em stock, esgotado
availability_date TIMESTAMP Data e hora fornecidas pelo comerciante em que um produto pré-encomendado fica disponível para entrega. NULL se não for fornecido. 2023-10-14 00:00:00 UTC
brand STRING Marca do artigo fornecida pelo comerciante. NULL se não for fornecido. Nome da marca
google_brand_id STRING ID da marca Google do artigo. 12759524623914508053
color STRING Cor do artigo fornecida pelo comerciante. NULL se não for fornecido. Prata, cinzento, multicolor
condition STRING Condição ou estado do artigo fornecido pelo comerciante. novos, usados e recondicionados
custom_labels RECORD Etiquetas personalizadas fornecidas pelo comerciante para o agrupamento personalizado de artigos em anúncios do Shopping. NULL se não for fornecido.
custom_labels.label_0 STRING Etiqueta personalizada 0. a minha etiqueta personalizada
custom_labels.label_1 STRING Etiqueta personalizada 1. a minha etiqueta personalizada
custom_labels.label_2 STRING Etiqueta personalizada 2. a minha etiqueta personalizada
custom_labels.label_3 STRING Etiqueta personalizada 3. a minha etiqueta personalizada
custom_labels.label_4 STRING Etiqueta personalizada 4. a minha etiqueta personalizada
gender STRING Género do artigo segmentado fornecido pelo comerciante. NULL se não for fornecido. unissexo, masculino, feminino
gtin STRING Número global de artigo comercial (GTIN) do artigo fornecido pelo comerciante. NULL se não for fornecido. 3234567890126
item_group_id STRING Identificador partilhado fornecido pelo comerciante para todas as variantes do mesmo produto. NULL se não for fornecido. AB12345
material STRING Material do qual o artigo é feito, fornecido pelo comerciante. NULL se não for fornecido. Couro
mpn STRING Número de série do fabricante (NSF) do artigo fornecido pelo comerciante. Definido como NULL se não for fornecido. GO12345OOGLE
pattern STRING Padrão fornecido pelo comerciante. NULL se não for fornecido. Com riscas
price RECORD Preço do artigo fornecido pelo comerciante.
price.value NUMERIC O preço do artigo. 19,99
price.currency STRING A moeda do preço. USD
sale_price RECORD Preço de saldos do artigo fornecido pelo comerciante.
sale_price.value NUMERIC O preço de saldo do artigo. NULL se não for fornecido. 19,99
sale_price.currency STRING A moeda do preço de venda. NULL se não for fornecido. USD
sale_price_effective_start_date TIMESTAMP Data e hora de início do período de saldos do artigo. 2023-10-14 00:00:00 UTC
sale_price_effective_end_date TIMESTAMP Data e hora de fim do período de saldos do artigo. 2023-10-14 00:00:00 UTC
google_product_category INTEGER O ID da categoria de produtos Google do artigo. NULL se não for fornecido. 2271
google_product_category_ids INTEGER, REPEATED O caminho completo das categorias de produtos Google para o artigo, armazenado como um conjunto de IDs. NULL se não for fornecido.
google_product_category_path STRING Uma versão legível por humanos do caminho completo. Vazio se não for fornecido. Vestuário e acessórios > Roupa > Vestidos
product_type STRING Categoria do artigo fornecida pelo comerciante. Início > Mulher > Vestidos > Vestidos maxi
additional_product_types STRING, REPEATED Categorias adicionais do artigo.
promotion_ids STRING, REPEATED A lista de IDs das promoções associadas ao produto.
destinations RECORD, REPEATED Os destinos pretendidos para o produto.
destinations.name STRING O nome do destino; apenas Shopping é suportado. Isto corresponde aos Métodos de marketing "Anúncios do Shopping" e "Anúncios de inventário local" no Merchant Center. Compras
destinations.status* STRING Obsoleto (sempre definido como NULL) como parte de uma alteração para permitir que os produtos segmentem vários países. Em alternativa, use os seguintes campos para ler o estado de cada país segmentado: destinations.approved_countries, destinations.pending_countries e destinations.disapproved_countries. Os problemas podem agora aplicar-se a determinados países de destino e não a outros, conforme indicado no campo issues.applicable_countries. NULL
destinations.approved_countries STRING, REPEATED Lista de códigos de território CLDR onde a oferta está aprovada. US, CH
destinations.pending_countries STRING, REPEATED Lista de códigos de território CLDR onde a oferta está pendente. US, CH
destinations.disapproved_countries STRING, REPEATED Lista de códigos de território CLDR onde a oferta é reprovada. US, CH
issues RECORD, REPEATED A lista de problemas ao nível do artigo associados ao produto.
issues.code STRING O código de erro do problema. image_too_generic
issues.servability STRING Como este problema afeta a publicação da oferta. reprovado, não afetado
issues.resolution STRING Se o problema pode ser resolvido pelo comerciante. merchant_action, pending_processing
issues.attribute_name STRING O nome do atributo, se o problema for causado por um único atributo. Caso contrário, é NULL. link da imagem
issues.destination STRING O destino ao qual o problema se aplica. Está sempre definido como Shopping. Compras
issues.short_description STRING Breve descrição do problema em inglês. Imagem genérica
issues.detailed_description STRING Descrição detalhada do problema em inglês. Use uma imagem que mostre o produto
issues.documentation STRING URL de uma página Web para ajudar a resolver este problema. https://support.google.com/merchants/answer/6098288
issues.applicable_countries STRING, REPEATED Lista de códigos de território CLDR onde o problema se aplica. CH

Exemplos de consultas

Estatísticas de produtos e problemas de produtos

A seguinte consulta de exemplo SQL fornece o número de produtos, produtos com problemas e problemas por dia.

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

Produtos reprovados para anúncios do Shopping

A seguinte consulta de exemplo SQL indica o número de produtos que não estão aprovados para apresentação em anúncios do Shopping, separados por país. A reprovação pode resultar da exclusão do destino ou de um problema com o produto.

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

Produtos com problemas de reprovação

A seguinte consulta de exemplo SQL obtém o número de produtos com problemas reprovados, 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