對象驗證
當您在Adobe Experience Platform中編寫對象定義時,對象驗證會提供內建的驗證和護欄,以確保您的對象不僅準確,而且穩定且可擴充。
透過遵循對象定義最佳實務,您可以確保對象可更快地評估,確保您的邏輯即使對象人數增加仍有效率,並降低高流量期間評估失敗的風險。 最佳化的對象也可提高目的地的啟用速度、減少即時個人化延遲,並維持整體沙箱穩定性。
當您在「區段產生器」中建立對象時,Experience Platform會即時執行這些驗證。 新增超過驗證臨界值的事件或屬性時,您會在「區段產生器」介面中立即收到回饋。
驗證型別 validation-types
當對象驗證在您的對象上執行時,可能會違反兩種不同型別的建構:重要驗證建構和效能最佳化建構。
如果違反了關鍵驗證結構,系統將阻止您儲存對象以保護沙箱的穩定性。 如果違反了效能最佳化建構,您就可以儲存您的對象,但強烈建議您更新對象定義以避免效能問題。
驗證檢查 validation-checks
目前支援下列驗證:
[重要驗證]{class="badge negative"}邏輯複雜性 logical-complexity
邏輯複雜度驗證會分析對象定義中邏輯陳述式(AND、OR、NOT)的結構。 具體來說,它會尋找會強制系統為每個設定檔執行過多比較的受眾定義。
如果您的對象定義在每個設定檔中有過多比較次數,這種增加複雜性會導致每個設定檔的評估變慢。 因此,這增加了對象評估的整體所用時間。
若要避免觸發此驗證,請簡化您的對象定義。 如果您無法瞭解自己的對象定義,則會過於複雜,而Experience Platform可能需要更長的時間來評估對象。
範例
假設您想要尋找生活在特定狀態的客戶。 您 可能會 藉由檢查設定檔是否有符合清單45個值之一之狀態的值,而造成寫入效率低下,如下所示:
| code language-none |
|---|
|
不過,若使用not check ,您只需要檢查設定檔是否沒有列出的5個值之一,即可產生更有效率的查詢。
| code language-none |
|---|
|
或者,假設您想要尋找在您的試用計畫中屬於加拿大人的客戶。 較不有效率的方法是手動逐一排除所有其他計畫,並檢查設定檔是否不在任何計畫中,以在您的試用計畫中尋找加拿大人。
| code language-none |
|---|
|
相反地,您應該採取直接的態度,並鎖定您要納入的特定計畫。
| code language-none |
|---|
|
[嚴重驗證]{class="badge negative"}循序事件複雜性 sequential-event-complexity
循序事件複雜性驗證將序列中的循序事件數量限製為6個事件。
循序細分是Experience Platform中運算最複雜的作業之一,因為系統需掃描客戶的體驗事件完整歷史記錄、依時間戳記排序,以及驗證指定的順序是否符合您的查詢。 因此,當鏈增長時,系統需要計算的排列數會大幅增加。
若要避免觸發此驗證,請透過定義歷程的開頭、中間和結尾,專注於循序鏈的基本知識。 立即步驟通常隱含在最終轉換中。
範例
假設您想要鎖定檢視過產品、將產品新增至購物車並購買產品的使用者。 效率較低的方法會檢查使用者路徑的每個個別狀態。 例如,下列查詢會經過以下事件順序:登入網站 — >搜尋產品 — >檢視產品頁面 — >新增至購物車 — >導覽至結帳 — >購買事件
| code language-none |
|---|
|
但是,將序列減少到其開頭、中間和結尾,您只需要擁有3個事件長度的事件序列,即可產生更有效率的查詢。 例如,以下查詢會經過此事件序列:檢視產品頁面 — >新增到購物車 — >購買事件
| code language-none |
|---|
|
[效能最佳化]{class="badge yellow"}彙總計數 aggregated-count
彙總計數檢查將對象內使用的彙總事件數限製為3個條件。
標準事件只需要尋找單一相符事件,即可讓使用者符合資格。 但是,彙總事件必須先讀取和分析使用者的整個事件歷史記錄,才能做出決定,導致處理時間變慢,而使用更多彙總事件。
為避免觸發此驗證,僅在對象定義完全必要時使用特定計數。 例如,如果您只需要知道使用者是否參與一次,您可以使用標準「存在」邏輯,而不使用「計數> 0」事件。
[效能最佳化]{class="badge yellow"}巢狀資料複雜性 nested-data-complexity
巢狀資料複雜性驗證會將對象定義中的巢狀資料數量限製為2層。
雖然Experience Platform支援使用陣列和對應物件來儲存複雜的資料型別,但解壓縮巢狀結構以尋找值需要更複雜的周遊邏輯。 巢狀資料越深入於陣列中,擷取以進行驗證所需的時間就越長。
如果您經常對深層巢狀屬性執行分段,您可能需要聯絡資料工程團隊,將屬性複製到設定檔結構描述中的更高層級,以方便存取。
[效能最佳化]{class="badge yellow"}對象人數 audience-size
對象人數驗證會檢查您的對象定義是否廣泛,以致於您的沙箱中超過30%的總設定檔符合對象的資格。
雖然Experience Platform可以處理大量受眾,但太模糊的受眾定義(例如所有活躍客戶)可能會增加評估時間和啟用延遲。
如果您需要建立符合設定檔存放區中30%以上資格的受眾,請確保使用彈性的受眾評估來完成受眾的首次評估。 透過隨選評估來評估對象,可以降低大量對象對日常細分工作的整體影響。
後續步驟
閱讀本指南後,您就能更瞭解Experience Platform如何執行自動驗證,以改進評估、穩定性和擴充性。 如需使用UI建立對象的詳細資訊,請參閱區段產生器檔案。
附錄
下列附錄列出有關Experience Platform中對象驗證的常見問題。
常見問題 faq
如果忽略警告並儲存對象,會發生什麼事?
針對效能最佳化警告,將會儲存對象且系統會嘗試評估對象。 不過,處理時間可能會顯著變慢。 在極端情況下,如果資料量夠高,細分工作可能會失敗或逾時,並強制您重新設計對象。
發生嚴重驗證錯誤時,您將無法儲存閱聽眾。
我可以要求增加至「循序事件」上限嗎?
這些新驗證會破壞我現有的對象嗎?
我有複雜的資料需求。 如何避免「巢狀資料」警告?
subscriptionStatus和loyaltyTier)帶至設定檔的最上層。這些檢查是否同時適用於草稿和已發佈的對象?