使用Platform Web SDK将参数发送到Target
由于站点架构、业务要求和使用的功能,Target实施在各个网站之间有所不同。 大多数Target实施都包括传递上下文信息、受众和内容推荐的各种参数。
我们使用简单的产品详细信息页面和订单确认页面来演示在将参数传递到Target时这两个库之间的差异。
假定以下两个使用at.js的示例页面:
code language-html |
---|
|
code language-html |
---|
|
参数映射摘要
使用Platform Web SDK发送这些页面的Target参数的方式有所不同。 可以使用at.js通过多种方法将参数传递到Target:
- 为页面加载事件使用
targetPageParams()
函数设置(在此页面的示例中使用) - 为页面上的所有Target请求使用
targetPageParamsAll()
函数设置 - 使用单个位置的
getOffer()
函数直接发送参数 - 直接使用
getOffers()
函数为一个或多个位置发送参数
Platform Web SDK提供了一种统一的数据发送方式,而无需使用额外的功能。 必须使用sendEvent
命令在有效负载中传递所有参数,并且这些参数属于两个类别:
- 自动从
xdm
对象映射 - 使用
data.__adobe.target
对象手动传递
下表概述了如何使用Platform Web SDK重新映射示例参数:
pageName
xdm.web.webPageDetails.name
xdm
对象的一部分进行传递,并且必须符合使用XDM ExperienceEvent类的架构。 Mbox参数不能作为data
对象的一部分传递。profile.gender
data.__adobe.target.profile.gender
data
对象的一部分进行传递,并以为前缀profile.
,才能正确映射。user.categoryId
data.__adobe.target.user.categoryId
data
对象的一部分传递。entity.id
data.__adobe.target.entity.id
或
xdm.productListItems[0].SKU
data
对象的一部分传递,也可以自动从xdm.productListItems
数组中的第一个项进行映射(如果您的实施使用该字段组)。entity.categoryId
data.__adobe.target.entity.categoryId
data
对象的一部分传递。entity.customEntity
data.__adobe.target.entity.customEntity
data
对象的一部分进行传递。cartIds
data.__adobe.target.cartIds
excludedIds
data.__adobe.target.excludedIds
orderId
xdm.commerce.order.purchaseID
orderTotal
xdm.commerce.order.priceTotal
productPurchasedId
data.__adobe.target.productPurchasedId
或
xdm.productListItems[0-n].SKU
自定义参数
必须使用sendEvent
命令将自定义mbox参数作为XDM数据传递。 请务必确保XDM架构包含Target实施所需的所有字段。
at.js使用targetPageParams()
的示例:
targetPageParams = function() {
return {
"pageName": "product detail"
};
};
使用sendEvent
命令的Platform Web SDK JavaScript示例:
code language-javascript |
---|
|
在标记中,首先使用XDM对象数据元素映射到XDM字段:
{modal="regular"}
然后,将您的XDM对象包含在您的发送事件 操作中(多个XDM对象可以合并):
{modal="regular"}
xdm
对象的一部分,因此您需要更新任何受众、活动或使用新名称引用这些mbox参数的配置文件脚本。 有关更多信息,请参阅本教程的更新Target受众和配置文件脚本以了解Platform Web SDK兼容性页面。配置文件参数
必须在Platform Web SDK sendEvent
命令有效负载中的data.__adobe.target
对象下传递目标配置文件参数。
与at.js类似,所有配置文件参数也必须添加前缀profile.
,以便将该值正确存储为永久性Target配置文件属性。 Target的类别亲和度功能保留的user.categoryId
参数带有前缀user.
。
at.js使用targetPageParams()
的示例:
targetPageParams = function() {
return {
"profile.gender": "male",
"user.categoryId": "clothing"
};
};
使用sendEvent
命令的Platform Web SDK示例:
code language-javascript |
---|
|
在标记中,首先创建一个数据元素以定义data.__adobe.target
对象:
{modal="regular"}
然后,将数据对象包含在发送事件 操作中(多个对象可以合并):
{modal="regular"}
实体参数
实体参数用于为Target Recommendations传递行为数据和补充目录信息。 at.js支持的所有实体参数也受Platform Web SDK支持。 与配置文件参数类似,所有实体参数都应在Platform Web SDK sendEvent
命令有效负载中的data.__adobe.target
对象下传递。
特定项的实体参数必须以entity.
为前缀,才能正确捕获数据。 不应为推荐算法保留的cartIds
和excludedIds
参数添加前缀,每个参数的值都必须包含以逗号分隔的实体ID列表。
at.js使用targetPageParams()
的示例:
targetPageParams = function() {
return {
"entity.id": "SKU-00001-LARGE",
"entity.categoryId": "clothing,shirts",
"entity.customEntity": "some value",
"cartIds": "SKU-00002,SKU-00003",
"excludedIds": "SKU-00001-SMALL"
};
};
使用sendEvent
命令的Platform Web SDK示例:
code language-javascript |
---|
|
在标记中,首先创建一个数据元素以定义data.__adobe.target
对象:
{modal="regular"}
然后,将数据对象包含在发送事件 操作中(多个对象可以合并):
{modal="regular"}
commerce
字段组并且XDM有效负载中包含productListItems
数组,则此数组中的第一个SKU
值将映射到entity.id
,以便递增产品视图。购买参数
成功完成订单后,采购参数会在订单确认页面上传递,并用于Target转化和优化目标。 通过Platform Web SDK实施,这些参数和自动从作为commerce
字段组的一部分传递的XDM数据进行映射。
at.js使用targetPageParams()
的示例:
targetPageParams = function() {
return {
"orderId": "ABC123",
"productPurchasedId": "SKU-00002,SKU-00003"
"orderTotal": 1337.89
};
};
当commerce
字段组的purchases.value
设置为1
时,购买信息将传递到Target。 订单ID和订单总计自动从order
对象映射。 如果productListItems
数组存在,则SKU
值将用于productPurchasedId
。
使用sendEvent
命令的Platform Web SDK示例:
code language-javascript |
---|
|
在标记中,首先使用XDM对象数据元素映射到XDM字段:
{modal="regular"}
然后,将您的XDM对象包含在您的发送事件 操作中(多个XDM对象可以合并):
{modal="regular"}
productPurchasedId
值还可以作为data
对象下以逗号分隔的实体ID列表传递。客户ID (mbox3rdPartyId)
Target允许使用单个客户ID跨设备和系统同步配置文件。 使用at.js时,可以将其设置为Target请求中的mbox3rdPartyId
,或设置为发送到Experience CloudIdentity服务的第一个客户ID。 与at.js不同,Platform Web SDK实施允许您指定在存在多个客户ID时用作mbox3rdPartyId
的客户ID。 例如,如果贵企业有一个全局客户ID,并且不同业务线的客户ID各不相同,则可以配置Target应使用哪个ID。
要为Target跨设备和客户属性用例设置ID同步,需要执行几个步骤:
- 在Data Collection或Platform的 标识 屏幕中为客户ID创建 标识命名空间
- 确保客户属性中的 别名 与命名空间中的 身份符号 匹配
- 在数据流的Target配置中将 identity符号 指定为 Target第三方ID命名空间
- 使用
identityMap
字段组执行sendEvent
命令
at.js使用targetPageParams()
的示例:
targetPageParams = function() {
return {
"mbox3rdPartyId": "TT8675309"
};
};
使用sendEvent
命令的Platform Web SDK示例:
code language-javascript |
---|
|
ID值、身份验证状态和命名空间已在标识映射数据元素中捕获:
{modal="regular"}
然后使用标识映射数据元素设置XDM对象数据元素中的identityMap字段:
{modal="regular"}
然后,XDM对象将包含在规则的发送事件操作中:
{modal="regular"}
在数据流的Adobe Target服务中,确保将Target第三方ID命名空间设置为标识映射数据元素中使用的相同命名空间:
{modal="regular"}
平台Web SDK示例
现在,您已了解如何使用Platform Web SDK映射不同的Target参数,接下来可以将我们的两个示例页面从at.js迁移到Platform Web SDK,如下所示。 示例页面包括:
- 用于异步库实施的Target预隐藏代码片段
- Platform Web SDK基础代码
- Platform Web SDK JavaScript库
- 用于初始化库的
configure
命令 - 用于发送数据和请求渲染目标内容的
sendEvent
命令
code language-html |
---|
|
code language-html |
---|
|
接下来,了解如何使用Platform Web SDK 跟踪Target转化事件。