搭配Adobe Analytics和Dynamic Tag Manager(DTM)使用Livefyre

設定Adobe Analytics和Dynamic Tag Manager(DTM)以收集Livefyre應用程式的資料。

步驟1:在Adobe Analytics中設定事件

將Livefyre事件對應至Adobe Analytics報表套裝管理器中的一或多個自訂成功事件。

如需「報表套裝管理器」的詳細資訊,請參閱報表套裝管理器

  1. 以管理員使用者身分登入Adobe Analytics。
  2. 開啟Adobe Analytics管理員報表套裝管理器。
  3. 建立新的報表套裝或選擇現有的報表套裝。
  4. 按一下要修改的報表套裝,然後導覽至​Edit Settings > Conversion > Success Events,以編輯報表套裝。
  5. 將Livefyre事件對應至一或多個自訂成功事件。

步驟2:設定轉換變數

將Livefyre轉換變數(eVar)對應至Adobe Analytics管理報表套裝管理器中的轉換變數。 轉換變數的作用就像排序函式,可決定您打算如何識別從Livefyre事件收集的資料。

  1. 在「報表套裝管理器」中,按一下「Edit Settings > Conversion > Conversion Variables」。

  2. 選擇要使用的自訂轉換變數(eVar),並將其對應至Livefyre轉換變數。 若要將Livefyre轉換變數對應至自訂轉換變數:

    • 啟用轉換變數
    • 為轉換變數命名
    • 為轉換變數指定類型
  3. 儲存自訂轉換變數。

步驟3:使用DTM搭配Livefyre事件新增您的報表套裝

使用標籤將Analytics與Livefyre事件整合。 若要這麼做,請建立新屬性和工具,並將含有Livefyre事件的新報表套裝新增至屬性。 如需詳細資訊,請參閱標籤概述

如果您已為您設定Livefyre事件的報表套裝設定屬性或工具,則不需要執行此步驟。

  1. 在DTM中,建立或編輯現有屬性。

  2. 建立或編輯現有的Adobe Analytics工具。

  3. 如果現有的Adobe Analytics工具不存在,請按一下​Add a Tool​按鈕。
    為工具設定下列參數:

    • 將​Tool Type​設為​Adobe Analytics
    • 啟用 Automatic Configuration.
    • 啟用 Authenticate via Marketing Cloud.
  4. 將含有Livefyre事件的報表套裝名稱新增或確認至​Report Suites​欄位。

步驟4:設定頁面載入規則以設定Analytics處理

設定頁面載入規則以提取所有資料。 頁面載入規則可讓您將自訂javascript放在規則中,以記錄頁面載入時的事件。

注意

請勿使用事件型規則或直接呼叫規則。

  1. 在DTM中,選取​Rules​標籤。

  2. 按一下 Page Load Rules.

  3. 按一下​Create New Rule​按鈕。

  4. 按一下​Plus​按鈕,開啟​Conditions​區段。

  5. 觸發規則。 如果要非同步延遲或實作規則,請選擇​DOM Ready​或​Onload​觸發器類型。

  6. (選用)新增其他參數以限制顯示Livefyre應用程式的頁面。 如需其他設定選項的詳細資訊,請參閱標籤概述

  7. 在​Javascript/ Third Party Tags​下,按一下​Non-sequential​標籤,然後按一下​Add New Script

  8. 選擇​Sequential HTML​作為指令碼類型。

  9. 將以下指令碼添加到代碼編輯器中,然後按一下​Save Code

    下列指令碼會在Livefyre JavaScript載入後呼叫livefyre_analytics直接呼叫規則。 以下指令碼範例每400毫秒檢查一次,以查看頁面上是否有livefyre.analytics。 頁面載入後,livefyre.analytics會傳送出追蹤資訊。

    /**
    * Poll for Livefyre.analytics object to exist since it gets loaded via the
    * Livefyre.js JavaScript file. Depending on the timing, this could already
    * exist or need a little time.
    */
    function pollForAnalytics() {
    if (Livefyre.analytics) {
      _satellite.track('livefyre_analytics');
        return true;
      }
      setTimeout(pollForAnalytics, 400);
    }
    setTimeout(pollForAnalytics, 400);
    
  10. 按一下 Save Code.

  11. 按一下 Save Rule.

步驟5:建立直接呼叫規則以建立Livefyre的Adobe Analytics對應設定

您可以透過其他方式,使用自訂事件、DTM內的Adobe Analytics UI欄位及資料元素,透過DTM實作Livefyre。 本檔案使用自訂Javascript來達到相同的效果。

  1. 在DTM中,選取​Rules​標籤,然後按一下​Direct Call Rules

  2. 按一下​建立新規則​按鈕。

  3. 將新規則命名為​Livefyre Analytics

  4. 展開​conditions​配置區域。

  5. 在​字串​欄位中,輸入livefyre_analytics

  6. 展開「Javascript /第三方標籤」區段,然後按一下「新增指令碼」按鈕。

  7. 在​Tag Name​輸入方塊中輸入​Livefyre Analytics Config

  8. 選擇​非循序Javascript

  9. 在程式碼編輯器中輸入下列Livefyre設定程式碼,然後按一下​Save Code​按鈕。

    var s = _satellite.getToolsByType('sc')[0].getS();
    
    var evarMap = {
      appId: 'eVar81',
      appType: 'eVar82'
    };
    
    var eventMap = {
      FlagCancel: 'event82',
      FlagClick: 'event82',
      FlagDisagree: 'event82',
      FlagOffensive: 'event82',
      FlagOffTopic: 'event82',
      FlagSpam: 'event82',
      Like: 'event82',
      Load: 'event81',
      RequestMore: 'event82',
      ShareButtonClick: 'event82',
      ShareFacebook: 'event82',
      ShareOnPostClick: 'event82',
      ShareTwitter: 'event82',
      ShareURL: 'event82',
      SortStream: 'event82',
      TwitterLikeClick: 'event82',
      TwitterReplyClick: 'event82',
      TwitterRetweetClick: 'event82',
      TwitterUserFollow: 'event82'
    };
    
     function trackLivefyreEvent(data) {
      var event = eventMap[data.type];
      console.log('Track:', data.type, event);
    
      if (!event) {
        console.warn(data.type, 'is not mapped   to an event in AA');
        return;
      }
      var vars = ['events'];
      switch (event) {
        case 'event82': s.eVar83 = data.type;
          vars.push('eVar83');
          break;
        default:
      }
        ['generator', 'evars'].forEach(function (type) {
        var obj = data[type];
        for (var d in obj) {
          if (obj.hasOwnProperty(d) && evarMap[d]) {
            s[evarMap[d]] = obj[d];
            vars.push(evarMap[d]);
          }
        }
      });
      s.linkTrackVars = vars.join(',');
      s.linkTrackEvents = event;
      s.events = event;
    
      console.log('linkTrackVars:',  s.linkTrackVars);
      console.log('linkTrackEvents:',  s.linkTrackEvents);
      console.log('events:', s.events);
      s.tl();
      }
      ]
    
      /**
    
    • 為來自Livefyre的所有分析事件新增分析處理常式。 對於每個事件,它會在全域物件上設定資料,然後分派事件。
    */
    function addAnalyticsHandler() {
      Livefyre.analytics.addHandler(function (events) {
        (events || []).forEach(function (data) {
          console.log('Event handled:', data.type);
          trackLivefyreEvent(data);
        });
      });
    }
    addAnalyticsHandler();
    
  10. 按一下​儲存規則

步驟6:核准頁面載入規則的變更

  1. 前往​Approvals​標籤。
  2. 按一下 Approve.
  3. 按一下​Yes, approve​確認您的批准。
  4. 前往 Overview > Publish Queue.
  5. 選取要發佈的規則。
  6. 按一下 Publish Selected.
  7. 按一下​Publish​確認您要發佈。

指令碼

下列范常式式碼會將特定eVar對應至可用的Livefyre eVar。 Livefyre轉換變數(eVar)名稱(例如appId)對應至您在「報表套裝管理器」中設定的名稱(例如eVar81)。 將此指令碼中的eVar名稱變更為自訂轉換變數。

var s = _satellite.getToolsByType`('sc')[0]`.getS();
var evarMap = {
  appId: 'eVar81',
  appType: 'eVar82'
};

下列范常式式碼會對應您在「報表套裝管理器」中設定的特定事件與可用的Livefyre事件。 在此範例中,event82設為任何使用者互動事件,但不會區分哪種使用者互動事件(例如按贊或共用內容)。 這是記錄區塊中所有使用者互動資訊的有效方式。 您也可以使用資料元素參考來對應DTM Analytics UI中的事件。

var eventMap = {
  FlagCancel: 'event82',
  FlagClick: 'event82',
  FlagDisagree: 'event82',
  FlagOffensive: 'event82',
  FlagOffTopic: 'event82',
  FlagSpam: 'event82',
  Like: 'event82',
  Load: 'event81',
  RequestMore: 'event82',
  ShareButtonClick: 'event82',
  ShareFacebook: 'event82',
  ShareOnPostClick: 'event82',
  ShareTwitter: 'event82',
  ShareURL: 'event82',
  SortStream: 'event82',
  TwitterLikeClick: 'event82',
  TwitterReplyClick: 'event82',
  TwitterRetweetClick: 'event82',
  TwitterUserFollow: 'event82'
};

下列範例指出,如果此清單中沒有事件,則不執行任何動作。 您不需要修改此程式碼區段。

function trackLivefyreEvent(data) {
  var event = eventMap[data.type];
  console.log('Track:', data.type, event);

  if (!event) {
    console.warn(data.type, 'is not mapped to an event in AA');
    return;
  }

下列程式碼可區分event82記錄的事件類型。 轉換變數eVar83會記錄使用者互動的類型,指令碼會設定eVar83以依類型分隔使用者互動資料。 因此,eVar83可讓您將記錄的資料細分為特定類型的使用者互動。

  var vars = ['events'];
  switch (event) {
    case 'event82': s.eVar83 = data.type;
      vars.push('eVar83');
      break;
    default:
  }

  ['generator', 'evars'].forEach(function (type) {
    var obj = data[type];
    for (var d in obj) {
      if (obj.hasOwnProperty(d) && evarMap[d]) {
        s[evarMap[d]] = obj[d];
        vars.push(evarMap[d]);
      }
    }
  });

  s.linkTrackVars = vars.join(',');
  s.linkTrackEvents = event;
  s.events = event;

  console.log('linkTrackVars:', s.linkTrackVars);
  console.log('linkTrackEvents:', s.linkTrackEvents);
  console.log('events:', s.events);

  s.tl();
}

下列程式碼範例新增一個處理常式,以監聽所有發生的事件。 它會在載入時使用頁面載入規則,等待事件存在,然後為應用程式中的所有事件設定處理常式並加以追蹤。 您不需要修改此程式碼。

/**
* Adds an analytics handler for all analytics events from Livefyre. For each event, it sets the data on a global object and then dispatches the event.
*/
function addAnalyticsHandler() {
  Livefyre.analytics.addHandler(function (events) {
    (events || []).forEach(function (data) {
      console.log('Event handled:', data.type);
      trackLivefyreEvent(data);
    });
  });
}

更多資訊

如需本頁討論主題的詳細資訊,請參閱:

本頁內容