添加 Target 扩展
Adobe Target 扩展支持使用适用于新版 Web 的 Target JavaScript SDK at.js 进行客户端实施。仍在使用Target旧版库mbox.js 的客户应升级到at.js 2.x,以便使用标记。
Target v2 扩展包含两个主要部分:
-
扩展配置,用于管理核心库设置
-
规则操作,用于执行以下操作:
- 加载 Target (at.js 2.x)
- 向页面加载请求添加参数
- 向所有请求添加参数
- 触发页面加载请求
在第一个练习中,我们将添加扩展并查看配置。在稍后的练习中,我们将使用这些操作。
添加扩展
-
转到 扩展>目录
-
在筛选器中键入
target
以快速找到 Adobe Target 扩展。共有两个扩展 - Adobe Target 和 Adobe Target v2。本教程将使用 v2 版扩展,该扩展使用最新版 at.js(当前为 2.x),该版本既适用于传统网站,也适用于单页面应用程序 (SPA)。 -
单击 安装
-
添加扩展时,它将从 Target 界面中导入许多(但并不是所有)at.js 设置,如下图所示。其中有一项设置不会导入,那就是 Timeout,此设置在添加该扩展后始终为 3000 毫秒。在本教程中,请保留默认设置。请注意,左侧将显示扩展的当前版本附带的 at.js 版本。
-
单击 保存到库
此时,Target 还未真正执行任何操作,因此没有任何要验证的项目。
加载 Target 并触发页面加载请求
营销人员在测试和定位内容时可使用 Target 来控制访客在页面上的体验。鉴于 Target 在页面显示中发挥的这一重要作用,应尽早加载 Target 以最大限度地减少对页面可见性的影响。在此部分中,我们将加载 Target JavaScript 库 - at.js,并触发页面加载请求(在 at.js 的早期版本中称为“全局 mbox”)。
您可以使用在“添加数据元素、规则和库”课程中创建的 All Pages - Library Loaded
规则来实施 Target,因为它已在页面加载时尽早触发。
加载 Target
-
转到左侧导航中的 Rules,然后单击
All Pages - Library Loaded
以打开规则编辑器 -
在 Actions 下,单击
-
选择 扩展> Adobe Target v2
-
选择 操作类型>加载Target
-
单击 保留更改
添加 Load Target
操作后,页面上将会加载 at.js。但是,在添加 Fire Page Load Request
操作之前,不会触发任何 Target 请求。
触发页面加载请求
-
在 Actions 下,再次单击
-
选择 扩展> Adobe Target v2
-
选择 操作类型>触发页面加载请求
-
页面加载请求有一些配置,这些配置涉及是否隐藏页面以及用于预隐藏的 CSS 选择器。这些设置可与页面上硬编码的预隐藏代码片段结合使用。保留默认设置。
-
单击 保留更改
-
新操作将在
Load Target
操作后依次添加,这些操作将按此顺序执行。您可以拖放操作以重新排列顺序,但在此场景中,Load Target
需要先于Fire Page Load Request
执行。 -
单击 保存到库并生成
验证页面加载请求
现在,您已添加Target v2扩展并触发了Load Target
和Fire Page Load Request
操作,因此在使用了标记属性的所有页面上都应发出一个页面加载请求。
验证 Load Target 和 Fire Page Load Request 操作
-
重新加载示例页面。此时,页面应该不会再延迟 3 秒才显示。如果您使用
file://
协议加载示例页面,则应该在 Firefox 或 Safari 浏览器中执行此步骤,因为使用file://
协议时,Chrome 不会触发 Target 请求。 -
打开 Luma 网站
-
如前面的课程中所述,确保Debugger将标记属性映射到 您的 开发环境
-
转到 Debugger 的“摘要”选项卡
-
在
Launch
部分中,确认Target
显示在Extensions
标题下 -
在
Target
部分中,确认显示您的 at.js 库版本 -
最后,转到
Target
选项卡,展开您的客户端代码,并确认显示您的页面加载请求:
恭喜!您已实施 Target!
添加参数
通过在 Target 请求中传递参数,可以向您的定位、测试和个性化活动增添强大的功能。标记扩展提供了两个用于传递参数的操作:
-
Add Params to Page Load Request
,可向页面加载请求添加参数(等效于 targetPageParams() 方法) -
Add Params to All Requests
,可在所有 Target 请求中添加参数,例如页面加载请求以及从 Custom Code 操作发出或在您的网站上硬编码的其他请求(等效于 targetPageParamsAll() 方法)
这两个操作可在 Load Target
操作“之前”**使用,并且可根据您的规则配置在不同的页面上设置不同的参数。使用通过 Identity Service 设置客户 ID 时所使用的规则排序功能,在触发页面加载请求的规则之前对 Library Loaded
事件设置其他参数。
Add Params to Page Load Requests
操作便已足够。请求 (mbox) 参数
参数用于将自定义数据传递到 Target,从而丰富您的个性化功能。参数适用于在浏览会话期间频繁更改且不会持久保留的属性,如页面名称、模板等。
让我们将之前在添加数据元素、规则和库课程中创建的 Page Name
数据元素添加为请求参数。
添加请求参数
-
转到左侧导航中的 Rules,然后单击
All Pages - Library Loaded
以打开规则编辑器。 -
在 Actions 下,单击
-
选择 扩展> Adobe Target v2
-
选择 Action Type > Add Params to Page Load Request
-
输入
pageName
作为 Name -
单击
-
单击
Page Name
数据元素 -
单击 选择 按钮
-
单击 保留更改
-
单击并拖动
Add Params to Page Load Request
操作的左边缘,以重新排列该操作,使其位于Fire Page Load Request
操作之前(可在Load Target
之前或之后) -
单击 保存到库并生成
验证请求参数
目前,随 at.js 2.x 请求一起传递的自定义参数在 Debugger 中不容易看到,因此我们将利用浏览器的开发人员工具。
验证 pageName 请求参数
- 重新加载Luma网站,确保该网站已映射到您自己的标记属性
- 打开浏览器的开发人员工具
- 单击“网络”选项卡
- 使用
tt.omtrdc
(或 Target 请求的 CNAME'd 域)筛选请求 - 展开
Headers
>Request Payload
>execute.pageLoad.parameters
部分以验证pageName
参数和值
轮廓参数
与请求参数类似,轮廓参数也通过 Target 请求进行传递。但是,轮廓参数存储在 Target 访客轮廓数据库中,并在访客轮廓留存期内持久保留。您可以在网站的一个页面上设置配置文件参数,然后将其用于另一页面上的 Targe 活动。以下是一个汽车网站的示例。当访客访问某个车辆页面时,您可以传递配置文件参数“profile.lastViewed=sportscar”,以记录访客对该特定车辆感兴趣。当访客浏览至其他非车辆页面时,您可以根据访客最近查看的车辆锁定内容。轮廓参数适用于很少更改或只在某些页面上可用的属性。
在本教程中,您将不会传递任何轮廓参数,但其工作流程与传递 pageName
参数时所执行的操作几乎相同。唯一的不同之处在于,您需要为轮廓参数名称指定 profile.
前缀。下面显示了 Add Params to Page Load Request
操作中名为“userType”的轮廓参数:
实体参数
实体参数是实施推荐时使用的特殊参数,主要有三个原因:
- 用作触发产品推荐的键值。例如,当使用诸如“查看了产品 X 的人员还查看了 Y”之类的推荐算法时,“X”便是推荐的“键值”。它通常为访客当前正在查看的产品 SKU (
entity.id
) 或类别 (entity.categoryId
)。 - 用于收集访客行为以提供推荐算法,例如“最近查看的产品”或“查看次数最多的产品”
- 用于填充推荐目录。推荐中有一个数据库,其中包含您网站上的所有产品或文章,以便可在推荐产品建议中提供这些产品或文章。例如,推荐产品时,您通常希望显示诸如产品名称 (
entity.name
) 和图像 (entity.thumbnailUrl
) 之类的属性。有些客户会使用后端信息源填充其目录,但这些目录也可以使用 Target 请求中的实体参数进行填充。
在本教程中,您无需传递任何实体参数,但传递参数的工作流程与之前传递pageName
请求参数时所执行的操作相同,只是需要为该参数指定一个前缀为“entity”的名称, 并将其映射到相关数据元素。请注意,一些常见实体具有必须要使用的保留名称(例如,产品 SKU 必须使用 entity.id)。下面显示了在 Add Params to Page Load Request
操作中设置的实体参数:
添加客户 ID 参数
通过 Adobe Experience Platform Identity Service 收集客户 ID,可以使用 Adobe Experience Cloud 的客户属性功能轻松地将 CRM 数据导入 Target。它还支持跨设备访客拼合,当客户在笔记本电脑和移动设备之间切换时,可以保持一致的用户体验。
在触发页面加载请求之前,必须在 Identity Service 的 Set Customer IDs
操作中设置客户 ID。为此,请确保您能够在网站上执行以下操作:
- 必须在页面上先提供客户ID,然后再提供标记嵌入代码
- 必须安装 Adobe Experience Platform Identity Service
- 必须在发生“Library Loaded (Page Top)”事件时触发的规则中使用
Set Customer IDs
操作 - 在“Set Customer IDs”操作“之后”**触发的规则中使用
Fire Page Load Request
操作
在上一课程(添加 Adobe Experience Platform Identity Service)中,您创建了 All Pages - Library Loaded - Authenticated - 10
规则以触发“Set Customer ID”操作。由于此规则的 Order
设置为 10
,因此客户 ID 会在页面加载请求从 All Pages - Library Loaded
规则(其 Order
设置为 50
)触发之前进行设置。这样,您便已经为 Target 实施了客户 ID 收集!
验证客户 ID
目前,随 at.js 2.x 请求一起传递的自定义参数在 Debugger 中不容易看到,因此我们将利用浏览器的开发人员工具。
验证客户 ID
添加资产令牌参数
资产令牌是一个与 Target Premium 企业用户权限功能一起使用的保留参数。资产令牌用于定义不同的数字资产,以便可以为 Experience Cloud 组织的不同成员分配每个资产的不同权限。例如,您可能希望一组用户能够在您的网站上设置 Target 活动,但不能在您的移动设备应用程序中设置。
Target属性与标记属性和Analytics报表包类似。 具有多个品牌、网站和营销团队的企业可能会为每个网站或移动设备应用程序使用不同的Target资产、标记资产和Analytics报表包。 标记资产通过其嵌入代码进行区分,Analytics报表包通过其报表包ID进行区分,而Target资产则通过其资产令牌参数进行区分。
必须使用具有targetPageParams()
函数的标记中的自定义代码操作实施属性令牌。 如果您使用具有单个标记属性的不同at_property值实施多个网站,则可以通过数据元素管理at_property值。
如果您是 Target Premium 客户,并且希望在 Tutorial 资产中实施资产令牌,则可以选择完成下面的练习:
-
在单独的选项卡中,打开 Target 用户界面
-
转到 管理>属性
-
识别要使用的属性,然后单击 </>(或创建新属性)
-
将
<script></script>
中的代码段复制到剪贴板 -
在标记选项卡中,转到左侧导航栏中的 Rules,然后单击
All Pages - Library Loaded
以打开规则编辑器。 -
在 Actions 下,单击
Core - Custom Code
操作以打开Action Configuration
-
打开代码编辑器并从包含
targetPageParams()
函数的Target界面粘贴代码 -
单击 保存 按钮
-
选中 全局执行 框,以便在全局范围中声明
targetPageParams()
-
单击 保留更改
-
单击 保存到库并生成
at_property
参数,网络请求中将填充该参数,但Target的可视化体验编辑器(VEC)在加载页面时无法自动检测它。 始终使用Custom Code操作中的targetPageParams()
函数填充at_property
。