視商品目錄而定,你可能需要進行資料分割 (將動態饋給拆分為多個檔案)。
使用區塊處理的時機
動態饋給檔案大小超過 200 MB (經 gzip 壓縮後)。
- 範例:產生的可用性動態饋給大小為 1 GB。這應該會分割成 5 個以上的獨立檔案 (或分割區)。
合作夥伴廣告空間分散在各個系統和/或區域,導致難以對帳廣告空間。
- 範例:合作夥伴擁有美國和歐盟的廣告空間,但位於不同的系統。動態饋給可能會使用 2 個檔案 (或分片) 產生,其中 1 個用於美國,1 個用於歐盟,且都使用相同的
nonce和generation_timestamp。
- 範例:合作夥伴擁有美國和歐盟的廣告空間,但位於不同的系統。動態饋給可能會使用 2 個檔案 (或分片) 產生,其中 1 個用於美國,1 個用於歐盟,且都使用相同的
通則
- 每個分片 (經 gzip 壓縮後) 的檔案大小不得超過 200 MB。
- 建議每個動態饋給的資料分片數量不要超過 20 個。如果您有商業理由需要超過這個數量,請與支援團隊聯絡,瞭解進一步操作方式。
-
個別記錄 (例如一個
Merchant物件) 必須透過單一資料分片傳送,無法分散至多個資料分片。不過,日後的動態饋給不需要透過同一個資料分片傳送多個記錄。shard_number - 為提升效能,請將資料平均分配給資料分片,讓所有資料分片檔案的大小都相似。
如何分割動態饋給
您可以將單一 JSON 檔案分割為不重疊事件的個別 JSON 檔案,並使用 JSON 檔案名稱清單更新檔案描述符 JSON,藉此分割事件動態饋給。
建議做法:針對每個檔案 (或分片),設定檔案名稱,以便指出動態饋給類型、時間戳記和分片編號。資料分割的大小應大致相同,且會在所有資料分割上傳後處理。
分割的範例
檔案描述元 - event.feeddata.v1_1728306001.filedescriptor.json
{
"generation_timestamp": 1728306001,
"name": "event.feeddata.v1",
"data_file": [
"event.feeddata.v1_1728306001_001.json",
"event.feeddata.v1_1728306001_002.json"
]
}分片 0 - event.feeddata.v1_1728306001_001.json
{
"data": [
{
"id": "event-1",
...
},
{
"id": "event-2",
...
}
]
}分割 1 - event.feeddata.v1_1728306001_002.json
{
"data": [
{
"id": "event-3",
...
},
{
"id": "event-4",
...
}
]
}合作夥伴分發廣告空間的區塊
合作夥伴可能會遇到將分散在多個系統和/或區域的廣告空間整合到單一動態饋給的難題。您可以使用分割功能,將每個分割區設定為符合各個分散式系統的廣告空間集合,藉此解決對帳問題。
舉例來說,假設合作夥伴的廣告空間分為 2 個區域 (美國和歐盟廣告空間),且位於 2 個不同的系統中。
合作夥伴可以將每個動態饋給拆分為 2 個檔案 (或資料分割):
請按照下列步驟確保動態饋給處理正確無誤:
- 決定上傳時間表,並設定每個廣告空間例項,以便依循時間表。
- 為每個執行個體指派不重複的區塊編號 (例如美國 = N、歐盟 = N + 1)。
將
total_shards設為資料分割總數。 - 在每次排定上傳時間時,請決定要使用哪個
generation_timestamp。請將所有檔案名稱設為這兩個欄位的相同值,並在描述元檔案中列出所有預期的檔案名稱。generation_timestamp應為目前或最近的過去時間 (最好是合作夥伴的資料庫讀取時間戳記)
- 上傳所有區塊後,Google 會使用
generation_timestamp和nonce將區塊分組。
即使每個分片代表合作夥伴廣告空間的不同區域,且可在一天中的不同時間上傳,只要所有分片的 generation_timestamp 都相同,Google 就會將動態饋給視為單一動態饋給。