核心擴充功能概觀

NOTE
Adobe Experience Platform Launch已經過品牌重塑,現在是Adobe Experience Platform中的一套資料收集技術。 因此,所有產品文件中出現了幾項術語變更。 如需術語變更的彙整參考資料,請參閱以下文件

核心標籤擴充功能是隨Adobe Experience Platform發佈的預設擴充功能。

本檔案提供使用核心擴充功能建立規則時可用選項的相關資訊。

核心擴充功能事件類型 core-extension-event-types

本主題說明核心擴充功能中可用的事件類型。如需可針對多種不同事件型別設定的選項相關資訊,請參閱 選項 區段。

瀏覽器型事件

標籤模糊

標籤失去焦點時,標籤模糊事件會觸發動作。 此事件類型沒有設定。

標籤聚焦

標籤獲得焦點時,標籤焦點事件會觸發動作。 此事件類型沒有設定。

表單

失焦

表單失去焦點時,模糊事件會觸發動作。 請參閱 選項 區段以取得可自訂事件設定的詳細資訊。

聚焦

焦點事件會在表單取得焦點時觸發此動作。 請參閱 選項 區段以取得可自訂事件設定的詳細資訊。

提交

提交表單時,提交事件會觸發動作。 請參閱 選項 區段以取得可自訂事件設定的詳細資訊。

鍵盤控制事件

按鍵點按

按下按鍵時,就會觸發此事件。 請參閱 選項 區段以取得可自訂事件設定的詳細資訊。

媒體型事件

媒體已結束

媒體結束時,就會觸發此事件。 請參閱 選項 區段以取得可自訂事件設定的詳細資訊。

媒體載入的資料

媒體載入資料時會觸發此事件。 請參閱 選項 區段以取得可自訂事件設定的詳細資訊。

媒體暫停

媒體暫停時會觸發此事件。 請參閱 選項 區段以取得可自訂事件設定的詳細資訊。

媒體播放

媒體播放時會觸發此事件。 請參閱 選項 區段以取得可自訂事件設定的詳細資訊。

媒體已中止

媒體停止時會觸發此事件。 請參閱 選項 區段以取得可自訂事件設定的詳細資訊。

Media-Time已播放

如果媒體播放了指定的時間長度,則會觸發此事件。 您必須指定媒體必須播放的持續時間,才能觸發事件。 請參閱 選項 區段以取得可自訂事件設定的詳細資訊。

Media-Volume已變更

如果音量提高或降低,則會觸發此事件。 請參閱 選項 區段以取得可自訂事件設定的詳細資訊。

行動裝置導向事件

方向變更

裝置的方向變更時,就會觸發事件。 您必須指定方向必須變更的持續時間,才能觸發事件。 此事件類型沒有設定。

縮放變更

若使用者放大或縮小,則觸發此事件。 此事件類型沒有設定。

滑鼠控制事件

按一下

如果選取(按一下)指定的元素,則會觸發此事件。 或者,您可以為元素指定在事件引發之前必須為 true 的屬性值。

如果元素是錨點標籤(<a>)至連結的內容時,您也可以指定是否將導覽延遲一段時間。 如果您的規則需要額外的執行時間,而且通常無法在頁面導覽發生之前完成,此功能會很有用。

WARNING
使用此選項時請格外小心,因為如果使用不正確,可能會對使用者體驗產生負面後果。

當您使用連結延遲時,Platform實際上會防止瀏覽器導覽離開頁面。 接著,它會在指定的逾時後,執行JavaScript重新導向至原始目的地。 當您的頁面標籤具有下列條件時,這會特別危險 <a> 預期功能不會實際導覽使用者離開頁面的標籤。 如果您無法以任何其他方式解決問題,您應該將選擇器的定義精確到極致,讓此事件將完全觸發您需要的位置,而不會觸發其他位置。

預設連結延遲值為100毫秒。 請注意,標籤會一律等候指定的時間,不會以任何方式連線至規則動作的執行。 延遲可能會強制使用者等候超過所需時間,也可能延遲的時間不足以讓規則的所有動作成功完成。 較長的延遲可提供更多規則執行時間,但也會惡化使用者體驗。

若要產生延遲,必須提供觸發事件的所選元素,以及觸發事件之前的特定時間量。

如需進階選項,請參閱 選項 區段以取得詳細資訊。

游標停留

如果使用者將游標停留在指定的元素上,則會觸發事件。 您也必須設定要立即觸發規則,還是在指定的毫秒數之後觸發。 請參閱 選項 區段以取得可自訂事件設定的詳細資訊。

其他事件

自訂事件

如果發生自訂事件型別,則會觸發事件。 在程式碼基底的其他位置定義的已命名JavaScript函式,可作為自訂事件型別使用。 您必須指定自訂事件型別的名稱,並依照所述配置任何其他設定。 選項 一節。

資料元素變更

如果指定的資料元素變更,則觸發此事件。 您必須提供資料元素的名稱。 您可以在文字欄位中輸入資料元素的名稱,或選取文字欄位右側的資料元素圖示,然後從出現的對話方塊內提供的清單中進行選擇,以選取資料元素。

直接呼叫 direct-call-event

直接呼叫事件會略過事件偵測和查詢系統。 若要告訴系統確切發生的狀況,適合使用直接呼叫規則。 此外,這類規則也非常適用於系統無法偵測DOM中事件的情況。

定義直接呼叫事件時,您必須指定將當作此事件識別碼的字串。 如果 觸發直接呼叫動作 會引發包含相同識別碼的任何直接呼叫事件規則,監聽該識別碼。

資料收集UI中直接呼叫事件的熒幕擷圖

元素存在

如果指定的元素存在,則觸發此事件。 請參閱 選項 區段以取得可自訂事件設定的詳細資訊。

進入檢視區

如果使用者進入指定的檢視區,則會觸發此事件。 您必須提供CSS選擇器作為鎖定相符元素的條件。 您也必須設定規則是要立即觸發還是在指定的毫秒數之後觸發,以及事件應該在每次事件發生時觸發,還是隻在第一次時觸發。

請參閱 選項 區段以取得可自訂事件設定的詳細資訊。

歷史記錄變更

如果發生pushState或hashchange事件,則會觸發此事件。 此事件類型沒有設定。

頁面逗留時間

如果使用者在頁面上停留指定的秒數,則會觸發事件。 您必須指定觸發事件之前必須經過的秒數。

頁面載入事件

DOM 已就緒

當DOM就緒時,就會觸發此事件,使用者便可與頁面互動。 此事件類型沒有設定。

程式庫已載入 (頁面頂端) library-loaded-page-top

載入標籤程式庫時,就會觸發事件。 此事件類型沒有設定。

頁面底部 page-bottom

事件觸發一次 _satellite.pageBottom(); 已呼叫。 非同步載入標籤程式庫時,不應使用此事件型別。 此事件類型沒有設定。

視窗已載入

當瀏覽器呼叫onLoad且頁面載入完成時,就會觸發事件。 此事件類型沒有設定。

選項 options

每個表單事件類型均使用下列設定:

特定元素 | 任何元素

  • 如果您選擇 特定元素,則會顯示選取元素和屬性值的選項。
  • 如果您選擇 任何元素 ​中,不需要進階選項來縮小元素。

符合 CSS 選擇器的元素

輸入可識別會觸發事件的元素之 CSS 選擇器。

且具有特定屬性值

一旦選取此選項,即可使用下列參數:

  • property=value

    指定屬性的值

  • Regex

    如果 property=value 為規則運算式,則啟用。

  • 新增

    新增另 property=value 組。

進階選項 (事件反昇)

  • 即使事件源自子系元素,仍執行此規則
  • 即使事件已觸發以子系元素為目標的規則,仍可執行此規則
  • 規則執行後,防止事件觸發以上階元素為目標的規則

核心擴充功能條件類型

本節說明核心擴充功能中可用的條件類型。這些條件類型可與正常或例外邏輯類型一起使用。

資料

指定 Cookie 名稱和哪個值必須存在,事件才會觸發動作。

  1. 指定 Cookie 名稱。
  2. 輸入 Cookie 中必須存在哪個值事件才會觸發動作。
  3. (選用) 若這是規則運算式,請啟用 Regex。

自訂程式碼

指定必須存在作為事件條件的任何自訂程式碼。

NOTE
自訂程式碼現在支援ES6+ JavaScript。 請注意,有些較舊的瀏覽器不支援ES6+。 若要瞭解使用ES6+函式的影響,請針對所有應受支援的網頁瀏覽器進行測試。

使用內建程式碼編輯器輸入自訂程式碼:

  1. 選取 開啟編輯器.
  2. 輸入自訂程式碼。
  3. 選取「儲存」。

名為 event 的變數會自動開放使用,以便您在自訂程式碼中參照。event 物件將包含觸發規則之事件的實用資訊。要判斷哪些資料事件可供使用,最簡單的方式是將自訂程式碼中的 event 登錄到控制台:

console.log(event);
return true;

在瀏覽器中執行規則,並在瀏覽器控制台中檢查您所登錄的事件物件。了解哪些資訊可供使用後,就能在自訂程式碼時適度參考,做出程式設計決策。

條件排序

啟用屬性設定的「依序執行規則元件」選項時,您可以讓後續的規則元件等候,先由條件執行非同步工作。

條件傳回 Promise 後,唯有當傳回的 Promise 順利解決後,才執行規則中的下一個條件。如果Promise遭拒,標籤會將該條件視為執行失敗,不會執行該規則的其他條件或動作。

傳回 Promise 的條件範例:

return new Promise(function(resolve, reject) {
  setTimeout(function() {
    if (new Date().getDay() === 5) {
      resolve();
    } else {
      reject();
    }
  }, 1000);
});

值比較 value-comparison

比較兩個值以判斷此條件是否傳回 true。

如果規則具有多個條件,則可能因為其他條件評估為 false,或有一個例外評估為 true,造成此條件會傳回 true,但規則仍不會引發。

  1. 提供一個值。
  2. 選取運算子。請參閱下方的值比較運算子清單,以了解詳細資訊。
  3. (必要時) 選取比較是否應區分大小寫。
  4. 提供另一個值作為比較對象。

可使用下列的值比較運算子:

等於: ​如果使用非嚴格比較,且兩值相等 (在 JavaScript 中為「==」運算子),則條件會傳回 true。值可為任何類型。在值欄位中輸入 truefalsenullundefined 時,系統會將該字詞當成字串進行比較,且不會轉換為其 JavaScript 相等值。

不等於: ​如果使用非嚴格 (non-strict) 比較,且兩值不相等 (在 JavaScript 中為「! =」運算子),則條件會傳回 true。值可為任何類型。在值欄位中輸入 truefalsenullundefined 時,系統會將該字詞當成字串進行比較,且不會轉換為其 JavaScript 相等值。

包含: ​如果第一個值包含第二個值,則條件會傳回 true。數字會轉換為字串。數字或字串以外的任何值會都導致條件傳回 false。

不包含: ​如果第一個值不包含第二個值,則條件會傳回 true。數字會轉換為字串。數字或字串以外的任何值都會導致條件傳回 true。

開頭為: ​如果第一個值開頭為第二個值,則條件會傳回 true。數字會轉換為字串。數字或字串以外的任何值會都導致條件傳回 false。

開頭非為: ​如果第一個值的開頭不是第二個值,則條件會傳回 true。數字會轉換為字串。數字或字串以外的任何值會都導致條件傳回 true。

結尾為: ​如果第一個值的結尾是第二個值,則條件會傳回 true。數字會轉換為字串。數字或字串以外的任何值會都導致條件傳回 false。

結尾非為: ​如果第一個值的結尾不是第二個值,則條件會傳回 true。數字會轉換為字串。數字或字串以外的任何值會都導致條件傳回 true。

符合 Regex: ​如果第一個值符合規則運算式,則條件會傳回 true。數字會轉換為字串。數字或字串以外的任何值會都導致條件傳回 false。

不符合 Regex: ​如果第一個值不符合規則運算式,則條件會傳回 true。數字會轉換為字串。數字或字串以外的任何值會都導致條件傳回 true。

小於: ​如果第一個值小於第二個值,則條件會傳回 true。代表數字的字串會轉換為數字。數字或可轉換字串以外的任何值都會導致條件傳回 false。

小於或等於: ​如果第一個值小於或等於第二個值,則條件會傳回 true。代表數字的字串會轉換為數字。數字或可轉換字串以外的任何值都會導致條件傳回 false。

大於: ​如果第一個值大於第二個值,則條件會傳回 true。代表數字的字串會轉換為數字。數字或可轉換字串以外的任何值都會導致條件傳回 false。

大於或等於: ​如果第一個值大於或等於第二個值,則條件會傳回 true。代表數字的字串會轉換為數字。數字或可轉換字串以外的任何值都會導致條件傳回 false。

為 True: ​如果值是布林值且為 true,則條件會傳回 true。若提供的值是任何其他類型,則不會轉換為布林值。帶有 true 值的布林值以外的任何值都會導致條件傳回 false。

為 Truthy: ​如果值在轉換為布林值後為 true,條件會傳回 true。如需 Truthy 值的範例 ,請參閱 MDN 的 Truthy 文件

為 False: ​如果值是布林值且為 false,則條件會傳回 true。若提供的值是任何其他類型,則不會轉換為布林值。帶有 false 值的布林值以外的任何值都會導致條件傳回 false。

為 Falsy: ​如果值轉換為布林值後為 false,條件會傳回 true。如需 Falsy 值的範例 ,請參閱 MDN 的 Falsy 文件

變數

指定 JavaScript 變數名稱和哪個值必須存在,事件才會觸發動作。

  1. 指定 JavaScript 變數名稱。
  2. 指定必須存在作為事件條件的變數值。
  3. (選用) 若這是規則運算式,請啟用 Regex。

參與

登陸頁面

指定使用者必須在哪個頁面登陸才會觸發事件。

  1. 指定登陸頁面。
  2. (選用) 若這是規則運算式,請啟用 Regex。

新訪客/回訪訪客

指定訪客須為新訪客或舊訪客,事件才會觸發動作。

選取下列其中一項:

  • 新訪客
  • 回訪訪客

頁面檢視

設定觸發動作之前訪客必須檢視頁面幾次。

  1. 選擇頁面檢視次數必須大於、等於或小於指定值。

  2. 指定決定是否符合條件的頁面檢視次數。

  3. 選擇下列其中一項,設定計入頁面檢視次數的時間:

    • 期限
    • 目前的工作階段

工作階段

若使用者的工作階段數符合指定準則,則觸發動作。

  1. 選擇工作階段數必須大於、等於或小於指定值。
  2. 指定決定是否符合條件的工作階段數。

網站逗留時間

若使用者的工作階段數符合指定準則,則觸發動作。

設定訪客必須在網站上逗留多久才會觸發動作。

  1. 選取訪客在網站上逗留的分鐘數必須大於、等於或小於指定值。
  2. 指定決定是否符合條件的分鐘數。

流量來源

若使用者的工作階段數符合指定準則,則觸發動作。

指定訪客流量的來源必須為何才會觸發動作。

  1. 指定流量來源。
  2. (選用) 若這是規則運算式,請啟用 Regex。

技術

瀏覽器

選取訪客必須使用哪個瀏覽器才會觸發動作。

選取下列一或多個瀏覽器:

  • Chrome
  • Firefox
  • Internet Explorer/Edge
  • Internet Explorer Mobile
  • Mobile Safari
  • OmniWeb
  • Opera
  • Opera Mini
  • Opera Mobile
  • Safari

裝置類型

選取訪客必須使用哪種裝置類型才會觸發動作。

選取下列一或多種裝置類型:

  • Android
  • Blackberry
  • 桌面
  • iPad
  • iPhone
  • iPod
  • Nokia
  • Windows Phone

作業系統

選取訪客必須使用哪個作業系統才會觸發動作。

選取下列一或多個作業系統:

  • Android
  • Blackberry
  • iOS
  • Linux
  • MacOS
  • Maemo
  • Symbian OS
  • Unix
  • Windows

螢幕解析度

選取訪客必須在其裝置上使用哪種螢幕解析度才會觸發動作。

  1. 選取訪客裝置的螢幕解析度寬度必須大於、等於或小於指定值。
  2. 指定要求的螢幕解析度寬度像素。
  3. 選取訪客裝置的螢幕解析度高度必須大於、等於或小於指定值。
  4. 指定要求的螢幕解析度高度像素。

視窗大小

選取訪客必須在其裝置上使用多大的視窗才會觸發動作。

  1. 選取訪客裝置的視窗大小寬度是否必須大於、等於或小於指定值。
  2. 指定要求的視窗大小寬度像素。
  3. 選取訪客裝置的視窗大小高度必須大於、等於或小於指定值。
  4. 指定要求的視窗大小高度像素。

URL

網域

指定訪客的網域。

雜湊

指定 URL 中必須存在的一或多個雜湊模式。

NOTE
您可使用 OR 聯結多個雜湊模式。
  1. 指定雜湊模式。
  2. (選用) 若這是規則運算式,請啟用 Regex。
  3. 新增任何其他雜湊模式。

路徑和查詢字串

指定 URL 中必須存在的一或多個路徑。這包括路徑和查詢字串。

NOTE
您可使用 OR 聯結多個路徑。
  1. 指定路徑。
  2. (選用) 若這是規則運算式,請啟用 Regex。
  3. 新增任何其他路徑。

不含查詢字串的路徑

指定 URL 中必須存在的一或多個路徑。這包括路徑,但不包括查詢字串。

NOTE
您可使用 OR 聯結多個路徑。
  1. 指定路徑。
  2. (選用) 若這是規則運算式,請啟用 Regex。
  3. 新增任何其他路徑。

通訊協定

指定 URL 中使用的通訊協定。

選取下列其中一項:

  • HTTP
  • HTTPS

查詢字串參數

指定 URL 中使用的 URL 參數。

  1. 指定 URL 參數名稱。
  2. 指定用於 URL 參數的值。
  3. (選用) 若這是規則運算式,請啟用 Regex。

子網域

指定 URL 中必須存在的一或多個子網域。

NOTE
您可使用 OR 聯結多個子網域。
  1. 指定子網域。
  2. (選用) 若這是規則運算式,請啟用 Regex。
  3. 新增任何其他子網域。

其他

日期範圍

指定日期範圍。選擇事件發生之後的日期和時間、事件發生之前的日期,以及時區。

最大頻率

指定條件傳回 true 的次數上限。您可選取下列選項:

  • 頁面檢視
  • 工作階段
  • 訪客
  • 分鐘

若每一工作階段的條件最大頻率為 1,系統會比較這兩個 localStorage 項目。如果 visitorTracking.sessionCount 大於 maxFrequency.session 計數,則取樣條件為 true。如果相等,則條件為 false。

sessionCountvisitorTracking 項目,因此您必須啟用訪客 API,取樣條件才能正常運作。

取樣

指定條件傳回 true 的時間百分比。

核心擴充功能動作類型

本節說明核心擴充功能中可用的動作類型。

自訂程式碼

NOTE
自訂程式碼現在支援ES6+ JavaScript。 請注意,有些較舊的瀏覽器不支援ES6+。 若要瞭解使用ES6+函式的影響,請針對所有應受支援的網頁瀏覽器進行測試。

提供觸發事件和評估條件後執行的程式碼。

  1. 為動作程式碼命名。

  2. 選取用來定義動作的語言:

    • JavaScript
    • HTML
  3. 選取是否要全域執行動作程式碼。

  4. 選取 開啟編輯器.

  5. 編輯程式碼,然後選取 儲存.

當您選取 JavaScript 作為程式語言時,名為 event 的變數會自動開放使用,以便您在自訂程式碼中參照。event 物件將包含觸發規則之事件的實用資訊。要判斷哪些資料事件可供使用,最簡單的方式是將自訂程式碼中的 event 登錄到控制台:

console.log(event);

在瀏覽器中執行規則,並在瀏覽器控制台中檢查您所登錄的事件物件。了解哪些資訊可供使用後,就能在自訂程式碼時適度參考,以便做出程式設計決策、傳送 event 物件的片段到伺服器等等。

自訂程式碼動作處理

核心擴充功能適用於所有Adobe Experience Platform使用者,其中包含用於執行使用者所提供JavaScript或HTML的自訂程式碼動作。 通常可幫助使用者了解系統如何處理具有自訂程式碼動作的規則。

使用 page top 或 page bottom 事件的規則

自訂動作的程式碼內嵌在主標籤程式庫中。 需用 document.write 將程式碼寫入文件中。若規則中有多個自訂程式碼動作,則會按照規則中設定的順序寫入程式碼。

使用 page top 或 page bottom 以外任何事件的規則

自訂動作的程式碼會從伺服器載入,並使用 Postscribe 寫入文件中。若規則中有多個自訂程式碼動作,則會同時從伺服器載入程式碼,但按照規則設定的順序寫入。

雖然在頁面載入後使用 document.write 通常會出現問題,但這不是透過「自訂程式碼」動作提供的程式碼所造成的問題。無論程式碼執行的時機為何,您都可以在「自訂程式碼」動作中使用 document.write。

自訂程式碼驗證

標籤程式碼編輯器中使用的驗證器,專門用於識別開發人員所編寫程式碼的問題。 經過極簡化程序的程式碼 (例如從 Code Manager 下載的 AppMeasurement.js 程式碼) 可能會遭驗證器誤判而標示為有問題,這通常能予以忽略。

動作排序

啟用屬性設定的「依序執行規則元件」選項時,您可以讓後續的規則元件等候,先由動作執行非同步工作。 這對 JavaScript 和 HTML 自訂程式碼的運作方式不同。

JavaScript

建立 JavaScript 自訂程式碼動作後,您可能會從動作傳回 Promise。唯有傳回的 Promise 順利解決後,系統才會執行規則中的下一個動作。如果 Promise 遭拒,系統就不會執行規則的下一個動作。

NOTE
唯有JavaScript未設為全域執行時,才能使用此功能。 如果您正在全域範圍中執行自訂程式碼動作,標籤會將Promise視為已立即解決,並移至處理佇列中的下一個專案。

傳回 Promise 的 JavaScript 自訂程式碼動作範例:

return new Promise(function(resolve, reject) {
  setTimeout(function() {
    if (new Date().getDay() === 5) {
      resolve();
    } else {
      reject();
    }
  }, 1000);
});

HTML

建立 HTML 自訂程式碼動作時,將可在自訂程式碼中使用 onCustomCodeSuccess() 函數。您可以藉由呼叫此函式,指出自訂程式碼已完成,且標籤可以繼續執行後續動作。 另一方面,如果您的自訂程式碼在某個環節執行失敗,您可以呼叫 onCustomCodeFailure()。如此一來,標籤就不會執行該規則的後續動作。

使用新回呼的 HTML 自訂程式碼動作範例:

<script>
setTimeout(function() {
  if (new Date().getDay() === 5) {
    onCustomCodeSuccess();
  } else {
    onCustomCodeFailure();
  }
}, 1000);
</script>

觸發直接呼叫 direct-call-action

此動作會觸發使用特定規則的所有規則 直接呼叫事件. 設定動作時,您必須提供要觸發之直接呼叫事件的識別碼字串。 您也可以選擇透過,將資料傳遞至直接呼叫事件。 detail 物件,可包含一組自訂的索引鍵/值組。

資料收集UI中觸發直接呼叫動作的熒幕擷圖

此動作直接對應至 track 方法satellite 物件,可由使用者端代碼存取。

核心擴充功能資料元素類型

資料元素類型由擴充功能決定。可建立的類型沒有限制。

以下各節會說明核心擴充功能中可用的資料元素類型。其他擴充功能則使用其他類型的資料元素。

任何可在下列欄位中參考的可用網域 Cookie:Cookie 名稱欄位。

範例:

cookieName

常數

之後可在動作或條件中參考的任何常數字串值。

範例:

string

自訂程式碼

NOTE
自訂程式碼現在支援ES6+ JavaScript。 請注意,有些較舊的瀏覽器不支援ES6+。 若要瞭解使用ES6+函式的影響,請針對所有應受支援的網頁瀏覽器進行測試。

您可以選取「開啟編輯器」,並在編輯器視窗中插入程式碼,藉此在 UI 中輸入自訂 JavaScript。

您必須在編輯器視窗中輸入傳回陳述式,以指明應作為資料元素值使用的值。如果未包含傳回陳述式或傳回 nullundefined 值,則資料元素的預設值會作為資料元素值使用。

範例:

var pageType = $('div.page-wrapper').attr('class').split('')[1];
if (window.location.pathname == '/') {
  return 'homepage';
} else {
  return pageType;
}

如果自訂程式碼資料元素是在執行規則期間所擷取,則名為 event 的變數會自動開放使用,以便您在自訂程式碼中參照。event 物件將包含觸發規則之事件的實用資訊。要判斷哪些資料事件可供使用,最簡單的方式是將自訂程式碼中的 event 登錄到控制台:

console.log(event);
return true;

在瀏覽器中執行規則,並在瀏覽器控制台中檢查您所登錄的事件物件。了解可能會使用您資料元素的各種規則中,有哪些資訊可供使用之後,就能在自訂程式碼時參考,以便做出程式設計決策,或將 event 物件的片段作為資料元素的值傳回。

DOM 屬性

任何可擷取的元素值,例如 div 或 H1 標籤。

範例:

CSS 選擇器鏈結:

id#dc logo img

取得下列項目的值:

src

JavaScript 變數

任何可用的 JavaScript 物件或變數可使用下列路徑欄位參照。

標籤資料元素可用於擷取您的標籤JavaScript變數或物件屬性。 接著,您可在擴充功能或自訂規則中,藉由參照標籤資料元素來使用這些值。 如果資料來源變更,則只需更新來源的參照即可。

在以下範例中,標籤包含稱為的JavaScript變數 Page_Name.

<script>
  //data layer
  var Page_Name = "Homepage"
</script>

建立資料元素時,只需提供該變數的路徑。

如果您使用資料收集器物件作為資料層的一部分,請在路徑中使用點記號來參照您要擷取到資料元素中的物件和屬性,例如 _myData.pageName,或 digitalData.pageName、等等。

範例:

window.document.title

本機儲存

在「本機儲存項目名稱」欄位中提供本機儲存項目的名稱。

本機儲存讓瀏覽器能在頁面之間儲存資訊 (https://www.w3schools.com/html/html5_webstorage.asp)。本機儲存的運作方式與 Cookie 類似,但更大也更有彈性。

使用提供的欄位來指定您為本機儲存項目建立的值,例如 lastProductViewed.

合併的物件

選取多個資料元素,每個元素都會提供物件。 這些物件將深層(遞回)合併在一起,以產生新物件。 將不會修改來源物件。 如果在多個來源物件的相同位置找到屬性,則會使用後一個物件的值。 如果來源屬性值是 undefined,不會覆寫先前來源物件的值。 如果在多個來源物件的相同位置找到陣列,則會串連陣列。

例如,假設您選取的資料元素會提供下列物件:

{
  "sport": {
    "name": "tennis"
  },
  "dessert": "ice cream",
  "fruits": [
    "apple",
    "banana"
  ]
}

假設您也選取提供下列物件的其他資料元素:

{
  "sport": {
    "name": "volleyball"
  },
  "dessert": undefined,
  "pet": "dog",
  "instrument": undefined,
  "fruits": [
    "cherry",
    "duku"
  ]
}

「合併的物件」資料元素的結果會是下列物件:

{
  "sport": {
    "name": "volleyball"
  },
  "dessert": "ice cream",
  "pet": "dog",
  "instrument": undefined,
  "fruits": [
    "apple",
    "banana",
    "cherry",
    "duku"
  ]
}

頁面資訊

使用這些資料點來擷取頁面資訊,以便用於規則邏輯或者傳送資訊至 Analytics 或外部追蹤系統。

您可以選取下列其中一個頁面屬性以用於資料元素:

  • URL
  • 主機名稱
  • 路徑名稱
  • 通訊協定
  • 反向連結
  • 標題

查詢字串參數

在「URL 參數」欄位中指定單一 URL 參數。

只需指定名稱部分,任何特殊指示項 (如 "?"或「=」)

範例:

contentType

隨機數字

使用此資料元素產生隨機數字。它通常用於取樣資料或建立ID,例如點選ID。 隨機數字也可用來模糊化敏感性資料,或對其進行 Salt 處理。某些範例可能包括:

  • 產生點擊 ID
  • 將數字串聯至使用者代號或時間戳記以確保獨特性
  • 對 PII 資料執行單向雜湊
  • 隨機決定在網站上顯示調查要求的時機

指定隨機數字的最小值和最大值。

預設值:

最小:0

最大:1000000000

工作階段儲存

在「工作階段儲存項目名稱」欄位中提供工作階段儲存項目的名稱。

工作階段儲存與本機儲存類似,除了在工作階段結束後會捨棄資料,但本機儲存或 Cookie 可能會保留資料。

訪客行為

與「頁面資訊」類似,此資料元素使用常見行為型別,在規則和其他平台解決方案中擴充邏輯。

選取下列其中一個訪客行為屬性:

  • 登陸頁面
  • 流量來源
  • 網站逗留分鐘數
  • 工作階段計數
  • 工作階段頁面檢視計數
  • 期限頁面檢視計數
  • 新訪客身分

常見的使用案例包括:

  • 訪客在網站逗留 5 分鐘後顯示調查
  • 如果這是造訪的登陸頁面,請填入 Analytics 量度
  • 在 X 次工作階段計數後向訪客顯示新活動內容
  • 若為首次訪客,顯示電子報註冊

條件值

的包裝函式 值比較 條件。 根據比較的結果,將會傳回表單中兩個可用值之一。 因此可以處理「如果……然後……否則……」不需要額外規則的情況。

執行階段環境

可讓您選取下列其中一個變數:

  • 環境階段 — 傳回 _satellite.environment.stage 以區分開發/測試/生產環境。
  • 程式庫建置日期 — 傳回 turbine.buildInfo.buildDate 包含相同的值,例如 _satellite.buildInfo.buildDate.
  • 屬性名稱 — 傳回 _satellite.property.name 以取得Launch屬性的名稱。
  • 屬性ID — 傳回 _satellite.property.id 若要取得Launch屬性的ID
  • 規則名稱 — 傳回 event.$rule.name 包含已執行規則的名稱。
  • 規則ID — 傳回 event.$rule.id 包含已執行規則的ID。
  • 事件型別 — 傳回 event.$type 包含觸發規則之事件的型別。
  • 事件詳細資料裝載 — 傳回 event.detail 包含自訂事件或直接呼叫規則的裝載。
  • 直接呼叫識別碼 — 傳回 event.identifier 包含直接呼叫規則的識別碼。

裝置屬性

傳回下列其中一個訪客裝置屬性:

  • 瀏覽器視窗大小
  • 熒幕大小

JavaScript工具

它是常見JavaScript作業的包裝函式。 它會接收資料元素作為輸入。 它會傳回資料元素值的下列其中一個轉換的結果:

  • 基本字串操作(取代、子字串、規則運算式相符、第一個和最後一個索引、分割、切片)
  • 基本陣列作業(切片、聯結、彈出、移位)
  • 基本通用操作(切片、長度)
recommendation-more-help
12b4e4a9-5028-4d88-8ce6-64a580811743