本文主要會介紹 Google Merchant Center 結合 BigQuery 的應用。具體而言,本文會提到 Merchant Center 的相關背景知識,以及如何在 Merchant Center 和 BigQuery 這兩個系統之間傳輸資料。此外,本文也會討論到應用這些資料的使用案例。
什麼是 Merchant Center?
Merchant Center 是一種工具,可以將您的產品數據提供給 Google Shopping 和其他Google 服務,讓您的商品能夠在 Google、YouTube 或其他的網站上被數以百萬計的消費者看到。透過 Merchant Center,您可以上傳商店、品牌和產品資訊,讓消費者能夠看到您的線上商品和庫存。您可以隨時編輯您的商品資訊,以便在廣告中能夠提供正確訊息。
Merchant Center 也包含多個報告,以幫助您優化商品在 Google 上的呈現。以下是一些範例:
- 產品資料診斷報告可以幫助您維護資料品質。透過識別本地產品和庫存之間的資料問題,然後解決這些問題。
- 產品資料建議報告可以幫助您決定新商品的庫存和定價。例如,向您報告您尚未做宣傳的商品中,有哪些產品目前在 Google Shopping 中是受歡迎的。
Merchant Center 結合 BigQuery 的應用
從手動到自動化,有很多種方法可以將產品數據從 Merchant Center 導入 BigQuery。您採用的方法取決於您想要呈現的產品資料的即時性,以及您是否要自行維護 Merchant Center 和 BigQuery 之間的資料傳輸整合。
自動導入
使用 BigQuery Data Transfer Service,您可以定期將 Merchant Center 中的商品數據自動導入 BigQuery。導入的產品數據包括產品標題、價格和產品圖片連結。產品資訊的完整資料欄位清單,請參閱 Merchant Center Product data specification。
下圖為使用 BigQuery Data Transfer Service 後,產品數據從 merchants 到 BigQuery 的運作過程。
上圖顯示了商家和合作夥伴相互合作將商品資訊導入 Merchant Center。Google Shopping 會應用這些產品資訊來投放廣告。BigQuery Data Transfer Service 會定期從 Google Shopping 的儲存系統中搜尋 Merchant Center 相關數據,並且將商品資訊直接導入 BigQuery。Merchant Center 和 BigQuery 間的自動資料傳輸,為非公開的 alpha service。若要配置 BigQuery Data Transfer Service 將數據從 Merchant Center 導入 BigQuery,歡迎與 iKala GCP專門家聯繫。
手動導入
要手動將數據從 Merchant Center 導入 BigQuery,您需要建立一個可以定期將 Merchant Center 中的數據寫入 BigQuery 的應用程式。在您定義的應用程式中,可以使用 Shopping Content API 將 Merchant Center 的產品數據讀出,然後透過您的應用程式將產品資料寫入 BigQuery。在 Google Cloud Platform 中,您可以使用 Google App Engine (GAE)、Google Kubernetes Engine (GKE) 或 Google Compute Engine (GCE) 部署應用程式。關於更詳細的運算平台選用指南,請參閱 Choosing a Compute Option。
定期訪問 Content API,您需要一個排程機制來啟用您的應用程式。若用 GAE 部署,請使用 App Engine Cron Service 來執行排程機制。若使用 GKE 或 GCE,請使用 Cloud Composer 或內建的排程操作服務系統 (像是cron)。當您使用手動導入資料的方式,您的應用程式必須負責處理呼叫 Content API 可能遇到的各種狀況,像是配額上限、呼叫失敗、以及錯誤訊息的應對。
實際案例
將產品數據導入 BigQuery 後,您可以將數據使用在您的應用程式和系統上。以下範例為如何將 Merchant Center 中得到的產品數據加以利用。
產品資訊診斷和故障排除
當您同時使用 BigQuery Data Transfer Service 和 Merchant Center,可以將產品診斷相關數據一同導入 BigQuery。若要使用產品診斷,歡迎與 iKala GCP專門家聯繫。
您可以使用診斷訊息來做常見的錯誤排除,針對線上產品資訊、本地產品資訊或是本地庫存資訊,像是缺漏的或是無效的資料欄位。您可以使用標準 SQL 查詢來轉換 BigQuery 中的產品資料。
接下來,您可以照著說明書將 Merchant Center 和 Cloud Storage 做連結,如 Submit feeds via Cloud Storage 文件所述。最後,您可以將更新的 BigQuery 資料表以 CSV 檔匯出,並將數據存入透過 Merchant Center 建立的 Cloud Storage bucket 中。您可以使用 Cloud Dataprep by Trifacta 或 Cloud Composer 透過自動化的方式執行資料更新流程。另一種資料更新的方式是直接從自定義的應用程式使用 Google Shopping Content API,定期更新、導入產品數據。
下圖為導入產品數據,並做資料診斷的架構圖。
產品數據 APIs
將產品資料導入 BigQuery 後,您可以為這些資料建立微服務或 APIs,向其他應用程式(像是線上商店或手機 app)提供商品數據或價格資訊。您可以整合這些微服務或 APIs 部署一個更大型的線上商店,或搭配類似 SAP Hybris 這類的商業平台。
建構一個產品數據或定價服務,首先您會需要使用功能類似 Cloud Dataflow 的工具,將資料從 BigQuery 取出、篩選、轉換,再導入 Cloud Firestore、Cloud Spanner 或 Cloud SQL。這些服務有交易保證,適用於儲存商品數據和定價資訊。更多關於 Cloud Firestore、Cloud Spanner 和 Cloud SQL 的相關訊息,請參閱 Choosing a storage option。
將商品數據討入儲存系統後,您可以使用 container 和 GKE 來部署您的商品數據和定價 microservices。將這些服務部署在 GKE 後可提供給更大型的服務作為 APIs 使用,或是搭配 Cloud Endpoints 提供給行動應用程式使用。Endpoints 提供了幾種內建的 API 管理工具,像是身份驗證、活動監控和其他部署工具。下圖為此系統的架構。
購物聊天機器人
除了建構商品 API 和定價 API 之外,您還可以將 Merchant Center 中得到的商品數據,放入 Dialogflow 中做購物聊天機器人。Dialogflow 提供一套自然語言系統。您可以做一個回答消費者商品相關問題的聊天機器人,在聊天的過程中將他們引導至您的網站或手機應用程式。Dialogflow 所創建的聊天機器人,能夠在不同裝置或應用程式中使用,包含 Google 語音助理 (Google Assistant),並提供產品搜尋和價格搜尋的功能。
和產品 API 範例相同,您可以從 BigQuery 中提取數據,並將它作轉換匯出至 GCP 的相關儲存系統,像是支援即時交易 (real-time transaction) 的 Firestore。了解更多相關訊息,請參閱 Choosing a storage option。
下一步是使用 Dialogflow 的 intents 和 entities 來建立聊天機器人的對話互動結構。Dialogflow 的 intents 提供對話互動的結構,Dialogflow 的 fulfillment 可以搭配 Cloud Functions 或 Cloud Functions for Firebase 來處理後端邏輯。Fulfillment 能夠從後端資料庫提取數據,並將數據做為 Dialogflow 對話內容的一部份。
下圖為購物聊天機器人的運作結構圖。
更多相關資訊,請參閱 Dialogflow getting started guide。
(原文翻譯自 Google Cloud。)