跳至主要內容

廣告投放

商品被拒登,當日就要有人知道

一件商品被目錄拒登,沒有任何通知。那件貨的銷售就這樣停了,而原因要兩個星期後、有人終於打開診斷頁面才浮面。兩個平台其實都已經用 API 公開了這個拒登結果。缺的不是資料,而是一個定時去讀、並且把受影響貨號送到修得到那個人面前的流程。

觸發
兩個
執行頻率
每日一次
工具
4 件
需要 durable execution
不需要

流程

上面那條接住上載時就失敗的,下面那條接住上載之後、在處理階段才失敗的——而商品實際上有沒有下架,只有後者知道。

編排

輪詢上載結果

n8n 排程

平台

取回該次的錯誤

Meta Marketing API

資料

每件商品記一行

Sheets · Airtable

編排

每朝一次

n8n 排程

平台

讀取商品狀態

Google Merchant API

編排

是否真的被擋?

n8n IF

通知

把貨號發出去

Slack · WhatsApp

編排

只記錄

逐步拆解

  1. 01

    輪詢上載結果

    n8n 排程

    Meta 沒有為上載完成發出通知,所以這一邊是定時去問:讀取上載紀錄,找出剛完成的那一次。每次上載都有自己的編號,所以同一次的錯誤可以整批讀出來。

  2. 02

    取回該次的錯誤

    Meta Marketing API

    向剛才那次上載索取錯誤報告。致命錯誤同警告要分開處理——把警告當成拒登,只會教識同事無視這條通知。

  3. 03

    每件商品記一行

    Sheets · Airtable

    貨號、出問題的欄位、錯誤原文、日期。同一個貨號一星期又一星期地出現,才是真正值得處理的訊號,而只有紀錄看得出這件事。

  4. 04

    每朝一次

    n8n 排程

    刻意排在上載之後一段時間,因為「上載成功」同「商品獲批」是兩回事。這個流程要處理的,正正是兩者之間那段空隙。

  5. 05

    讀取商品狀態

    Google Merchant API

    取回每件商品處理後的狀態,包括問題本身,以及受影響的曝光位置。這個讀數反映的是平台現時手上那一份,而不是你送出去那一份。

  6. 06

    是否真的被擋?

    n8n IF

    篩選的條件是「商品有沒有被阻止顯示」,而不是「有沒有問題」。大部分目錄都長期帶著一堆警告,照單通知就是一條通知頻道死亡的方式。

  7. 07

    把貨號發出去

    Slack · WhatsApp

    寫明是哪幾件貨、哪一個欄位出錯、影響哪個曝光位置。一句「有商品被拒登」只會逼對方再入後台查一次,而那正是你想省掉的工序。

平台不容許的事

為什麼要用排程去查,而不是上載一完就查——兩個平台的文件都寫明了原因。

  • Google 講得很白:商品不是你一送出就有裁決——「There is a delay, typically a few minutes, between when a productInput is inserted or updated and when the changes are reflected in the final processed product.」上載一完就檢查,查的是錯的那一份。

    Merchant API — List your products data and product issues
  • 處理後的紀錄同時帶著 destinationStatuses——「an array indicating the approval status of the product for each destination」——以及 itemLevelIssues,而「each issue includes a description, severity, the affected attribute, and documentation to help you resolve it」。令通知可以直接動手的,正是那個出錯欄位,而它本來就在回應裡面。

    Merchant API — List your products data and product issues
  • 不是每個問題都會令商品下架。Google 的 servability 欄位分開「disapproved: The problem prevents the product from being shown」同「unaffected: The product is still shown」,另有一個 resolution 欄位「informs if the merchant can solve the issue」。兩類都通知,就是把頻道靜音的做法。

    Content API for Shopping — Product statuses
  • 在 Meta,排程商品檔不可能是你的快線:「Scheduled feeds do not support uploads more frequently than once per hour.」靠重新上載商品檔去修正,速度由這條上限決定,跟你的流程跑得多密無關。

    Meta Marketing API — Catalog Feed API reference
  • Meta 不會在商品檔上載完成時發出通知,上載紀錄要靠列出來查,所以這一邊的第一個節點是排程,不是平台推送。

    Marketing API — Product Feed Upload
  • Meta 把該次上載本身的失敗做成一份可以取回的文件——「an error report about your data feed uploads, with warning errors and fatal errors highlighted」——上面那條軌道才可以一次讀完整個上載,而不用去後台逐頁抄。

    Meta Marketing API — Product Feed Upload error report

什麼情況不值得做

以下三種情況,維護成本會高於靜默拒登的代價。

  • 目錄小到用眼睛看得完。三十件貨,加每星期看一次診斷頁面,勝過一個流程,因為你會比通知更早發現少了那件貨。

  • 沒有人改得到源頭資料。如果商品檔由一個你控制不到的系統產生,通知只會指出一個永遠改不到的欄位,每日一封變成一份無能為力的紀錄。

  • 你的商品檔本身長期帶著一堆沒有人清過的警告。在這個底上建通知,每次都在報同一批舊帳;未捉到新問題之前,已經教識所有人不看它。

延伸閱讀

聯絡我們

這些流程,你真正應該做哪一條?

我們每星期都在為香港的營運團隊跑這些流程。告訴我們哪個環節正在耗你的時間,我們會告訴你自動化划不划得來。

開始對談