規則

注意

Adobe Experience Platform Launch在Adobe Experience Platform中已重新命名為一套資料收集技術。 因此,產品檔案中已推出數個術語變更。 有關術語更改的綜合參考,請參閱以下document

Adobe Experience Platform中的標籤會遵循規則型系統。 它們會尋找使用者互動和相關資料。 當符合列於您規則中的準則時,規則會觸發您識別的擴充功能、指令黨指令檔或用戶端代碼。

建置規則來整合行銷和廣告技術的資料和功能,將不同的產品整合為單一解決方案。

規則結構

事件 (If):​您想要規則尋找的事件。這是透過選擇事件、任何適用條件以及任何例外所定義。

動作 (Then):​在規則的事件發生且滿足所有條件之後,就會觸發。標籤規則可讓您視需要觸發任意數量的獨立動作,而您可以控制這些動作發生的順序。 例如,電子商務「感謝您」頁面的單一規則可以從單一規則觸發您的分析工具和協力廠商標籤。不需要為各個擴充功能或標籤建立不同規則。

您可以新增更多事件類型。您可使用 OR 聯結多個事件,因此如果符合任何一個事件,就會得出規則的條件。

重要

變更項目會等到發佈後才生效。

事件和條件 (if)

具有任何條件的事件是規則的 If 部分。

如果發生指定事件,就會得出條件,然後視需要發生指定的動作。

  • 事件:指定必須發生的一或多個事件,才能觸發規則。您可使用 OR 聯結多個事件。任何指定事件都會觸發規則。

  • 條件:設定事件必須為true的任何條件來縮小事件,以觸發規則。例外是以 NOT 條件的形式定義。您可使用 AND 聯結多個條件。

可用的事件取決於安裝的擴充功能。如需核心擴充功能中事件的詳細資訊,請參閱核心擴充功能事件類型

動作 (then)

動作是指規則的 Then 部分。動作能定義當規則執行時,您要執行的動作。觸發事件時,如果條件評估為 true,而例外評估為 false,則會執行動作。您可以視需要拖放動作以進行排序。

建立規則

指定在符合條件時會發生什麼動作,以建立規則。

  1. 開啟Rules標籤,然後選擇​Create New Rule

  2. 為規則命名。

  3. 選擇「事件」 「添加」​表徵圖。

  4. 選擇您的擴充功能,以及該擴充功能所提供的任一事件類型,然後設定事件相關設定。

    可選擇的事件類型取決於您選取的擴充功能。事件設定會因事件類型而異。有些事件不必設置任何設定。

    重要

    用戶端規則中的資料元素會在名稱的頭尾分別加上 %,加以代碼化,例如 %viewportHeight%。在事件轉送規則中,資料元素會以{{標籤,其開頭為}},最後為資料元素名稱。 例如 {{viewportHeight}}

    若要參照 Edge Network 的資料,資料元素路徑必須為 arc.event._<element>_

    其中 arc 代表 Adobe Response Context。

    例如︰arc.event.xdm.web.webPageDetails.URL

    重要

    如果未正確指定此路徑,系統就不會收集資料。

  5. 設定Order參數,然後選擇​Keep Changes

    所有規則元件的預設順序皆為 50。若要加快元件執行的速度,請指定小於 50 的數字。

    • 執行順序是數字的順序。1 在 3 之前。3 在 10 之前。10 在 100 之前,依此類推。

    • 具有相同順序的規則不會以特定順序執行。

    • 規則會依序引發,但不一定會以相同順序完成。如果規則 A 和規則 B 共享一個事件,而您指派順序,讓規則 A 優先,則如果規則 A 非同步執行某個動作,並不保證規則 A 會在規則 B 開始前完成。

      若要使其稍後執行,請指定大於 50 的數字。如需排序的詳細資訊,請參閱規則排序

  6. 選取「條件」 「新增」圖示,然後選擇邏輯類型、擴充功能、條件類型並設定條件的設定。 接下來,選擇​保留更改

    可選擇的條件類型取決於您選取的擴充功能。條件設定會因條件類型而異。

    邏輯類型:

    • 一般邏輯類型會在符合條件時允許執行動作。
    • 例外邏輯類型會在符合條件時禁止執行動作。

    (進階) 逾時:在屬性上啟用規則元件排序後,即可使用此選項。此屬性能定義條件執行的時間長度上限。如果逾時,條件就會執行失敗,此時系統會從處理佇列中移除規則的其餘條件和動作。預設值為 2000 ms。

    您可以無限新增條件。同一規則內的多個條件會由 AND 聯結。

  7. 選取「動作」 「新增」​圖示,然後選擇您的擴充功能以及該擴充功能可用的其中一種動作類型,設定動作的設定,然後選取「保留變更」

    可選擇的動作類型取決於您選取的擴充功能。動作設定會因動作類型而異。

    (進階) 等候執行下一個動作:在屬性上啟用規則元件排序後,即可使用此選項。勾選後,此動作完成前,標籤不會呼叫下一個動作。 取消勾選後,下一個動作會立即開始執行。預設值為​Checked

    (進階) 逾時:在屬性上啟用規則元件排序後,即可使用此選項。這能定義動作完成的時間長度上限。如果逾時,動作就會執行失敗,系統會從處理佇列中移除此規則的任何後續動作。預設值為 2000 ms。

  8. 檢閱您的規則,然後選取​儲存規則

    之後,當您發佈時,您會將此規則新增到程式庫並進行部署。

建立或編輯規則時,您可以儲存並建置至使用中的程式庫。這樣會立即將變更儲存至您的程式庫並執行組建。組件狀態會隨即顯示。

規則順序

規則排序可讓您控制共享一個事件的規則的執行順序。

通常,很重要的一點是,要讓規則以特定順序引發。範例:(1) 您有條件式設定 Analytics 變數的數個規則,而且您必須確定具有 Send Beacon 的規則排在最後。(2) 您有引發 Target 的規則,以及另一個引發 Analytics 的規則,而且您想要讓 Target 規則先執行。

最終,執行動作的責任在於使用您正在使用之事件類型的擴充功能開發人員。Adobe擴充功能開發人員可確保其擴充功能如預期般運作。 對於協力廠商擴充功能,Adobe會向擴充功能開發人員提供指引,以正確實作此功能,但最這取決於他們。

Adobe強烈建議您使用介於1和100(預設為50)之間的正數來排序規則。 越簡單越好。請記住,您必須維持您的順序。不過,Adobe承認可能會有覺得受限的邊緣案例,因此可允許使用其他數字。 標籤支援介於+/- 2,147,483,648之間的數字。 您也可以使用多個小數位數,但如果您處於您認為必須這麼做的案例,則應重新思考您為了達成現況所做的某些決策。

重要

規則「動作」區段中的伺服器端規則會依序執行。建立規則時,請確認順序正確無誤。

方案

  • 五個規則共享一個事件。全部都有預設優先順序。我想要讓其中一個最後執行。我只需要編輯該規則元件,並指定大於 50 (例如 60) 的數字。
  • 五個規則共享一個事件。全部都有預設優先順序。我想要讓其中一個最先執行。我只需要編輯該規則元件,並指定小於小於 50 (例如 40) 的數字。

用戶端規則處理

規則的載入順序取決於規則動作是透過 JavaScript、HTML 或其他用戶端代碼設定,以及規則是否使用頁面底部或頂端事件,或不同類型的事件。

無論為規則設定的事件為何,您皆可在自訂指令碼內使用 document.write

您可以在它們之間排序不同的自訂程式碼類型。例如,您現在可以有 JavaScript 自訂程式碼動作、然後是 HTML 自訂程式碼動作,接著是 JavaScript 自訂程式碼動作。標籤可確保依照該順序執行。

規則整合

規則事件和條件一律整合至主要標籤程式庫。 動作可在主程式庫中整合,或視需求以子資源的形式延遲載入。動作是否整合,取決於規則的事件類型。

具「核心 - 程式庫已載入」或「核心 - 頁面頂端」事件的規則

這些事件幾乎都會執行 (除非條件評估為 false),因此為了提高效率,這些事件會整合至主程式庫,也就是您內嵌程式碼所參考的檔案。

  • Javascript: JavaScript已內嵌於主要標籤庫中。自訂指令碼會包裝在指令碼標記中,並使用 document.write 寫入至文件。如果規則有多個自訂程式碼,則會依序寫入。

    注意

    標籤使用ES5 JavaScript。 事件轉送使用ES6。

  • HTML: HTML已內嵌於主要標籤程式庫中。document.write 可用來將 HTML 寫入文件。如果規則有多個自訂程式碼,則會依序寫入。

具有任何其他事件的規則

Adobe 無法保證會實際觸發其他任何規則,且會需要規則的動作程式碼。因此,上方未列出的所有事件類型動作,都不會封裝至主程式庫,但會儲存為子資源,由主程式庫依需求參考。

  • JavaScript: JavaScript 會從伺服器載入為一般文字、以指令碼標記包住,並使用 PostScribe 新增至文件中。如果規則有多個 JavaScript 自訂指令碼,則會從伺服器同時載入,不過會依照規則中所設定的相同順序執行。
  • HTML: HTML 已從伺服器載入,並已使用 Postscribe 新增到文件。如果規則有多個自訂 HTML 指令碼,則會從伺服器同時載入,不過會依照規則中所設定的相同順序執行。

規則元件排序

標籤執行階段環境的行為取決於序列​的「執行規則元件」是否針對屬性開啟。

啟用

如果已啟用,當執行階段觸發事件時,規則的條件和動作會根據您所定義的順序新增至處理佇列,並以 FIFO 方式一次處理一項。標籤會等待元件完成,再移至下一個元件。

如果條件評估為 false 或達到所定義的逾時時間,系統會從佇列中移除該規則的後續條件和動作。

如果動作執行失敗或達到所定義的逾時時間,系統會從佇列中移除該規則的後續動作。

注意

啟用此設定後,即使您同步載入標籤程式庫,所有條件和動作仍會非同步執行。

停用

如果已停用,當執行階段觸發事件時,系統會立即評估規則的條件。系統會同時評估多個條件。

如果所有條件都傳回 true (例外情況傳回 false),系統會立即執行規則的動作。系統會依順序呼叫動作,但標籤不會等待動作完成,才會呼叫下一個動作。 如果動作設為同步,系統仍會依順序執行。如果一或多個動作設為非同步,則會有部分動作同時執行。

本頁內容