Google Merchant Center 產品資料表結構定義
總覽
當你將 Google Merchant Center 報表資料移轉至 BigQuery 時,產品與產品問題資料的格式主要可對應至 Content API 中 Products 和 Productstatuses 資源的相關欄位格式。
如果您使用的是個別商家 ID,資料會寫入名為 Products_MERCHANT_ID
的資料表;如果您使用的是 MCA 帳戶,資料會寫入名為 Products_AGGREGATOR_ID
的資料表。
結構定義
Products_
資料表具有下列結構定義:
欄 | BigQuery 資料類型 | 說明 | 資料範例 |
---|---|---|---|
product_data_timestamp |
TIMESTAMP |
產品資料的時間戳記。 | 2023-09-14 11:49:50 (世界標準時間) |
product_id |
STRING |
產品的 Content API REST ID,格式為:channel:content_language:feed_label:offer_id 。這是主鍵。 |
online:en:AU:666840730 |
merchant_id |
INTEGER |
商家帳戶 ID。 | 1234 |
aggregator_id |
INTEGER |
多重客戶帳戶的 Aggregator 帳戶 ID。 | 12345 |
offer_id |
STRING |
商家提供的產品 ID。 | tddy123uk |
title |
STRING |
項目名稱。 | TN2351 黑色 USB |
description |
STRING |
商品的說明。 | TN2351 黑色 USB 重新定義了 XJS 對 LLCD 體驗的影響。 |
link |
STRING |
商家提供的產品到達網頁網址。 | https://www.example.com/tn2351-black-usb/6538811?skuId=1234 |
mobile_link |
STRING |
商家提供的到達網頁行動最佳化版本網址。 | https://www.example.com/tn2351-black-usb/6538811?skuId=1234 |
image_link |
STRING |
商家提供主要產品圖片的網址。 | https://www.example.com/tn2351-black-usb/6538811?skuId=1234 |
additional_image_links |
STRING 、REPEATED |
商家提供商品圖片的其他網址。 | |
content_language |
STRING |
商品的雙字母格式 ISO 639-1 語言編碼。 | en |
target_country |
STRING |
已淘汰 (一律設為空值),這是為了讓產品指定多個國家/地區而做出的調整。如要讀取每個指定國家/地區的狀態,請使用下列欄位:destinations.approved_countries、destinations.pending_countries、destinations.disapproved_countries。問題現在可套用至特定的指定國家/地區,其他國家/地區則不適用,如 issues.applicable_countries 欄位所示。 | null |
feed_label |
STRING |
商家為商品提供動態饋給標籤,如果沒有提供,則為 - 。 |
美國 |
channel |
STRING |
項目的通路,可為 online 或 local 。 |
本地、線上 |
expiration_date |
TIMESTAMP |
商家提供商品到期日 (於插播時指定)。如果未提供,則設為空值。 | 2023-10-14 00:00:00 (世界標準時間) |
google_expiration_date |
TIMESTAMP |
Google 購物中商品到期的日期和時間。絕對不要設為空值。 | 2023-10-14 00:00:00 (世界標準時間) |
adult |
BOOLEAN |
如果是成人面向的商品,則設為 true。 | true/false |
age_group |
STRING |
商家提供的商品目標年齡層。如果未提供,則為 NULL。 | 新生兒、嬰兒、幼兒、兒童、成人 |
availability |
STRING |
商家提供的商品供應情形狀態。 | 有現貨、缺貨 |
availability_date |
TIMESTAMP |
商家提供預購產品可出貨的日期和時間。如果未提供,則為 NULL。 | 2023-10-14 00:00:00 (世界標準時間) |
brand |
STRING |
商家提供的商品品牌。如果未提供,則為 NULL。 | 品牌名稱 |
google_brand_id |
STRING |
商品的 Google 品牌 ID。 | 12759524623914508053 |
color |
STRING |
商家提供的商品顏色。如果未提供,則為 NULL。 | 銀色、灰色、多色 |
condition |
STRING |
商家提供的商品狀況或狀態。 | 全新、二手、整新 |
custom_labels |
RECORD |
商家提供自訂標籤,用於在購物廣告中自訂商品分組。如果未提供,則為 NULL。 | |
custom_labels.label_0 |
STRING |
自訂標籤 0。 | 我的自訂標籤 |
custom_labels.label_1 |
STRING |
自訂標籤 1。 | 我的自訂標籤 |
custom_labels.label_2 |
STRING |
自訂標籤 2。 | 我的自訂標籤 |
custom_labels.label_3 |
STRING |
自訂標籤 3。 | 我的自訂標籤 |
custom_labels.label_4 |
STRING |
自訂標籤 4。 | 我的自訂標籤 |
gender |
STRING |
商家提供的商品目標性別。如果未提供,則為 NULL。 | 男女通用、男性、女性 |
gtin |
STRING |
商家提供商品的全球交易品項識別碼 (GTIN)。如未提供,則為 NULL。 | 3234567890126 |
item_group_id |
STRING |
商家為同一產品的所有子類提供共用 ID。如果未提供,則為 NULL。 | AB12345 |
material |
STRING |
商家提供的材質,用於製作商品。如果未提供,則為 NULL。 | 皮革 |
mpn |
STRING |
商家提供商品的製造商零件編號 (MPN)。如果未提供,則設為 NULL。 | GO12345OOGLE |
pattern |
STRING |
商家提供的模式。如果未提供,則為 NULL。 | 條紋 |
price |
RECORD |
商家提供的商品價格。 | |
price.value |
NUMERIC |
商品價格。 | 19.99 |
price.currency |
STRING |
價格的幣別。 | 美元 |
sale_price |
RECORD |
商家提供的商品特價。 | |
sale_price.value |
NUMERIC |
商品的特價。如果未提供,則為 NULL。 | 19.99 |
sale_price.currency |
STRING |
特價的幣別。如果未提供,則為 NULL。 | 美元 |
sale_price_effective_start_date |
TIMESTAMP |
商品特價的開始日期和時間。 | 2023-10-14 00:00:00 (世界標準時間) |
sale_price_effective_end_date |
TIMESTAMP |
商品特價的結束日期和時間。 | 2023-10-14 00:00:00 (世界標準時間) |
google_product_category |
INTEGER |
商品的 Google 產品類別 ID。如果未提供,則為 NULL。 | 2271 |
google_product_category_ids |
INTEGER, REPEATED |
Google 產品類別的完整路徑,以一組 ID 儲存。如果未提供,則為 NULL。 | |
google_product_category_path |
STRING |
使用者可讀取的完整路徑。如未提供,則為空白。 | 服飾與配件 > 服飾 > 洋裝 |
product_type |
STRING |
商家提供的商品類別。 | 居家 > 女裝 > 洋裝 > 及踝洋裝 |
additional_product_types |
STRING 、REPEATED |
商品的其他類別。 | |
promotion_ids |
STRING 、REPEATED |
與產品相關聯的促銷活動 ID 清單。 | |
destinations |
RECORD 、REPEATED |
產品的預定目的地。 | |
destinations.name |
STRING |
目的地名稱;僅支援 Shopping 。這與 Merchant Center 中的行銷方法「購物廣告」和「店面商品目錄廣告」相對應。 |
購物 |
destinations.status* |
STRING |
已淘汰 (一律設為空值),這是為了讓產品指定多個國家/地區而做出的調整。如要讀取每個指定國家/地區的狀態,請使用下列欄位:destinations.approved_countries、destinations.pending_countries、destinations.disapproved_countries。問題現在可套用至特定的指定國家/地區,其他國家/地區則不適用,如 issues.applicable_countries 欄位所示。 | 空值 |
destinations.approved_countries |
STRING, REPEATED |
已核准商品的 CLDR 地域代碼清單。 | 美國、瑞士 |
destinations.pending_countries |
STRING, REPEATED |
待審核優惠適用的 CLDR 地域代碼清單。 | 美國、瑞士 |
destinations.disapproved_countries |
STRING, REPEATED |
遭拒售的 CLDR 地域代碼清單。 | 美國、瑞士 |
issues |
RECORD 、REPEATED |
與產品相關聯的商品層級問題清單。 | |
issues.code |
STRING |
問題的錯誤代碼。 | image_too_generic |
issues.servability |
STRING |
這個問題對優惠提供的影響程度。 | 已拒登,不受影響 |
issues.resolution |
STRING |
商家是否可解決這個問題。 | merchant_action, pending_processing |
issues.attribute_name |
STRING |
屬性名稱 (如果問題是因單一屬性造成)。否則為空值。 | 圖片連結 |
issues.destination |
STRING |
問題適用的目的地。一律設為 Shopping 。 |
購物 |
issues.short_description |
STRING |
問題的簡短英文說明。 | 通用圖片 |
issues.detailed_description |
STRING |
問題的詳細英文說明。 | 請使用能夠如實呈現產品的圖片 |
issues.documentation |
STRING |
協助解決問題的說明網頁網址。 | https://support.google.com/merchants/answer/6098288 |
issues.applicable_countries |
STRING, REPEATED |
問題適用的 CLDR 地域代碼清單。 | CH |
查詢範例
產品和產品問題統計資料
下列 SQL 查詢範例會提供每天的產品數量、有問題的產品數量,以及問題數量。
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
遭到拒絕而無法刊登購物廣告的商品
下列 SQL 查詢範例會提供因遭到拒絕而無法刊登購物廣告的商品數量,並依國家/地區分開顯示。遭到拒登的原因可能是不適用,或是產品本身有問題。
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
有遭拒登問題的產品
下列 SQL 查詢範例會擷取有遭拒登問題的產品數量,並依國家/地區分開。
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