使用Platform Web SDK设置Adobe Target
了解如何使用 Adobe Experience Platform Web SDK 实施 Adobe Target。了解如何投放体验,以及如何将其他参数传递给 Target。
Adobe Target是一种Adobe Experience Cloud应用程序,可为您提供定制和个性化客户体验所需的一切功能,从而最大限度地增加您的Web和移动设备网站、应用程序及其他数字渠道的收入。
学习目标
在本课程结束时,您可以通过Target的Web SDK实施执行以下操作:
- 添加预隐藏代码片段以防止闪烁
- 配置数据流以启用Target功能
- 呈现可视化体验编辑器活动
- 呈现表单编辑器活动
- 将XDM数据传递给Target并了解到Target参数的映射
- 将自定义数据(如配置文件和实体参数)传递到Target
- 验证 Target 实施
- 将个性化请求与Analytics请求分开
先决条件
要完成此部分中的课程,您必须首先:
-
完成有关Platform Web SDK初始配置的所有课程,包括设置数据元素和规则。
-
确保您在Adobe Target中具有编辑者或审批者角色。
-
如果您使用Google Chrome浏览器,请安装可视化体验编辑器助手扩展。
-
了解如何在Target中设置活动。 如果您需要复习者,以下教程和指南对本课程很有帮助:
添加闪烁处理
在开始之前,请根据标记库的加载方式,确定是否需要额外的闪烁处理解决方案。
异步实施
异步加载标记库时,页面可能会在Target将默认内容替换为个性化内容之前完成渲染。 这种行为可能会导致所谓的“闪烁”,在这种情况下,会先短暂显示默认内容,然后再将该内容替换为个性化内容。 如果要避免出现这种闪烁情况,Adobe建议在紧靠异步标签嵌入代码之前的位置添加一个特殊的预隐藏代码片段。
此代码片段已存在于Luma网站上,但让我们仔细了解一下此代码的用途:
<script>
!function(e,a,n,t){var i=e.head;if(i){
if (a) return;
var o=e.createElement("style");
o.id="alloy-prehiding",o.innerText=n,i.appendChild(o),setTimeout(function(){o.parentNode&&o.parentNode.removeChild(o)},t)}}
(document, document.location.href.indexOf("adobe_authoring_enabled") !== -1, ".personalization-container { opacity: 0 !important }", 3000);
</script>
预隐藏代码片段使用您选择的CSS定义在页面头中创建样式标记。 在收到来自Target的响应或达到超时时,将删除此样式标记。
预隐藏行为由代码片段末尾的两个配置控制。
body { opacity: 0 !important }
指定在Target加载之前要用于预隐藏的CSS定义。 默认情况下,将隐藏整个页面。 您可以将此定义更新为要预隐藏的选择器以及要如何隐藏选择器。 您可以包括多个定义,因为此值只是插入到预隐藏样式标记中的内容。 如果您的导航下有一个可轻松识别的容器元素封装内容,则可以使用此设置限制仅对该容器元素进行预隐藏。3000
指定预隐藏的超时时间(以毫秒为单位)。 如果在超时之前未收到来自Target的响应,则将删除预隐藏样式标记。 达到此超时的情况应该很少见。
alloy-prehiding
。 如果使用了适用于at.js的预隐藏代码片段,则可能无法正常使用。标记中还提供了预隐藏代码片段:
-
转到标记的 扩展 部分
-
为Adobe Experience Platform Web SDK扩展选择 配置
-
选择 将预隐藏代码片段复制到剪贴板 按钮
note note NOTE 从Platform Web SDK扩展复制的默认预隐藏代码片段可能包含网站上不存在的CSS定义,例如 .personalization-container { opacity: 0 !important }
。 请确保检查并适当修改网站的预隐藏代码片段。
同步实施
Adobe建议如Luma网站上所示异步实施标记。 但是,如果同步加载标记库,则不需要预先隐藏的代码片段。 预隐藏样式而是在Platform Web SDK扩展设置中指定。
同步实施的预隐藏样式可按如下方式配置:
-
转到标记的 扩展 部分
-
为Platform Web SDK扩展选择 配置 按钮
-
选择 编辑预隐藏样式 按钮
-
修改CSS以包含要使用的选择器和隐藏方法,例如:
body { opacity: 0 !important }
(如果要预隐藏页面的整个正文)。 -
保存更改并将内部版本生成到库
要了解有关Platform Web SDK如何管理闪烁的更多信息,请参阅指南部分: 管理个性化体验的闪烁。
配置数据流
必须先在数据流配置中启用Target,Platform Web SDK才能交付任何Target活动。
要在数据流中配置Target,请执行以下操作:
-
转到数据收集接口
-
在左侧导航中,选择 数据流
-
选择之前创建的
Luma Web SDK: Development Environment
数据流 -
选择 添加服务
-
选择 Adobe Target 作为 服务
-
如果需要,请按照以下指南输入有关Target实施的可选详细信息。
-
选择 保存
资产令牌
Target Premium客户可以选择使用属性管理用户权限。 Target属性允许您围绕用户可以运行Target活动的位置建立边界。 有关详细信息,请参阅Target文档的企业权限部分。
要设置或查找属性令牌,请导航到 Adobe Target > 管理 > 属性。 </>
图标显示实施代码。 at_property
值是您将在数据流中使用的属性令牌。
每个数据流只能指定一个属性令牌,但属性令牌覆盖允许您指定替代属性令牌以替换数据流中定义的主属性令牌。 还需要更新sendEvent
操作以覆盖数据流。
目标环境Id
Target中的环境可帮助您在开发的所有阶段管理实施。 此可选设置指定要用于每个数据流的Target环境。
Adobe建议为每个开发、暂存和生产数据流分别以不同的方式设置Target环境ID,以简化操作。 或者,您可以使用主机功能在Target界面中组织环境。
要设置或查找环境ID,请导航到 Adobe Target > 管理 > 环境。
目标第三方ID命名空间
通过这个可选设置,您可以指定要用于Target第三方ID的身份符号。 Target仅支持在单个身份符号或命名空间上同步配置文件。 有关详细信息,请参阅Target指南的mbox3rdPartyId的实时配置文件同步。
标识符号位于 数据收集 > 客户 > 标识 下的标识列表中。
对于使用Luma网站的本教程,请使用在有关标识的课程中设置的标识符号lumaCrmId
。
呈现可视化个性化决策
可视化个性化决策是指在Adobe Target的可视化体验编辑器中创建的体验。 首先,您应该了解Target和标记界面中使用的术语:
- 活动:一组面向一个或多个受众的体验。 例如,一个简单的A/B测试可以是具有两个体验的活动。
- 体验:一组针对一个或多个位置或决策范围的操作。
- 决策范围:提供Target体验的位置。 如果您熟悉使用旧版Target,则决策范围等同于“mbox”。
- Personalization决策:应应用服务器确定的操作。 这些决策可以基于受众标准和Target活动优先级。
- 建议:服务器做出的决策的结果,这些决策在Platform Web SDK响应中传递。 例如,交换横幅图像就是一个建议。
更新发送事件操作
如果数据流中启用了Target,则Platform Web SDK会交付来自Target的可视个性化决策。 但是,它们不会自动呈现。 必须更新发送事件操作才能启用自动渲染。
-
在数据收集界面中,打开您用于本教程的标记属性
-
打开
all pages - library loaded - send event - 50
规则 -
选择
Adobe Experience Platform Web SDK - Send event
操作 -
使用该复选框启用 呈现可视化个性化决策
-
保存所做更改,然后将其生成到库
渲染可视化个性化决策设置使Platform Web SDK自动应用使用Target可视化体验编辑器或“全局mbox”指定的任何修改。
如果您希望使用自定义代码自行呈现或操作这些决策,则可以禁用呈现可视化个性化决策设置。 Platform Web SDK非常灵活,它提供了这项功能让您能够完全控制。 您可以参阅指南以了解有关手动渲染个性化内容的详细信息。
使用可视化体验编辑器设置Target活动
现在,基本实施部分已完成,请在Target中创建体验定位(XT)活动,以验证所有内容是否均可正常工作。 如果需要帮助,您可以参阅创建体验定位活动的Target教程。
-
导航到Adobe Target界面
-
使用活动URL的Luma主页创建体验定位(XT)活动
-
修改页面,例如,更改主页主页主页横幅上的文本。 完成后,选择 保存,然后选择 下一步。
-
更新事件名称,然后选择 下一步。
-
选择Adobe Analytics作为报表源,并将相应的报表包和订单量度作为目标
note note NOTE 如果不使用Adobe Analytics,请选择Target作为报表源,然后选择其他指标,如 参与>页面查看次数。 保存和预览活动需要目标量度。 -
保存活动
-
如果您对所做更改感到满意,则可以激活活动。 否则,如果要预览体验而不激活,则可以复制QA预览URL。
-
加载Luma主页,此时您应会看到所做的更改已应用
-
几小时后,您应该能够在Adobe Analytics中看到Target活动数据和转化情况。 有关Analytics for Target (A4T)报表的详细信息,请参阅Target指南。
使用调试器进行验证
如果设置活动,则应该会看到内容在页面上呈现。 但是,即使没有实时活动,您也可以查看“发送事件”网络调用,以确认Target配置正确。
-
打开Adobe Experience Platform Debugger浏览器扩展
-
转到Luma演示网站并使用调试器将网站上的标记属性切换到您自己的开发属性
-
重新加载页面
-
在调试器中选择 网络 工具
-
按 Experience PlatformWeb SDK 筛选
-
在事件行中为第一次调用选择值
Adobe Experience Platform Debugger中的
-
请注意,
query
>personalization
下有键,decisionScopes
的值为__view__
。 此范围等同于target-global-mbox
。 此Platform Web SDK调用从Target请求决策。 -
关闭叠加并选择第二次网络调用的事件详细信息。 此调用仅在Target返回活动时存在。
-
请注意,其中包含有关从Target返回的活动和体验的详细信息。 此Platform Web SDK调用会向用户发送一条通知,告知用户已渲染Target活动,并会增加展示次数。
设置和呈现自定义决策范围
自定义决策范围(以前称为“mbox”)可用于通过基于Target表单的HTML编辑器以结构化方式交付体验或JSON内容。 交付给其中一个自定义范围的内容不会由Platform Web SDK自动呈现。 可以使用Tags中的操作渲染。
向发送事件操作添加作用域
修改页面加载规则以添加自定义决策范围:
-
打开
all pages - library loaded - send event - 50
规则 -
选择
Adobe Experience Platform Web SDK - Send Event
操作 -
添加一个或多个要使用的范围。 对于此示例,请使用
homepage-hero
。 -
保存更改并将内部版本生成到库
处理来自Target的响应
现在,您已将Platform Web SDK配置为请求homepage-hero
范围的内容,必须对响应执行一些操作。 Platform Web SDK标记扩展提供了发送事件完成事件,当收到来自发送事件操作的响应时,可使用该事件立即触发新规则。
-
创建名为
homepage - send event complete - render homepage-hero
的规则。 -
向规则添加事件。 使用 Adobe Experience Platform Web SDK 扩展和 发送事件完成 事件类型。
-
添加条件以将规则限制为Luma主页(不含查询字符串的路径等于
/content/luma/us/en.html
)。 -
向规则添加操作。 使用 Adobe Experience Platform Web SDK 扩展和 应用建议 操作类型。
note tip TIP 为规则事件、条件和操作指定描述性名称,而不是使用默认名称。 强大的规则组件名称使搜索结果更有用。 -
在“建议”字段中输入
%event.propositions%
,因为我们将使用“发送事件完成”事件作为此规则的触发器。 -
在“建议元数据”部分中选择 使用表单
-
对于 作用域 字段输入
homepage-hero
-
对于 选择器 字段输入
div.heroimage
-
对于 操作类型,选择 设置HTML
-
选择 保留更改
除了呈现活动之外,还必须额外调用Target以指示已呈现基于表单的活动:
-
向规则中添加其他操作。 使用 Core 扩展和 Custom code 操作类型:
-
粘贴以下JavaScript代码:
code language-javascript var propositions = event.propositions; var heroProposition; if (propositions) { // Find the hero proposition, if it exists. for (var i = 0; i < propositions.length; i++) { var proposition = propositions[i]; if (proposition.scope === "homepage-hero") { heroProposition = proposition; break; }xw } } // Send a "display" event if (heroProposition !== undefined){ alloy("sendEvent", { xdm: { eventType: "display", _experience: { decisioning: { propositions: [{ id: heroProposition.id, scope: heroProposition.scope, scopeDetails: heroProposition.scopeDetails }] } } } }); }
-
选择 保留更改
-
保存更改并将内部版本生成到库
-
加载Luma主页几次,这应该足以在Target界面中注册新的
homepage-hero
决策范围。
使用基于表单的体验编辑器设置Target活动
现在您有了手动呈现自定义决策范围的规则,可以在Target中创建另一个体验定位(XT)活动。 这次使用基于表单的体验编辑器。
-
取消激活用于上一课程的活动
-
使用基于表单的体验编辑器选项创建体验定位(XT)活动
-
从位置下拉列表中选择
homepage-hero
位置,从内容下拉列表中选择 创建HTML选件。 如果该位置不可用,则可以键入该位置。 Target在收到对该位置或范围的请求后定期填充新位置名称。 -
将以下代码粘贴到内容框中。 此代码是一个具有不同背景图像的基本主页横幅:
code language-html <div class="we-HeroImage jumbotron" style="background-image: url('/content/luma/us/en/women/_jcr_content/root/hero_image.coreimg.jpeg');"> <div class="container cq-dd-image"> <div class="we-HeroImage-wrapper"> <p class="h3">New Luma Yoga Collection</p> <strong class="we-HeroImage-title h1">Be active with style </strong> <p> <a class="btn btn-primary btn-action" href="/content/luma/us/en/products.html" role="button">Shop Now</a> </p> </div> </div> </div>
-
在目标和设置步骤中,选择Adobe Target作为报表源,选择参与 > 页面查看次数作为目标
-
保存活动
-
如果您对所做更改感到满意,则可以激活活动。 否则,如果要预览体验而不激活,则可以复制QA预览URL。
-
加载Luma主页,此时您应会看到所做的更改已应用
eventType
为每个范围创建自己的点击跟踪,并使用sendEvent
操作将适用的_experience
详细信息包含在内。使用调试器进行验证
如果您激活了活动,则应该会在页面上看到内容渲染。 但是,即使没有实时活动,您也可以查看发送事件网络调用,以确认Target正在为您的自定义范围请求内容。
-
打开Adobe Experience Platform Debugger浏览器扩展
-
转到Luma演示网站并使用调试器将网站上的标记属性切换到您自己的开发属性
-
重新加载页面
-
在Debugger中选择 网络 工具
-
按 Adobe Experience Platform Web SDK 筛选
-
在事件行中为第一次调用选择值
Adobe Experience Platform Debugger中的
-
请注意,
query
>personalization
下有一些键,并且decisionScopes
具有以前类似的__view__
值,但现在还包含了homepage-hero
作用域。 此Platform Web SDK调用从Target请求有关使用VEC和特定homepage-hero
位置所做的更改的决定。 -
关闭叠加并选择第二次网络调用的事件详细信息。 此调用仅在Target返回活动时存在。
-
请注意,其中包含有关从Target返回的活动和体验的详细信息。 此Platform Web SDK调用会向用户发送一条通知,告知用户已渲染Target活动,并会增加展示次数。 它由您之前添加的自定义代码操作启动。
将参数发送到Target
在本节中,您将传递特定于Target的数据,并深入了解XDM数据如何映射到Target参数。
页面(mbox)参数和XDM
所有XDM字段都会作为页面参数或mbox参数自动传递到Target。
其中一些XDM字段将映射到Target后端中的特殊对象。 例如,web.webPageDetails.URL
将自动可用于构建基于URL的定位条件,或在创建配置文件脚本时作为page.url
对象。
您还可以使用数据对象添加页面参数。
特殊参数和数据对象
有些数据点对于没有从XDM对象映射的Target可能很有用。 这些特殊的Target参数包括:
这些参数必须在data
对象中发送,而不是xdm
对象中发送。 此外,页面(或mbox)参数也可以包含在data
对象中。
要填充数据对象,请创建以下数据元素,并重用在创建数据元素课程中创建的数据元素:
-
data.content
使用以下自定义代码:code language-javascript var data = { __adobe: { target: { "entity.id": _satellite.getVar("product.productInfo.sku"), "entity.name": _satellite.getVar("product.productInfo.title"), "profile.loggedIn": _satellite.getVar("user.profile.attributes.loggedIn"), "user.categoryId": _satellite.getVar("product.category") } } } return data;
更新页面加载规则
在XDM对象之外传递Target的其他数据需要更新任何适用的规则。 对于此示例,您必须进行的唯一修改是将新的 data.content 数据元素包含在通用页面加载规则和产品页面查看规则中。
-
打开
all pages - library loaded - send event - 50
规则 -
选择
Adobe Experience Platform Web SDK - Send event
操作 -
将
data.content
数据元素添加到数据字段 -
保存更改并将内部版本生成到库
data
对象。 标记可正确处理此情况并忽略具有未定义值的键。 例如,entity.id
和entity.name
将不会在除产品详细信息之外的任何页面上传递。拆分Personalization和Analytics请求
Luma网站上的数据层是在tags嵌入代码之前完全定义的。 这样,我们就可以使用单次调用来获取个性化内容(例如从Adobe Target)并发送分析数据(例如发送到Adobe Analytics)。
但是,在许多网站上,数据层的加载时间不够早,或者速度不够快,无法同时为两个应用程序使用一个调用。 在这些情况下,您可以在单个页面加载中使用两个发送事件操作,并将第一个操作用于个性化,将第二个操作用于分析。 通过这种方式拆分事件,可以尽早触发个性化事件,同时等待数据层完全加载后再发送Analytics事件。 这类似于许多Web SDK之前的实施,在这些实施中,Adobe Target将在页面顶部触发target-global-mbox
,而Adobe Analytics将在页面底部触发s.t()
调用
要创建置顶个性化请求,请执行以下操作:
-
打开
all pages - library loaded - send event - 50
规则 -
打开 发送事件 操作
-
选择 使用引导式事件,然后选择 请求个性化
-
这会将 Type 锁定为 决策建议提取
要创建analytics-on-bottom请求:
- 创建名为
all pages - page bottom - send event - 50
的新规则 - 向规则添加事件。 使用 核心 扩展和 页面底部 事件类型
- 向规则添加操作。 使用 Adobe Experience Platform Web SDK 扩展和 发送事件 操作类型
- 选择 使用引导式事件,然后选择 收集分析
- 这将锁定选定的 包括挂起的显示通知 复选框,以便发送来自决策请求的已排队显示通知。
使用调试器进行验证
现在规则已更新,您可以使用Adobe Debugger验证数据是否正确传递。
-
导航到Luma演示站点并使用电子邮件
test@adobe.com
和密码test
登录 -
导航到产品详细信息页面
-
打开Adobe Experience Platform Debugger浏览器扩展,然后将标记属性切换到您自己的开发属性
-
重新加载页面
-
在Debugger中选择 Network 工具,并按 Adobe Experience Platform Web SDK 进行筛选
-
在事件行中为第一次调用选择值
-
请注意,
data
>__adobe
>target
下有密钥,并且其中填充了产品、类别和登录状态的相关信息。
在Target界面中验证
接下来,查看Target界面,确认已收到数据,并且这些数据可用于受众和活动。 XDM数据会自动映射到自定义Target参数。 您可以验证Target是否收到了XDM数据,并且可以通过创建受众来使用该数据。
-
导航到 受众 部分
-
创建受众并选择 自定义 属性类型
-
在 参数 字段中搜索
web
。 下拉菜单应填充与网页详细信息相关的所有XDM字段。
接下来,验证是否已成功传递登录状态配置文件属性。
-
选择 访客配置文件 属性类型
-
搜索
loggedIn
。 如果该属性在下拉菜单中可用,则该属性已正确传递到Target。 新属性可能需要几分钟才能在Target UI中可用。
如果您具有Target Premium,则还可以验证实体数据是否正确传递,以及产品数据是否已写入Recommendations产品目录。
-
导航到 Recommendations 部分
-
在左侧导航中选择 目录搜索
-
搜索您之前在Luma网站上访问过的产品SKU或产品名称。 产品应显示在产品目录中。 新产品可能需要几分钟才能在Recommendations产品目录中搜索。
使用保证功能进行验证
此外,您可以酌情使用Assurance ,以确认Target决策请求获得了正确的数据并且任何服务器端转换均正确发生。 您还可以确认营销活动和体验信息包含在Adobe Analytics调用中,即使Target决策调用和Adobe Analytics调用是单独发送也是如此。
-
打开保证
-
启动新的保证会话,输入 会话名称,并为您的网站或您正在测试的任何其他页面输入 基本URL
-
单击 下一步
-
选择您的连接方法,在此情况下,我们将使用 复制链接
-
复制链接并将其粘贴到新的浏览器选项卡中
-
单击 完成
-
一旦启动保障会话,您就会看到事件选项卡中填充的事件
-
按“tnta”筛选
-
选择最近的调用并展开消息以确保正确填充并记下“tnta”值
-
接下来,保留“tnta”过滤器,并选择在我们刚刚查看的目标事件之后发生的analytics.mapping事件。
-
检查“context.mappedQueryParams”。<yourSchemaName>”值,以确认它包含“tnta”属性,该属性包含一个与在上一个target事件中找到的“tnta”值匹配的串联字符串。
这可以确认,当我们在页面上稍后触发分析跟踪调用时,已正确发送在我们进行Target决策调用时排队等候稍后传输的A4T信息。
现在,您已完成本课程,应该可以使用Platform Web SDK有效实施Adobe Target。