创建标记规则
了解如何使用标记规则将事件发送到Adobe Experience Platform Edge Network。 标记规则是事件、条件和操作的组合,用于告知标记属性执行一些操作。 使用Platform Web SDK时,可以使用规则将事件与正确的数据发送到Platform Edge Network。
学习目标
在本课程结束时,您能够:
- 使用命名惯例来管理标记中的规则
- 使用“更新变量”和“发送事件”操作,发送包含XDM字段的事件
- 跨多个规则栈叠多组XDM字段
- 将单个或整个数组数据元素映射到XDM对象
- 将标记规则发布到开发库
先决条件
您熟悉“数据收集”标记和Luma演示网站,并已完成本教程中以前的课程:
命名约定
要管理标记中的规则,建议遵循标准命名约定。 本教程使用四部分命名约定:
- [位置] - [事件] - [目的] - [订单]
其中;
- location是触发规则的网站上的一个或多个页面
- event是规则的触发器
- purpose是规则执行的主要操作
- order是规则相对于共享相同事件的其他规则应触发的顺序
添加Adobe客户端数据层扩展
Luma网站使用事件驱动的数据层,称为Adobe客户端数据层(ACDL)。 每当发生数据层事件时,它都会被推送到adobeDataLayer数组中。 本教程使用名为Adobe Client Data Layer的标记扩展方便地挖掘这些事件来构建我们的规则。
要添加扩展,请执行以下操作:
-
转到扩展
-
筛选到Adobe客户端数据层
-
选择安装
-
保留默认设置
-
选择保存
创建标记规则
在标记中,规则用于执行各种操作,例如设置变量并在各种条件下触发网络调用。 Experience Platform Web SDK标记扩展包括规则中使用的两个操作:
- 更新变量将数据元素映射到您的XDM或数据变量
- 发送事件进行网络调用以将数据发送到Experience Platform Edge Network
在本课程的其余部分中,我们将:
-
使用 更新变量 操作定义XDM字段的“全局配置”。
-
再次使用 更新变量 操作可覆盖我们的“全局配置”,并在某些条件下(例如,在产品页面上添加产品详细信息)贡献额外的XDM字段。
-
使用 发送事件 操作将数据发送到Adobe Experience Platform Edge Network。
所有这些规则将使用“顺序”选项正确排序。
此视频概述了此过程:
全局配置字段
要为全局XDM字段创建标记规则:
-
打开您在本教程中使用的标记属性
-
在左侧导航中转到规则
-
选择 创建新规则 按钮
-
将规则命名为
all pages - adobeDataLayer push - set global variables - 1 -
在 事件 部分中,选择添加
-
使用 Adobe客户端数据层 扩展并选择 推送的数据 作为事件类型
-
选择 高级 下拉菜单并输入
1作为顺序note note NOTE 订单编号越低,执行的时间就越早。 因此,我们给予“全球配置”一个较低的订单编号。 -
收听所有活动
-
选择 Keep Changes 以返回主规则屏幕
-
在 操作 部分中,选择添加
-
作为扩展,请选择Adobe Experience Platform Web SDK
-
作为操作类型,请选择更新变量
-
作为数据元素,选择您在
XDM Variable创建数据元素课程中创建的
-
现在,通过将XDM字段映射到相应的值来指定XDM字段:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 XDM字段 将映射到 eventTypeWeb Webpagedetails Page Views(开始键入以查看建议值)identityMapIdentity Map数据元素web.webPageDetails.namePage Name数据元素web.webPageDetails.pageViews.value1note tip TIP 如果数据元素为空,则XDM字段将不会包含在网络请求中。 因此,当用户未经身份验证并且 Identity Map数据元素为null时,将不会发送identityMap对象。 这就是为什么我们可以放心地在“全球配置”中定义它。note tip TIP 设置 web.webPageDetails.pageViews.value为指示其他下游应用程序的页面查看提供了一种标准方式。 Adobe Analytics不需要将网络调用作为页面查看进行处理。 -
完成后,您的
XDM Variable将类似于此。 请注意已填充和未完全填充的字段如何使用蓝色圆圈指示:
-
选择保留更改,然后选择 保存 规则
产品页面字段
现在,在将XDM对象发送到 Platform Edge Network 之前,开始在其他顺序规则中使用更新变量以扩充该对象。
首先在Luma的产品详细信息页面上跟踪产品查看:
-
选择添加规则
-
将其命名为
product detail pages - adobeDataLayer push - set product details variables - 20 -
选择“事件”下的
以添加新触发器 -
在 扩展 下,选择Adobe客户端数据层
-
在 事件类型 下,选择推送的数据
-
选择以打开高级选项,键入
20。 此顺序值可确保规则在 全局变量规则 之后运行。 -
收听特定事件
-
输入
productView作为 要注册的 事件/密钥 -
选择保留更改
-
在 操作 下,选择添加
-
选择 Adobe Experience Platform Web SDK 扩展
-
选择 操作类型 作为更新变量
-
选择
XDM Variable作为数据元素 -
将这些XDM字段映射到相应的值:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 XDM字段 将映射到 eventTypeCommerce Product Views(开始键入以查看建议值)commerce.productViews.value1productListItems.nameEcommerce Product Name数据元素(选择 提供单个项目 和首先添加项目)productListItems.skuEcommerce Product Id数据元素 -
选择保留更改
-
选择 保存 以保存规则
note note NOTE 由于此规则的顺序较高,因此它将覆盖“全局配置”规则中设置的 eventType。eventType只能包含一个值,我们建议使用最有价值的事件来设置它。note tip TIP 在XDM中设置commerce.productViews.value=1会自动映射到Analytics中的 prodView事件
购物车字段
您可以将整个数组映射到XDM对象,前提是数组与XDM架构的格式匹配。 您创建的自定义代码数据元素Ecommerce Cart Products将通过Luma网站上的adobeDataLayer.ecommerce.cart.items数据层对象进行早期循环,并将其转换为XDM架构的productListItems对象的所需格式。
要说明此问题,请参阅Luma站点数据层(左)与转换后的数据元素(右)的以下比较:
比较数据元素与productListItems结构(提示,它应该匹配)。
_satellite.getVar('Ecommerce Cart Products')。quantity和priceTotal必须是整数,否则该记录不会摄取到Platform。
现在,让我们将数组映射到XDM对象:
-
创建名为
cart page - adobeDataLayer push - set cart variables - 20的新规则 -
选择“事件”下的
以添加新触发器 -
在 扩展 下,选择Adobe客户端数据层
-
在 事件类型 下,选择推送的数据
-
选择以打开高级选项,键入
20。 此顺序值可确保规则在 全局变量规则 之后运行。 -
收听特定事件
-
输入
cartView作为 要注册的 事件/密钥 -
选择保留更改
购物车规则的
-
在 操作 下,选择添加
-
选择 Adobe Experience Platform Web SDK 扩展
-
选择 操作类型 作为更新变量
-
选择
XDM Variable作为数据元素 -
将这些XDM字段映射到相应的值:
table 0-row-2 1-row-2 2-row-2 3-row-2 XDM字段 将映射到 eventTypeCommerce Product List (Cart) Views(开始键入以查看建议值)commerce.productListViews.value1productListItemsEcommerce Cart Products数据元素(选择首先提供整个数组)note tip TIP 在XDM中设置commerce.productListViews.value=1会自动映射到Analytics中的 scView事件 -
选择保留更改
-
选择 保存 以保存规则
订单确认字段
为购买事件创建其他规则:
-
创建名为
order confirmation - adobeDataLayer push - set purchase variables - 20的新规则 -
选择“事件”下的
以添加新触发器 -
在 扩展 下,选择Adobe客户端数据层
-
在 事件类型 下,选择推送的数据
-
选择以打开高级选项,键入
20。 此顺序值可确保规则在 全局变量规则 之后运行。 -
收听特定事件
-
输入
purchase作为 要注册的 事件/密钥 -
选择保留更改
-
在 操作 下,选择添加
-
选择 Adobe Experience Platform Web SDK 扩展
-
选择 操作类型 作为更新变量
-
选择
XDM Variable作为数据元素 -
将这些XDM字段映射到相应的值:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 XDM字段 将映射到 eventTypeCommerce Purchases(开始键入以查看建议值)commerce.productListViews.value1commerce.order.purchaseIDEcommerce Purchase Id数据元素commerce.order.currencyCodeUSDproductListItemsEcommerce Cart Products数据元素(选择首先提供整个数组)note tip TIP 在XDM中将 commerce.productListViews.value设置为1、commerce.order.purchaseID和commerce.order.currencyCode会自动分别映射到Analytics中的purchase、s.purchaseID和s.currencyCode变量。 -
选择保留更改
-
选择保存
发送事件规则
现在,您已设置变量,接下来可以创建规则以使用 发送事件 操作将完整的XDM对象发送到Platform Edge Network。
-
创建名为
all pages - adobeDataLayer push - send event - 50的新规则 -
选择“事件”下的
以添加新触发器 -
在 扩展 下,选择Adobe客户端数据层
-
在 事件类型 下,选择推送的数据
-
选择以打开高级选项,键入
50(可能是默认值)。 此顺序值可确保规则在 变量设置规则之后 运行。 -
收听所有活动
-
选择保留更改
-
在 操作 下,选择添加
-
选择 Adobe Experience Platform Web SDK 扩展
-
选择 操作类型 作为发送事件变量
-
作为操作类型,选择发送事件
-
作为XDM,选择在上一课程中创建的
XDM Variable数据元素 -
选择 Keep Changes 以返回主规则屏幕
-
选择 保存 以保存规则
您的资产中应该具有以下规则:
在库中发布规则
接下来,将规则发布到开发环境,以便您可以验证它是否有效。
要创建库,请执行以下操作:
-
在左侧导航中转到发布流
-
选择添加库
-
对于Name,输入
Luma Web SDK Tutorial -
对于环境,请选择
Development -
选择添加所有更改的资源
note note NOTE 您应会看到在前面的课程中创建的所有标记组件。 核心扩展包含所有Web标记属性所需的基本JavaScript。 -
选择保存并生成以进行开发
库可能需要几分钟才能构建,完成后,库名称左侧会显示一个绿色圆点:
如您在发布流屏幕上所见,发布流程还有许多其他内容,这不在本教程的涵盖范围内。 本教程仅在开发环境中使用单个库。
现在,您可以使用Adobe Experience Platform Debugger验证请求中的数据。