提供個人化

步驟摘要

  1. 為您的組織啟用on-device decisioning
  2. 建立Experience Targeting (XT)活動
  3. 定義每個對象的個人化體驗
  4. 驗證每個對象的個人化體驗
  5. 設定報告
  6. 新增追蹤KPI的量度
  7. 在您的應用程式中實作個人化優惠
  8. 實作程式碼以追蹤轉換事件
  9. 啟用您的Experience Targeting (XT)個人化活動

假設您是一家旅遊公司。 您想要提供某些旅行套餐25%的個人化優惠。 為了讓優惠方案與您的使用者產生共鳴,您決定顯示目的地城市的地標。 您也想要確保個人化優惠的傳送會在幾乎零延遲的情況下執行,以免對使用者體驗造成負面影響,並扭曲結果。

1.為您的組織啟用on-device decisioning

  1. 啟用裝置上決策可確保在幾乎零延遲的情況下執行A/B活動。 若要啟用此功能,請瀏覽至Adobe Target中的​ Administration > Implementation > Account details,並啟用​ On-Device Decisioning ​切換按鈕。

    替代影像

    note note
    NOTE
    您必須擁有管理員或核准者使用者角色,才能啟用或停用On-Device Decisioning切換功能。

    啟用​ On-Device Decisioning ​切換後,Adobe Target會開始為您的使用者端產生​ 規則成品

2.建立Experience Targeting (XT)活動

  1. 在Adobe Target中,導覽至​ Activities ​頁面,然後選取​ Create Activity > Experience Targeting

    替代影像

  2. 在​ Create Experience Targeting Activity ​強制回應視窗中,保留預設的​ Web ​選項為已選取(1)、選取​ Form ​作為您的體驗撰寫器(2)、選取工作區和屬性(3),然後按一下​ Next (4)。

    替代影像

3.定義每個對象的個人化體驗

  1. 在活動建立的​ Experiences ​步驟中,按一下「Change Audience」以建立想前往加州舊金山的訪客對象。

    替代影像

  2. 在​ Create Audience ​模式中,定義destinationCity = San Francisco的自訂規則。 這會定義想前往舊金山的使用者群組。

    替代影像

  3. 仍然在​ Experiences ​步驟中,輸入您的應用程式中要呈現有關Golden Gate Bridge之特殊優惠方案的位置(1)名稱,但僅限於前往舊金山的訪客。 在此範例中,首頁是為HTML選件(2)選取的位置,此位置已在​ Content ​區域中定義。

    替代影像

  4. 按一下​ Add Experience Targeting ​以新增其他目標對象。 這次,藉由定義destinationCity = New York的對象規則,將目標定位為想要前往紐約的對象。 定義應用程式內您要呈現與帝國大廈相關之特殊優惠的位置。 在此顯示的範例中,homepage是為HTML選件(2)選取的位置,其定義於​ Content ​區域。

    替代影像

4.驗證每個對象的個人化體驗

在​ Targeting ​步驟中,確認您已設定每個對象所需的個人化體驗。

替代影像

5.設定報告

在​ Goals & Settings ​步驟中,選擇​ Adobe Target ​作為​ Reporting Source,以便在Adobe Target UI中檢視活動結果,或選擇​ Adobe Analytics,以便在Adobe Analytics UI中檢視這些結果。

替代影像

6.新增追蹤KPI的量度

選擇​ Goal Metric ​以測量活動的成功。 在此範例中,成功的轉換取決於使用者是否點按個人化目的地選件。

7.在應用程式中實作您的個人化優惠

Node.js
code language-js line-numbers
const TargetClient = require("@adobe/target-nodejs-sdk");

const CONFIG = {
  client: "acmeclient",
  organizationId: "1234567890@AdobeOrg"
};

const targetClient = TargetClient.create(CONFIG);

targetClient.getOffers({
  request: {
    execute: {
      pageLoad: {
        parameters: {
          destinationCity: "San Francisco"
        }
      }
    }
  }
})
.then(console.log)
.catch(console.error);
Java
code language-java line-numbers
ClientConfig config = ClientConfig.builder()
  .client("acmeclient")
  .organizationId("1234567890@AdobeOrg")
  .build();
TargetClient targetClient = TargetClient.create(config);

Context context = new Context().channel(ChannelType.WEB);

ExecuteRequest executeRequest = new ExecuteRequest();

RequestDetails pageLoad = new RequestDetails();
pageLoad.setParameters(
    new HashMap<String, String>() {
      {
        put("destinationCity", "San Francisco");
      }
    });

executeRequest.setPageLoad(pageLoad);

TargetDeliveryRequest request = TargetDeliveryRequest.builder()
  .context(context)
  .execute(executeRequest)
  .build();

TargetDeliveryResponse offers = targetClient.getOffers(request);

8.實作程式碼以追蹤轉換事件

Node.js
code language-js line-numbers
//... Code removed for brevity

//When a conversion happens
TargetClient.sendNotifications({
    targetCookie,
    "request" : {
      "notifications" : [
        {
          type: "click",
          timestamp : Date.now(),
          id: "conversion",
          mbox : {
            name : "destinationOffer"
          }
        }
      ]
    }
})
Java
code language-java line-numbers
ClientConfig config = ClientConfig.builder()
  .client("acmeclient")
  .organizationId("1234567890@AdobeOrg")
  .build();
TargetClient targetClient = TargetClient.create(config);

Context context = new Context().channel(ChannelType.WEB);

ExecuteRequest executeRequest = new ExecuteRequest();

RequestDetails pageLoad = new RequestDetails();
pageLoad.setParameters(
    new HashMap<String, String>() {
      {
        put("destinationCity", "San Francisco");
      }
    });

executeRequest.setPageLoad(pageLoad);
NotificationDeliveryService notificationDeliveryService = new NotificationDeliveryService();

Notification notification = new Notification();
notification.setId("conversion");
notification.setImpressionId(UUID.randomUUID().toString());
notification.setType(MetricType.CLICK);
notification.setTimestamp(System.currentTimeMillis());
notification.setTokens(
    Collections.singletonList(
        "IbG2Jz2xmHaqX7Ml/YRxRGqipfsIHvVzTQxHolz2IpSCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q=="));

TargetDeliveryRequest targetDeliveryRequest =
    TargetDeliveryRequest.builder()
        .context(context)
        .execute(executeRequest)
        .notifications(Collections.singletonList(notification))
        .build();

TargetDeliveryResponse offers = targetClient.getOffers(request);
notificationDeliveryService.sendNotification(request);

9.啟用您的體驗鎖定目標(XT)活動

替代影像

recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3