Show Menu
主題×

規則

Launch 是以規則為基礎的系統。它會尋找使用者互動與相關資料。當符合列於您規則中的準則時,規則會觸發您識別的擴充功能、指令黨指令檔或用戶端代碼。
建置規則來整合行銷和廣告技術的資料和功能,將不同的產品整合為單一解決方案。
如需簡介影片,請見 規則產生器

規則結構

事件 (If): ​您想要規則尋找的事件。這是透過選擇事件、任何適用條件以及任何例外所定義。
動作 (Then): ​在規則的事件發生且滿足所有條件之後,就會觸發。Launch 中的規則可讓您視需要觸發許多獨立動作,而且您可以控制這些動作發生的順序。例如,電子商務「感謝您」頁面的單一規則可以從單一規則觸發您的分析工具和協力廠商標籤。不需要為各個擴充功能或標籤建立不同規則。
您可以新增更多事件類型。您可使用 OR 聯結多個事件,因此如果符合任何一個事件,就會得出規則的條件。
變更會等到發佈後才生效 發佈

事件和條件 (if)

具有任何條件的事件是規則的 If 部分。
如果發生指定事件,就會得出條件,然後視需要發生指定的動作。
  • 事件
    指定一或多個必須發生的事件以觸發規則。您可使用 OR 聯結多個事件。任何指定事件都會觸發規則。
  • 條件
    設定事件必須是 true 的任何條件來縮小事件,以觸發規則。例外是以 NOT 條件的形式定義。您可使用 AND 聯結多個條件。
可用的事件取決於安裝的擴充功能。如需核心擴充功能中事件的詳細資訊,請參閱 核心擴充功能事件類型
DTM 已提供頁面載入、以事件為基礎直接呼叫規則類型。Launch 只有規則,可供您定義事件以觸發規則。Launch 仍提供其他 DTM 事件類型選項。

動作 (then)

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

建立規則

指定在符合條件時會發生什麼動作,以建立規則。
  1. 開啟「Rules」標籤,然後按一下「 Create New Rule 」。
  2. 為規則命名。
  3. 按一下「事件」 Add ​圖示。
  4. 選擇您的擴充功能,以及該擴充功能所提供的任一事件類型,然後設定事件相關設定。
    可選擇的事件類型取決於您選取的擴充功能。事件設定會因事件類型而異。有些事件沒有任何設定需要設定。
  5. 設定 Order 參數,然後按一下「 Keep Changes 」。
    所有規則元件的預設順序皆為 50。若要加快元件執行的速度,請指定小於 50 的數字。
    • 執行順序是數字的順序。1 在 3 之前。3 在 10 之前。10 在 100 之前,依此類推。
    • 具有相同順序的規則不會以特定順序執行。
    • 規則會依序引發,但不一定會以相同順序完成。如果規則 A 和規則 B 共享一個事件,而您指派順序,讓規則 A 優先,則如果規則 A 非同步執行某個動作,並不保證規則 A 會在規則 B 開始前完成。
      若要使其稍後執行,請指定大於 50 的數字。如需排序的詳細資訊,請參閱 規則排序
  6. 按一下「條件」 Add ​圖示,然後選擇邏輯類型、擴充功能、條件類型,並設定條件的相關設定。然後按一下「 Keep Changes 」。
    可選擇的條件類型取決於您選取的擴充功能。條件設定會因條件類型而異。
    邏輯類型:
    • 一般邏輯類型會在符合條件時允許執行動作。
    • 例外邏輯類型會在符合條件時禁止執行動作。 (進階) 逾時:在屬性上啟用規則元件排序後,即可使用此選項。此屬性能定義條件執行的時間長度上限。如果逾時,條件就會執行失敗,此時系統會從處理佇列中移除規則的其餘條件和動作。預設值為 2000 ms。
    您可以無限新增條件。同一規則內的多個條件會由 AND 聯結。
  7. 按一下「動作」 Add ​圖示,接著選擇您的擴充功能以及該擴充功能所提供的任一動作類型、設定動作的相關設定,然後按一下「 Keep Changes 」。
    可選擇的動作類型取決於您選取的擴充功能。動作設定會因動作類型而異。
    (進階) 等候執行下一個動作:在屬性上啟用規則元件排序後,即可使用此選項。一旦勾選,此動作完成前,Launch 不會呼叫下一個動作。取消勾選後,下一個動作會立即開始執行。預設值為 Checked
    (進階) 逾時:在屬性上啟用規則元件排序後,即可使用此選項。這能定義動作完成的時間長度上限。如果逾時,動作就會執行失敗,系統會從處理佇列中移除此規則的任何後續動作。預設值為 2000 ms。
  8. 檢閱您的規則,然後按一下「 Save Rule 」。
    之後,當您 發佈 時,您會將此規則新增到程式庫並進行部署。
建立或編輯規則時,您可以儲存並建置至 使用中的程式庫 。這樣會立即將變更儲存至您的程式庫並執行組建。組件狀態會隨即顯示。

規則順序

規則排序可讓您控制共享一個事件的規則的執行順序。
通常,很重要的一點是,要讓規則以特定順序引發。範例:(1) 您有條件式設定 Analytics 變數的數個規則,而且您必須確定具有 Send Beacon 的規則排在最後。(2) 您有引發 Target 的規則,以及另一個引發 Analytics 的規則,而且您想要讓 Target 規則先執行。
最終,執行動作的責任在於使用您正在使用之事件類型的擴充功能開發人員。對於 Adobe 擴充功能,Adobe 會確定此功能正常運作。對於協力廠商擴充功能, Adobe 會向開發人員提供擴充功能指引,以適當建置此功能,但最這取決於他們。
Adobe 強烈建議您使用介於 1 到 100 (預設為 50) 之間的正數來排序規則。越簡單越好。請記住,您必須維持您的順序。不過,Adobe 承認可能會有覺得受限的邊緣案例,因此,可允許使用其他數字。Launch 支援介於 +/- 2,147,483,648 之間的數字。您也可以使用多個小數位數,但如果您處於您認為必須這麼做的案例,則應重新思考您為了達成現況所做的某些決策。

方案

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

用戶端規則處理

規則的載入順序取決於規則動作是透過 JavaScript、HTML 或其他用戶端代碼設定,以及規則是否使用頁面底部或頂端事件,或不同類型的事件。
無論為規則設定的事件為何,您皆可在自訂指令碼內使用 document.write
您可以在它們之間排序不同的自訂程式碼類型。例如,您現在可以有 JavaScript 自訂程式碼動作、然後是 HTML 自訂程式碼動作,接著是 JavaScript 自訂程式碼動作。Launch 可確保依照該順序執行動作。

規則整合

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

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

這些事件幾乎都會執行 (除非條件評估為 false),因此為了提高效率,這些事件會整合至主程式庫,也就是您內嵌程式碼所參考的檔案。
  • Javascript: JavaScript 已內嵌於主要 Launch 程式庫中。自訂指令碼會包裝在指令碼標記中,並使用 document.write 寫入至文件。如果規則有多個自訂程式碼,則會依序寫入。
  • HTML: HTML 已內嵌於主要 Launch 程式庫中。 document.write 可用來將 HTML 寫入至文件。如果規則有多個自訂程式碼,則會依序寫入。

具有任何其他事件的規則

Adobe 無法保證會實際觸發其他任何規則,且會需要規則的動作程式碼。因此,上方未列出的所有事件類型動作,都不會封裝至主程式庫,但會儲存為子資源,由主程式庫依需求參考。
  • JavaScript: JavaScript 會從伺服器載入為一般文字、以指令碼標記包住,並使用 PostScribe 新增至文件中。如果規則有多個 JavaScript 自訂指令碼,則會從伺服器同時載入,不過會依照規則中所設定的相同順序執行。
  • HTML: HTML 已從伺服器載入,並已使用 Postscribe 新增到文件。如果規則有多個自訂 HTML 指令碼,則會從伺服器同時載入,不過會依照規則中所設定的相同順序執行。

規則元件排序

Launch 執行階段環境的行為取決於您屬性的「 Run rule components in sequence 」是否開啟。

啟用

如果已啟用,當執行階段觸發事件時,規則的條件和動作會根據您所定義的順序新增至處理佇列,並以 FIFO 方式一次處理一項。Launch 會等待元件處理完成,再移至下一個元件。
如果條件評估為 false 或達到所定義的逾時時間,系統會從佇列中移除該規則的後續條件和動作。
如果動作執行失敗或達到所定義的逾時時間,系統會從佇列中移除該規則的後續動作
啟用此設定後,即使您同步載入 Launch 程式庫,所有條件和動作仍會以非同步方式執行。

停用

如果已停用,當執行階段觸發事件時,系統會立即評估規則的條件。系統會同時評估多個條件。
如果所有條件都傳回 true (例外情況傳回 false),系統會立即執行規則的動作。系統會依順序呼叫這些動作,但 Launch 不會等到動作完成後才呼叫下一個動作。如果動作設為同步,系統仍會依順序執行。如果一或多個動作設為非同步,則會有部分動作同時執行。