提供个性化

步骤摘要

  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