批次處理策略

匯出可匯總的報表時,請務必最佳化匯出策略,以免超出隱私權限制。以下是幾種建議的策略,可用來將批次報表傳送至匯總服務。

收集報表

收集要納入批次中的報表時,請注意下列事項:

回報上傳重試

注意:重試條件可能隨時變更。在這種情況下,我們會更新本節中的資訊。

在網路和 OS 平台上,平台會嘗試傳送三次報表,但如果第三次嘗試後仍無法傳送報表,系統就不會傳送報表。無論報表何時可傳送,原始 scheduled_report_time 值都會保留。重試的時間表因平台而異:

  • 瀏覽器會在瀏覽器連上網路時傳送報告。如果報表傳送失敗,系統會等待五分鐘再重試一次,然後再等待 15 分鐘重試第三次。如果瀏覽器離線,系統會在瀏覽器重新連上網路後一分鐘後重試。在網頁上傳送報表沒有延遲,也就是說,如果瀏覽器離線,無論報表產生多久前都會離線,只要瀏覽器恢復上線,就會根據重試政策嘗試傳送報告。
  • Android 手機的網路連線穩定。因此,這項工作會每小時執行一次,以便傳送報表。也就是說,如果報表無法傳送,系統會在下一個小時重試,然後在下一個小時再次重試。如果裝置沒有連線,裝置會在再次連上網路後,透過下一個報表工作重試傳送報表。延遲時間最長為 28 天,也就是說裝置不會傳送超過 28 天前產生的報表。

等待報表製作完成

建議您在收集匯出報表時,等待遲交的報表。您可以檢查 scheduled_report_time 值與收到報表的時間,以確定延遲報表。這些報表之間的時間差異可協助您判斷應考慮延遲多久才收到報表。舉例來說,收集延遲報表時,請查看 scheduled_report_time 欄位,並留意收到的報表有 90%、95% 和 99% 的時間延遲時間。這項資料可用於判斷要等待多久才能取得遲到報表。即時匯總報表可降低延遲報表產生的機率。

下圖顯示,系統會根據報表的預定時間,將延遲到達的報表儲存在適當的批次中。Batch T 代表 scheduled_report_time,T+X 代表延遲報表的等待時間。這樣會產生摘要報表,其中包含批次中與定期報表時間相對應的大部分報表。

批次處理

可匯總報表計算

匯總服務會維護「沒有重複」規則。這項規則會強制要求所有具有相同共用 ID 的匯總報表必須包含在同一批次中。

收集報表後,應以批次方式處理,讓所有共用相同 ID 的報表都屬於同一個批次。

如果報表已經處理其他批次,則該程序可能會發生隱私預算用盡錯誤。正確批次處理報表有助於避免批次作業因「沒有重複」規則而遭到拒絕。

共用 ID 是指系統為每個報表產生的鍵,用來追蹤可匯總報表計算結果。共用 ID 可確保具有相同共用 ID 的報表只會納入一份摘要報表。也就是說,將對應至單一共用 ID 的報表必須全部納入單一批次。舉例來說,如果報表 X 和報表 Y 都具有相同的共用 ID,就必須納入同一批次,以免報表因重複而遭到刪除。

下圖顯示 shared_info 元件如何經過雜湊運算產生共用 ID。

共用 ID

下圖說明兩份不同的報表如何使用相同的共用 ID:

scheduled-report-time

注意: scheduled_report_time 會以小時為單位截斷,source_registration_time 則會以天為單位截斷。此外,建立共用 ID 時不會使用 report_id。時間精細度日後可能會更新。

批次內重複的報表

可匯總報表中的 shared_info 欄位會在 report_id 欄位中包含 UUID,用於識別批次中的重複報表。如果同一個批次中有多份報表使用相同的 report_id,系統只會匯總第一份報表,其他報表會視為重複資料並悄悄捨棄;匯總作業會照常進行,且不會傳送任何錯誤。雖然這不是必要步驟,但在匯總前先篩除具有相同報表 ID 的報表副本,廣告技術的成效可能會有所提升。

每個報表都有專屬的 report_id

批次中重複的報表

系統會為每份報表指派共用 ID,這是從報表 shared_info 欄位合併的資料點產生的 ID。多份報表可以使用相同的共用 ID,每個批次也可以包含多個共用 ID。所有共用 ID 相同的報表都必須歸入同一批次。如果有多個批次的報表使用相同的共用 ID,系統只會接受第一批,其他批次會視為重複而遭到拒絕。為避免這種情況發生,請正確建立批次

下圖範例顯示多個批次中有相同共用 ID 的報表,可能會導致後續批次執行失敗。從圖片中可以看到,有兩份以上共用 ID e679aa 的報表,分別分批到 #1 和 #2 批次。由於在 Batch #1 摘要報表產生期間,共用 ID e679aa 的所有報表都已耗用預算,因此 Batch #2 無法執行,並會因錯誤而失敗。

重複

批次報表

建議您採用以下做法批次處理報表,以免發生重複報表及最佳化匯總報表計算作業。

依廣告主批次

注意:建議只在歸因報表匯總時使用這項策略。

私人匯總沒有「attribution_destination」欄位,也就是廣告主。建議您依廣告客戶分批處理,也就是在同一個批次中納入屬於單一廣告客戶的報表,以免達到每個批次的匯總報表帳戶限制。系統在產生共用 ID 時會考慮廣告主欄位,因此來自相同廣告主的報表也可能會使用相同的共用 ID,因此必須將這些報表放在同一批次中,才能避免發生錯誤。

依時間批次

進行批次作業時,建議您考量報表的排定時間 (shared_info.scheduled_report_time)。排定的報表時間會截斷至共用 ID 產生作業中的一小時內,因此最少應以小時為批次進行批次處理。也就是說,凡是在相同一小時內安排定期報表的報表,都應歸入同一個批次,以免分批含有相同 ID 的報表,這會導致工作錯誤。

批次頻率和雜訊

建議您考量雜訊對可匯總報表的處理頻率有何影響。舉例來說,如果較常批次處理可匯總報表,系統就會在納入每小時較少的轉換事件後處理報表,而雜訊的影響範圍會更大。如果頻率降低,且報表每週處理一次,雜訊的相對影響就會較小。如要進一步瞭解雜訊對批次的影響,請嘗試使用雜訊實驗室