[整合]{class="badge positive"}

使用Adobe Analytics追蹤已點按的元件

使用事件導向的Adobe使用者端資料層搭配AEM核心元件,追蹤Adobe Experience Manager網站上特定元件的點按次數。 瞭解如何使用Tag屬性中的規則來監聽點選事件、依元件篩選資料,以及透過追蹤連結信標將資料傳送至Adobe Analytics。

您即將建置的內容 what-build

WKND行銷團隊想要瞭解哪些Call to Action (CTA)按鈕在首頁上表現最佳。 在本教學課程中,我們將規則新增至標籤屬性,該屬性會聆聽​ Teaser ​和​ Button ​元件中的cmp:click事件。 然後連同追蹤連結信標將元件ID和新的事件傳送至Adobe Analytics。

您將建立哪些追蹤點按

目標 objective

  1. 在擷取cmp:click事件的標籤屬性中建立事件導向規則。
  2. 依元件資源型別篩選不同事件。
  3. 設定元件ID,並使用追蹤連結信標將事件傳送至Adobe Analytics。

先決條件

本教學課程是使用Adobe Analytics收集頁面資料的延續,並假設您擁有:

Inspect按鈕和Teaser結構

在標籤屬性中建立規則之前,請檢閱Button和Teaser🔗的結構描述,並在資料層實作中檢查它們,這樣會很有用。

  1. 導覽至WKND首頁

  2. 開啟瀏覽器的開發人員工具,並導覽至​ 主控台。 執行以下命令:

    code language-js
    adobeDataLayer.getState();
    

    上述程式碼會傳回Adobe使用者端資料層的目前狀態。

    透過瀏覽器主控台 資料層狀態

  3. 展開回應並尋找以button-teaser-xyz-cta專案為前置詞的專案。 您應該會看到類似以下的資料結構:

    按鈕結構:

    code language-json
    button-2e6d32893a:
        @type: "wknd/components/button"
        dc:title: "View All"
        parentId: "page-2eee4f8914"
        repo:modifyDate: "2020-07-11T22:17:55Z"
        xdm:linkURL: "/content/wknd/us/en/magazine.html"
    

    Teaser結構:

    code language-json
    teaser-da32481ec8-cta-adf3c09db9:
        @type: "wknd/components/teaser/cta"
        dc:title: "Surf's Up"
        parentId: "teaser-da32481ec8"
        xdm:linkURL: "/content/wknd/us/en/magazine/san-diego-surf.html"
    

    以上資料詳細資料是根據元件/容器專案結構描述。 新標籤規則會使用此結構描述。

建立CTA點選規則

Adobe使用者端資料層是​ 事件 ​驅動的資料層。 每當按一下任何核心元件時,都會透過資料層傳送cmp:click事件。 若要接聽cmp:click事件,請建立規則。

  1. 導覽至Experience Platform並進入與AEM網站整合的標籤屬性。

  2. 導覽至標籤屬性UI中的​ 規則 ​區段,然後按一下​ 新增規則

  3. 將規則​ CTA點按 ​命名。

  4. 按一下​ 事件 > 新增 ​以開啟​ 事件設定 ​精靈。

  5. 針對​ 事件型別 ​欄位,選取​ 自訂程式碼

    將規則CTA點選命名並新增自訂程式碼事件

  6. 按一下主面板中的​ 開啟編輯器,然後輸入下列程式碼片段:

    code language-js
    var componentClickedHandler = function(evt) {
       // defensive coding to avoid a null pointer exception
       if(evt.hasOwnProperty("eventInfo") && evt.eventInfo.hasOwnProperty("path")) {
          //trigger Tag Rule and pass event
          console.debug("cmp:click event: " + evt.eventInfo.path);
          var event = {
             //include the path of the component that triggered the event
             path: evt.eventInfo.path,
             //get the state of the component that triggered the event
             component: window.adobeDataLayer.getState(evt.eventInfo.path)
          };
    
          //Trigger the Tag Rule, passing in the new `event` object
          // the `event` obj can now be referenced by the reserved name `event` by other Tag Property data elements
          // i.e `event.component['someKey']`
          trigger(event);
       }
    }
    
    //set the namespace to avoid a potential race condition
    window.adobeDataLayer = window.adobeDataLayer || [];
    //push the event listener for cmp:click into the data layer
    window.adobeDataLayer.push(function (dl) {
       //add event listener for `cmp:click` and callback to the `componentClickedHandler` function
       dl.addEventListener("cmp:click", componentClickedHandler);
    });
    

    上述程式碼片段透過將函式推入資料層,以新增事件接聽程式。 每當觸發cmp:click事件時,就會呼叫componentClickedHandler函式。 在此函式中,已新增一些健全性檢查,並為觸發事件的元件,以資料層🔗的最新狀態建構新的event物件。

    最後呼叫trigger(event)函式。 trigger()函式是標籤屬性中的保留名稱,它會​ 觸發規則event物件傳遞為引數,而該引數又由標籤屬性中的另一個保留名稱公開。 標籤屬性中的資料元素現在可以使用程式碼片段(例如event.component['someKey'])來參考各種屬性。

  7. 儲存變更。

  8. 接下來,在​ 動作 ​底下,按一下​ 新增 ​以開啟​ 動作組態 ​精靈。

  9. 對於​ 動作型別 ​欄位,請選擇​ 自訂程式碼

    自訂程式碼動作型別

  10. 按一下主面板中的​ 開啟編輯器,然後輸入下列程式碼片段:

    code language-js
    console.debug("Component Clicked");
    console.debug("Component Path: " + event.path);
    console.debug("Component type: " + event.component['@type']);
    console.debug("Component text: " + event.component['dc:title']);
    

    event物件是從自訂事件中呼叫的trigger()方法傳遞。 component物件是從資料層getState()方法衍生的元件的目前狀態,而且是觸發點選的元素。

  11. 儲存變更並在標籤屬性中執行組建,以將程式碼提升至您AEM網站上使用的環境

    note note
    NOTE
    使用Adobe Experience Platform Debugger將內嵌程式碼切換至​ 開發 ​環境可能很有用。
  12. 導覽至WKND網站,並開啟開發人員工具以檢視主控台。 此外,請選取​ 保留記錄檔 ​核取方塊。

  13. 按一下​ Teaser ​或​ 按鈕 CTA按鈕之一,以導覽至其他頁面。

    要按一下 CTA按鈕

  14. 在開發人員主控台中觀察是否已引發​ CTA Clicked ​規則:

    已按下 CTA按鈕

建立資料元素

接著,建立資料元素以擷取已點按的元件ID和標題。 回想一下在上一個練習中,event.path的輸出類似於component.button-b6562c963d,而event.component['dc:title']的值類似於「檢視行程」。

元件ID

  1. 導覽至Experience Platform並進入與AEM網站整合的標籤屬性。

  2. 瀏覽至​ 資料元素 ​區段,然後按一下​ 新增資料元素

  3. 在​ 名稱 ​欄位中,輸入​ 元件識別碼

  4. 針對​ 資料元素型別 ​欄位,選取​ 自訂程式碼

    元件ID資料元素表單

  5. 按一下​ 開啟編輯器 ​按鈕,然後在自訂程式碼編輯器中輸入下列內容:

    code language-js
    if(event && event.path && event.path.includes('.')) {
        // split on the `.` to return just the component ID
        return event.path.split('.')[1];
    }
    
  6. 儲存變更。

    note note
    NOTE
    回想一下,已根據在標籤屬性中觸發​ 規則 ​的事件,提供event物件並設定範圍。 在規則中的資料元素為​ referenced ​之前,不會設定資料元素的值。 因此,在上一個步驟​ 中建立的​ Page Loaded ​規則之類的規則內使用此資料元素是安全的,但 ​在其他內容中使用此資料元素是不安全的。

元件標題

  1. 瀏覽至​ 資料元素 ​區段,然後按一下​ 新增資料元素

  2. 在​ Name ​欄位中,輸入​ 元件標題

  3. 針對​ 資料元素型別 ​欄位,選取​ 自訂程式碼

  4. 按一下​ 開啟編輯器 ​按鈕,然後在自訂程式碼編輯器中輸入下列內容:

    code language-js
    if(event && event.component && event.component.hasOwnProperty('dc:title')) {
        return event.component['dc:title'];
    }
    
  5. 儲存變更。

將條件新增至CTA點按規則

接下來,更新​ CTA Clicked ​規則,以確保該規則只在​ Teaser ​或​ Button ​觸發cmp:click事件時引發。 由於Teaser的CTA在資料層中被視為個別物件,因此請務必檢查父系,以確認其來自Teaser。

  1. 在標籤屬性UI中,導覽至先前建立的​ 已點按CTA ​規則。

  2. 在​ 條件 ​下,按一下​ 新增 ​以開啟​ 條件組態 ​精靈。

  3. 針對​ 條件型別 ​欄位,選取​ 自訂程式碼

    CTA點按條件自訂代碼

  4. 按一下​ 開啟編輯器,然後在自訂程式碼編輯器中輸入下列內容:

    code language-js
    if(event && event.component && event.component.hasOwnProperty('@type')) {
        // console.log("Event Type: " + event.component['@type']);
        //Check for Button Type OR Teaser CTA type
        if(event.component['@type'] === 'wknd/components/button' ||
           event.component['@type'] === 'wknd/components/teaser/cta') {
            return true;
        }
    }
    
    // none of the conditions are met, return false
    return false;
    

    上述程式碼會先檢查資源型別是否來自​ Button,或資源型別是否來自​ Teaser ​內的CTA。

  5. 儲存變更。

設定Analytics變數並觸發追蹤連結信標

目前​ CTA Clicked ​規則只會輸出主控台陳述式。 接下來,使用資料元素和Analytics擴充功能,將Analytics變數設為​ 動作。 讓我們設定額外的動作,以觸發​ 追蹤連結,並將收集的資料傳送至Adobe Analytics。

  1. 在​ CTA Clicked ​規則中,移除 核心 — 自訂程式碼 ​動作(主控台陳述式):

    移除自訂程式碼動作

  2. 在[動作]底下,按一下[新增] ​以建立動作。

  3. 將​ 擴充功能 ​型別設定為​ Adobe Analytics,並將​ 動作型別 ​設定為​ 設定變數

  4. 設定​ eVarsProps ​和​ Events ​的下列值:

    • evar8 - %Component ID%
    • prop8 - %Component ID%
    • event8

    設定eVarProp和事件

    note note
    NOTE
    使用這裡%Component ID%,因為它保證所點按的CTA有唯一識別碼。 使用%Component ID%的潛在缺點是Analytics報表包含button-2e6d32893a之類的值。 使用%Component Title%會提供更人性化的名稱,但值可能不是唯一的。
  5. 接下來,點選​ 加上 ​圖示,在​ Adobe Analytics — 設定變數 ​的右側新增一個額外動作:

    新增額外的動作至標籤規則

  6. 將​ 擴充功能 ​型別設定為​ Adobe Analytics,並將​ 動作型別 ​設定為​ 傳送信標

  7. 在​ 追蹤 ​底下,將選項按鈕設定為​ s.tl()

  8. 對於​ 連結型別 ​欄位,請選擇​ 自訂連結,對於​ 連結名稱,將值設定為: %Component Title%: CTA Clicked

    傳送連結信標的 設定

    上述設定結合資料元素​ 元件標題 ​的動態變數與靜態字串​ 已點按

  9. 儲存變更。 CTA已點按 ​規則現在應具有下列設定:

    最終標籤規則組態

    • 1。 ​接聽cmp:click事件。
    • 2。 ​檢查事件是否由​ 按鈕 ​或​ Teaser ​觸發。
    • 3。 ​設定Analytics變數以追蹤​ 元件識別碼,作為​ eVarprop ​和​ 事件
    • 4。 ​傳送Analytics追蹤連結信標(並​ 不會 ​將其視為頁面檢視)。
  10. 儲存所有變更並建置您的標籤程式庫,升級至適當的環境。

驗證追蹤連結信標和Analytics呼叫

現在​ CTA Clicked ​規則會傳送Analytics信標,您應該能夠使用Analytics Debugger檢視Experience Platform追蹤變數。

  1. 在瀏覽器中開啟WKND網站

  2. 按一下Debugger圖示 Experience Platform Debugger圖示 以開啟Experience PlatformDebugger。

  3. 如先前所述,確認Debugger將標籤屬性對應至​ 您的 ​開發環境,並檢查​ 主控台記錄

  4. 開啟Analytics功能表,並確認報表套裝已設為​ 您的 ​報表套裝。

    Analytics索引標籤偵錯工具

  5. 在瀏覽器中,按一下​ Teaser ​或​ 按鈕 CTA按鈕之一以瀏覽至其他頁面。

    要按一下 CTA按鈕

  6. 返回Experience Platform偵錯工具,向下捲動並展開​ 網路要求 > 您的報表套裝。 您應該可以找到​ eVarprop ​和​ 事件 ​集。

    點選時追蹤的Analytics事件、evar和prop

  7. 返回瀏覽器並開啟開發人員主控台。 導覽至網站頁尾,然後按一下其中一個導覽連結:

    按一下頁尾中的導覽連結

  8. 在瀏覽器主控台中觀察未符合規則「CTA已點按」的訊息​ 「自訂程式碼」

    上述訊息是因為Navigation元件確實觸發cmp:click事件​ ,因為規則🔗的條件會檢查資源型別,而不會採取任何動作。

    note note
    NOTE
    如果您沒有看到任何主控台記錄,請確定已在Experience Platform偵錯工具的​ Experience Platform標籤 ​下檢查​ 主控台記錄

恭喜!

您剛才在Experience Platform中使用事件導向的Adobe使用者端資料層和標籤來追蹤AEM網站上特定元件的點按次數。

recommendation-more-help
bb44cebf-d964-4e3c-b64e-ce882243fe4d