你可以使用檔案式動態饋給、Merchant API 或兩者並用,將產品資料上傳至 Merchant Center:
- 檔案型產品動態饋給:使用 SFTP、Google Cloud Storage、Google 試算表或排程擷取功能,上傳 CSV、TSV 或 XML 檔案。
- Merchant API:直接從後端傳送程式輔助要求,在產品資料變更時進行增量更新,並定期同步完整目錄。
本指南會比較這兩種方法,說明何時應使用其中一種方法 (或同時使用兩種方法),並提供逐步遷移指南,協助你將部分或所有產品從檔案動態饋給轉移至 API。
選擇資料來源方法
評估目錄變動性、後端架構和作業工作流程,決定要使用 Merchant API、檔案動態饋給,還是混合設定。
Merchant API 的使用時機
在下列情況下,請使用 API 主要資料來源:
- 直接程式輔助整合:您偏好直接從後端呼叫 API,而不是產生檔案及管理檔案移轉管道 (例如 SFTP 或 Google Cloud Storage)。
- 價格和商品目錄波動大:產品價格或庫存量在一天內頻繁變動。
- 資料變更時立即更新:你想在後端發生產品變更時,立即將變更傳送給 Google,而不是等待下次排定的檔案生成和上傳。
- 漸進式目錄更新:您想在個別產品有異動時,插入、更新或刪除這些產品,而不必每次都重新上傳整個目錄。
- 部分屬性更新:您想更新產品的特定欄位 (例如使用
productInputs.patch更新price或availability),但不想重新傳送完整的產品酬載。
檔案動態饋給的使用時機
在下列情況下,請使用檔案式主要資料來源:
- 靜態目錄:產品資料不常變更 (例如每天一次或更少)。
- 僅限快照後端,不追蹤差異:後端只會匯出完整的目錄快照,無法追蹤項目層級的變更或明確刪除的產品。
- 以試算表為基礎的工作流程:非工程團隊直接在 Google 試算表或 CSV 檔案中,管理或覆寫產品資料。
- 低維護作業:您偏好排定檔案匯出作業,由 Merchant Center 處理擷取和快照處理作業,而非透過 API 整合,處理要求頻率、重試處理和定期完整目錄同步。
兩者並用的時機
在下列情況下,您可以在同一個 Merchant Center 帳戶中,結合使用檔案動態饋給和 Merchant API:
- 分區產品目錄:使用 Merchant API 處理快速變動的產品 (例如快閃促銷或高週轉率商品),並使用檔案動態饋給處理靜態目錄區隔或獨立產品系列。確認每項產品都只透過一個主要資料來源上傳 (請參閱「並行使用和主要資料來源擁有權」)。
- API 主要資料搭配檔案型補充動態饋給:你透過 API 主要資料來源管理核心產品資料,而非工程團隊或第三方合作夥伴則透過檔案型補充動態饋給 (例如 Google 試算表或 CSV 檔案) 提供額外屬性,並與屬性規則結合,反之亦然。
- 部分或分階段遷移:將特定市場、類別或子帳戶轉移至 API,同時保留其餘目錄的檔案動態饋給。
如要將部分或所有產品從檔案動態饋給移至 Merchant API,請按照逐步遷移指南操作。
主要架構差異
檔案動態饋給和推送式 Merchant API 在 Google 處理及管理產品資料的方式上有所不同:
| 概念 | 檔案動態饋給 | Merchant API |
|---|---|---|
| 整合模式 | 離線檔案轉儲:將目錄匯出至檔案,並透過 SFTP、Google Cloud Storage、Google 試算表或排程擷取功能轉移。 | 直接程式輔助整合:後端直接將要求傳送至 API 端點。 |
| 異動精細程度 | 大量處理:修改單一項目通常需要重新處理整個檔案。 | 精細交易:你只能插入、修補或刪除已變更的產品。 |
| 同步處理時間 | 批次同步處理:變更會保留在後端,直到下一次排定的檔案匯出和轉移週期。 | 立即或排定呼叫:您可以在發生異動時立即傳送增量變更,並定期執行完整同步作業。 |
| 刪除行為 | 隱含 (快照):每個檔案都是完整的快照;從主要檔案中移除資料列,就會刪除產品。 | 明確:沒有快照概念,請呼叫 productInputs.delete 移除停售產品。 |
| 資源表示法 | 單一狀態:檔案的資料列代表原始輸入內容。 | 區分原始和處理後的資料:API 會將資料分為 ProductInput (原始輸入內容) 和 Product (最終處理狀態)。 |
| 屬性 (動態饋給) 規則 | 套用至 Merchant Center 使用者介面中的原始檔案資料欄。 | Merchant Center 使用者介面支援這項功能。將 API 資料與第三方補充檔案合併時,必須提供這項資訊;如果單一來源轉換作業是在後端處理,則可視需要提供。 |
並行使用和主要資料來源擁有權 (「以最後更新者為準」)
雖然你可以在同一個 Merchant Center 帳戶中同時使用檔案動態饋給和 API,但強烈建議你只使用一種方法插入任何指定產品。
Merchant Center 採用「以最新更新為準」模式。推送最新產品插入項目的主要資料來源 (API 或檔案動態饋給),會取得該產品資料的主要擁有權:
- 如果產品是由檔案資料來源擁有:在後續上傳檔案時省略產品,會觸發隱含刪除,將產品從 Merchant Center 移除。
- 產品由 API 資料來源擁有:由於檔案動態饋給不再擁有產品,因此從檔案上傳中省略產品不會有任何影響。您必須呼叫
accounts.productInputs.delete才能移除。 - 意外重新取得擁有權的風險:如果更新後的檔案動態饋給在 API 推送後執行,且包含產品,檔案資料來源會重新取得擁有權。如果之後從檔案中省略該產品,系統就會意外刪除該產品。
為避免意外刪除或遺失 API 更新,請勿同時使用 API 和檔案主要資料來源,對相同產品執行更新。
API 重要注意事項
開始導入前,請先瞭解下列 Merchant API 的重要行為:
彈性資料來源 (不含語言或標籤)
檔案動態饋給需要預先定義特定的目標動態饋給標籤和語言,Merchant API 則可讓您建立主要資料來源,而不必指定 feedLabel 或 contentLanguage。
- 彈性上傳:可將任何語言或動態饋給標籤組合的產品,上傳至單一資料來源。
- 簡化管理:不必為每個目標市場建立及管理個別 資料來源。 注意:如要進一步瞭解如何選擇資料來源策略,請參閱「選擇資料來源策略」。
同步策略和配額
檔案動態饋給會一次上傳整個目錄,但 Merchant API 整合則不同,請根據增量更新和定時完整同步處理來設計:
- 結合增量更新與定期完整同步:後端的產品屬性變更時,請傳送
productInputs.insert或productInputs.patch要求。如果只依賴增量更新,資料可能會隨著時間而不同步,因此請定期執行完整同步處理,根據可靠資料來源調整目錄 (這也會重新整理 30 天的產品到期時間)。執行完整同步處理的頻率取決於目錄大小和可用的 API 配額。 - 依 API 配額調整要求速度:請勿一次呼叫所有產品的 API。雖然增量變更可在發生時傳送,但請將完整同步要求平均分配到一整天,以免超出每分鐘和每日方法呼叫配額。詳情請參閱「配額與限制」和「經常更新產品」。
測試整合
在安全環境中驗證整合邏輯,再移至正式環境。
使用測試帳戶
建議您先在沙箱測試帳戶中執行遷移作業的初始步驟,再對正式環境進行變更:
- 建立測試帳戶:設定獨立的測試帳戶,安全地進行實驗,不影響實際廣告或免費產品資訊。
- 建立 API 資料來源:練習建立 API 主要資料來源。
- 測試屬性規則:驗證資料轉換和補充動態饋給彙整。
- 驗證酬載和產品金鑰:推送範例產品,驗證 SKU 大小寫、編碼和錯誤處理。
詳情請參閱「步驟 1:建立測試帳戶」和「測試帳戶」指南。
驗證產品金鑰是否一致
請確認程式輔助酬載產品金鑰與檔案動態饋給 SKU 完全一致。Google 會結合以下資訊來識別產品:
offerId(在檔案動態饋給中稱為id,區分大小寫)contentLanguage(例如en)feedLabel(例如US)
特殊字元和編碼
如果產品 ID 包含 /、% 或 ~ 等字元,請在 API 呼叫中使用編碼格式 (未填補的 base64url 編碼)。詳情請參閱 ProductInput.name
並行控制
在即時整合中,更新可能會因網路延遲而未按順序送達。為避免舊更新覆寫新資料,請使用 ProductInput 資源中的 versionNumber 欄位。
逐步遷移教戰手冊
如果您決定將部分或所有產品從檔案動態饋給移至 Merchant API,請按照這份指南操作,在不損失曝光次數或放送記錄的情況下轉移產品。
1. 在測試帳戶中演練遷移作業
在實際執行環境中進行變更前,請使用 accounts.createTestAccount 方法建立沙箱測試帳戶 (請參閱測試帳戶指南)。測試帳戶提供獨立環境,預設會核准商品,不需驗證網域,且資料絕不會公開。
使用測試帳戶複製正式版設定,並演練端對端遷移作業:
- 複製檔案動態饋給設定:在測試帳戶中建立檔案主要資料來源 (和任何補充資料來源),並上傳正式版動態饋給檔案範例。
- 建立測試 API 資料來源和規則:建立 API 主要資料來源,並設定任何必要的屬性規則或補充動態饋給彙整。
- 測試擁有權轉移和金鑰對應:傳送範例產品的
productInputs.insert要求,並確認 API 資料來源取得現有項目的擁有權,且未建立重複的產品。 - 驗證更新和刪除作業:使用
productInputs.patch測試部分更新,並使用productInputs.delete測試移除作業,然後使用products.get檢查產生的資源。
2. 建立正式版 Products API 資料來源
推送資料前,請先在帳戶中建立 API 類型的主要資料來源。
建立 API 主要資料來源
如要建立接受 API 推送的資料來源,請向 dataSources 端點傳送 POST 要求。詳情請參閱「建立主要產品資料來源」。
3. 轉換自訂屬性規則
自訂屬性規則會繫結至特定資料來源,不會自動從檔案資料來源轉移至新的 API 資料來源。
轉換屬性規則的方式取決於規則用途:
- 跨來源合併和第三方補充動態饋給:如要合併主要 API 資料和外部補充資料來源 (例如第三方供應商檔案、商品目錄試算表或促銷活動動態饋給),請務必在 Merchant Center 使用者介面中重新建立屬性規則,並附加至新的 API 資料來源。用戶端預先處理無法取代彙整多個獨立來源資料的規則。
- 單一來源資料轉換:如要對主要目錄資料進行單一來源清理、預設值或字串格式設定,請選擇下列其中一項:
- 後端轉換 (建議):在呼叫 API 之前,先在自己的系統中套用轉換。這可讓您更有效地控管程式、更輕鬆地進行測試,並簡化偵錯作業。
- Merchant Center 屬性規則:如要讓 Merchant Center 繼續自動管理轉換規則,請在 Merchant Center 使用者介面中,為新的 API 資料來源重新建立轉換規則。
4. 啟用 API 整合
啟用正式版 API 整合,開始在新的 API 主要資料來源中插入、更新及刪除產品:
插入及更新產品 (接管擁有權):從整合項目傳送
productInputs.insert和productInputs.patch要求。使用 API 插入產品時,如果產品的鍵 (offerId、contentLanguage、feedLabel) 與現有檔案動態饋給產品相同,API 資料來源會取得該產品的擁有權,並保留其放送記錄。如需更多指引,請參閱「插入產品」和「新增及管理產品」。刪除停售產品:設定整合功能,在產品從目錄中移除時,明確呼叫
productInputs.delete。逐步部署:如果目錄較大,請一次啟用一個 Merchant Center 子帳戶或一個資料來源的整合。
設定並行:如要傳送大量要求,請設定用戶端處理並行要求及管理多個連線。請參閱「重構程式碼以處理並行要求」指南。
5. 暫停更新檔案資料來源
API 整合啟用後,請在下次排定的檔案執行前停止檔案更新,以免檔案資料來源覆寫 API 更新:
- 停止將新檔案上傳至 SFTP/FTP 位置、Google Cloud Storage 或 Google 試算表。
- 在 Merchant Center 使用者介面中,前往檔案資料來源,並暫停排程擷取。
- 檔案資料來源擁有的現有產品最多會保留 30 天,直到 API 整合插入這些產品為止。
6. 等待遷移作業完成並驗證
等待所有有效產品從檔案資料來源遷移至 API 資料來源。雖然增量更新會隨著產品變更而遷移產品,但透過定期整合執行分段完整目錄同步作業,可加快遷移整個目錄的速度 (請參閱「同步策略和配額」)。
在這個階段:
- 在 Merchant Center 使用者介面中,監控商品數量。請等到檔案資料來源數量減少至
0,且 API 資料來源數量與有效目錄相符。 - 使用
products.get確認屬性和自訂屬性規則是否如預期合併。 - 在 Merchant Center 使用者介面中,監控 API 診斷工具,追蹤錯誤率和 API 效能。
7. 停用檔案資料來源
轉換完成後,檔案動態饋給項目數量為 0:
- 確認更新內容即時反映。
- 在 Merchant Center 使用者介面中刪除舊版檔案資料來源,以免檔案型更新意外覆寫 API 資料。