创建标记规则

了解如何使用标记规则将事件与XDM对象一起发送到Adobe Experience PlatformEdge Network。 标记规则是事件、条件和操作的组合,用于告知标记属性执行一些操作。 在Platform Web SDK中,规则用于将包含正确数据的事件发送到PlatformEdge Network。

学习目标

在本课程结束时,您能够:

  • 使用命名惯例来管理标记中的规则
  • 使用“更新变量”和“发送事件”操作,发送包含XDM字段的事件
  • 跨多个规则栈叠多组XDM字段
  • 将单个或整个数组数据元素映射到XDM对象
  • 将标记规则Publish到开发库

先决条件

您熟悉数据收集标记和Luma演示网站,并完成了本教程中以前的课程:

命名约定

要管理标记中的规则,建议遵循标准命名约定。 本教程使用由五部分组成的命名约定:

  • [位置] - [事件] - [目的] - [订单]

其中;

  1. location ​是触发规则的网站上的一个或多个页面
  2. event ​是规则的触发器
  3. purpose ​是规则执行的主要操作
  4. order ​是规则相对于其他规则应触发的顺序

创建标记规则

在标记中,规则用于在各种条件下执行操作(触发调用)。 Platform Web SDK标记扩展包含本课程中使用的两个操作:

  • 更新变量 ​将数据元素映射到XDM对象中的属性
  • 发送事件 ​将XDM对象发送到Experience PlatformEdge Network

在本课程的其余部分中,我们将:

  1. 使用​ 更新变量 ​操作创建规则以定义XDM字段的“全局配置”。

  2. 使用​ 更新变量 ​操作创建其他规则,这些规则将覆盖我们的“全局配置”,并在某些条件下(例如,在产品页面上添加产品详细信息)提供其他XDM字段。

  3. 使用​ Send Event ​操作创建另一个规则,该操作会将完整的XDM对象发送到Adobe Experience PlatformEdge Network。

所有这些规则将使用“顺序”选项正确排序。

此视频概述了此过程:

全局配置字段

要为全局XDM字段创建标记规则:

  1. 打开您在本教程中使用的标记属性

  2. 在左侧导航中转到​ 规则

  3. 选择​ 创建新规则 ​按钮

    创建规则

  4. 将规则命名为 all pages - library loaded - set global variables - 1

  5. 在​ 事件 ​部分中,选择​ 添加

    命名规则并添加事件

  6. 使用​ 核心扩展 ​并选择​ Library Loaded (Page Top) ​作为​ 事件类型

  7. 选择​ 高级 ​下拉菜单并输入1作为​ 顺序

    note note
    NOTE
    订单编号越低,执行的时间就越早。 因此,我们给予“全球配置”一个较低的订单编号。
  8. 选择​ Keep Changes ​以返回主规则屏幕
    选择库已加载触发器

  9. 在​ 操作 ​部分中,选择​ 添加

  10. 作为​ 扩展,请选择​ Adobe Experience Platform Web SDK

  11. 作为​ 操作类型,请选择​ 更新变量

  12. 作为​ 数据元素,选择您在创建数据元素课程中创建的xdm.variable.content

    更新变量架构

现在,将您的数据元素映射到XDM对象使用的架构。 您可以映射到单个属性或整个对象。 在本例中,您将映射到各个属性:

  1. 找到eventType字段并将其选定

  2. 输入值web.webpagedetails.pageViews

    note tip
    TIP
    要了解在eventType字段中要填充哪些值,您必须转到架构页面并选择eventType字段以在右边栏上查看建议值。 如果需要,您还可以输入新值。
    架构页面上的 eventType建议值
  3. 接下来,在架构中找到identityMap对象并将其选定

  4. 映射到identityMap.loginID数据元素

    更新变量标识映射

    note tip
    TIP
    如果数据元素为空,则XDM字段将不会包含在网络请求中。 因此,当用户未经身份验证并且identityMap.loginID数据元素为null时,将不会发送identityMap对象。 这就是为什么我们可以在我们的“全球配置”中定义它。
  5. 向下滚动直到到达​ web ​对象

  6. 选择以将其打开

  7. 将以下数据元素映射到相应的web XDM变量

    • web.webPageDetials.name ​至%page.pageInfo.pageName%
    • web.webPageDetials.server ​至%page.pageInfo.server%
    • web.webPageDetials.siteSection ​至%page.pageInfo.hierarchie1%
  8. web.webPageDetials.pageViews.value 设置为 1

    更新变量内容

    note tip
    TIP
    虽然Adobe Analytics不需要将设置为web.webpagedetails.pageViewseventTypeweb.webPageDetails.pageViews.value来处理作为页面查看的信标,但使用标准方式为其他下游应用程序指示页面查看很有用。
  9. 选择​ 保留更改,然后在下一个屏幕中选择​ 保存 ​规则以完成创建规则

产品页面字段

现在,在将XDM对象发送到平台Edge Network之前,开始在其他顺序规则中使用​ 更新变量 ​以扩充该对象。

TIP
规则顺序确定在触发事件时首先运行的规则。 如果两个规则具有相同的事件类型,则编号最低的规则会先运行。

首先在Luma的产品详细信息页面上跟踪产品查看:

  1. 选择​ 添加规则

  2. 将其命名为ecommerce - library loaded - set product details variables - 20

  3. 选择“事件”下的 +符号 以添加新触发器

  4. 在​ 扩展 ​下,选择​ 核心

  5. 在​ Event Type ​下,选择​ Library Loaded (Page Top)

  6. 选择以打开​ 高级选项,键入20。 此顺序值确保规则在​ 之后运行 all pages - library loaded - set global variables - 1,该规则设置全局配置。

  7. 选择​ 保留更改

    Analytics XDM规则

  8. 在​ 条件 ​下,选择​ 添加

  9. 将​ 逻辑类型 ​保留为​ 常规

  10. 将​ 扩展 ​保留为​ 核心

  11. 选择​ 条件类型 ​作为不含查询字符串​ ​路径

  12. 在右侧,启用​ 正则表达式 ​切换开关

  13. 在​ 路径下,等于 ​设置/products/。 对于Luma演示站点,它确保规则仅在产品页面上触发

  14. 选择​ 保留更改

    Analytics XDM规则

  15. 在​ 操作 ​下,选择​ 添加

  16. 选择​ Adobe Experience Platform Web SDK ​扩展

  17. 选择​ 操作类型 ​作为​ 更新变量

  18. 选择xdm.variable.content作为​ 数据元素

  19. 向下滚动到commerce对象

  20. 打开​ productViews ​对象并将​ ​设置为1

    设置产品视图

    note tip
    TIP
    在XDM中设置commerce.productViews.value=1会自动映射到Analytics中的prodView事件
  21. 向下滚动到eventType并将其设置为commerce.productViews

    note note
    NOTE
    由于此规则的顺序较高,因此它将覆盖“全局配置”规则中设置的eventTypeeventType只能包含一个值,我们建议使用最有价值的事件来设置它。
  22. 向下滚动到并选择productListItems数组

  23. 选择​ 提供单个项目

  24. 选择​ 添加项

    正在设置产品查看事件

    note caution
    CAUTION
    productListItems ​是array数据类型,因此它期望数据作为元素集合进入。 由于Luma演示站点的数据层结构,并且由于一次只能在Luma站点上查看一个产品,因此需要单独添加项目。 在您自己的网站上实施时,根据数据层结构,您可能能够提供整个阵列。
  25. 选择以打开​ 项目1

  26. 将​ productListItems.item1.SKU ​映射到%product.productInfo.sku%

    产品SKU XDM对象变量

  27. 选择​ 保留更改

  28. 选择​ 保存 ​以保存规则

购物车字段

您可以将整个数组映射到XDM对象,前提是数组与XDM架构的格式匹配。 您创建的自定义代码数据元素cart.productInfo将通过Luma上的digitalData.cart.cartEntries数据层对象进行循环,并将其转换为XDM架构的productListItems对象的所需格式。

要说明此问题,请参阅Luma站点数据层(左)与转换后的数据元素(右)的以下比较:

XDM对象数组格式

比较数据元素与productListItems结构(提示,它应该匹配)。

IMPORTANT
请注意数值变量的转换方式,数据层中的字符串值(如priceqty)将重新格式化为数据元素中的数字。 这些格式要求对于Platform中的数据完整性非常重要,可以在配置架构步骤中确定。 在示例中,数量 ​使用​ 整数 ​数据类型。
XDM架构数据类型

现在,让我们将数组映射到XDM对象:

  1. 创建名为ecommerce - library loaded - set shopping cart variables - 20的新规则

  2. 选择“事件”下的 +符号 以添加新触发器

  3. 在​ 扩展 ​下,选择​ 核心

  4. 在​ Event Type ​下,选择​ Library Loaded (Page Top)

  5. 选择以打开​ 高级选项,键入20

  6. 选择​ 保留更改

    Analytics XDM规则

  7. 在​ 条件 ​下,选择​ 添加

  8. 将​ 逻辑类型 ​保留为​ 常规

  9. 将​ 扩展 ​保留为​ 核心

  10. 选择​ 条件类型 ​作为不含查询字符串​ ​路径

  11. 在右侧, ​启用​ 正则表达式 ​切换开关

  12. 在​ 路径下,等于 ​设置/content/luma/us/en/user/cart.html。 对于Luma演示站点,它确保规则仅在购物车页面上触发

  13. 选择​ 保留更改

    Analytics XDM规则

  14. 在​ 操作 ​下,选择​ 添加

  15. 选择​ Adobe Experience Platform Web SDK ​扩展

  16. 选择​ 操作类型 ​作为​ 更新变量

  17. 选择xdm.variable.content作为​ 数据元素

  18. 向下滚动到commerce对象并选择以将其打开。

  19. 打开​ productListViews ​对象并将​ ​设置为1

    设置产品视图

    note tip
    TIP
    在XDM中设置commerce.productListViews.value=1会自动映射到Analytics中的scView事件
  20. 选择eventType并设置为commerce.productListViews

  21. 向下滚动到并选择​ productListItems ​数组

  22. 选择​ 提供整个数组

  23. 映射到​ cart.productInfo ​数据元素

  24. 选择​ 保留更改

  25. 选择​ 保存 ​以保存规则

按照相同的模式为结账和购买创建其他两个规则,但存在以下差异:

规则名称ecommerce - library loaded - set checkout variables - 20

  1. 条件: /content/luma/us/en/user/checkout.html

  2. eventType 设置为 commerce.checkouts

  3. commerce.checkout.value 设置为 1

    note tip
    TIP
    这等同于在Analytics中设置scCheckout事件

规则名称ecommerce - library loaded - set purchase variables - 20

  1. 条件: /content/luma/us/en/user/checkout/order/thank-you.html

  2. eventType 设置为 commerce.purchases

  3. commerce.purchases.value 设置为 1

    note tip
    TIP
    这等同于在Analytics中设置purchase事件
  4. commerce.order.purchaseID设置为cart.orderId数据元素

  5. commerce.order.currencyCode设置为硬编码值USD

    正在设置Analytics的purchaseID

    note tip
    TIP
    这等同于Analytics中的设置s.purchaseIDs.currencyCode变量
  6. 向下滚动到并选择​ productListItems ​数组

  7. 选择​ 提供整个数组

  8. 映射到​ cart.productInfo.purchase ​数据元素

  9. 选择​ 保留更改

  10. 选择​ 保存

完成后,您应该会看到创建了以下规则。

Analytics XDM规则

发送事件规则

现在您已设置变量,可以创建规则以使用​ 发送事件 ​操作将完整的XDM对象发送到PlatformEdge Network。

  1. 在右侧,选择​ 添加规则 ​以创建另一个规则

  2. 将规则命名为 all pages - library loaded - send event - 50

  3. 在​ 事件 ​部分中,选择​ 添加

  4. 使用​ 核心扩展 ​并选择Library Loaded (Page Top)作为​ 事件类型

  5. 选择​ 高级 ​下拉菜单并在​ 顺序 ​中输入50。 这将确保此规则在您配置的所有其他规则(这些规则将120作为其顺序)之后触发。

  6. 选择​ Keep Changes ​以返回主规则屏幕
    选择库已加载触发器

  7. 在​ 操作 ​部分中,选择​ 添加

  8. 作为​ 扩展,请选择​ Adobe Experience Platform Web SDK

  9. 作为​ 操作类型,选择​ 发送事件

  10. 作为​ XDM,选择在上一课程中创建的xdm.variable.content数据元素

  11. 选择​ Keep Changes ​以返回主规则屏幕

    添加“发送事件”操作

  12. 选择​ 保存 ​以保存规则

    保存规则

Publish库中的规则

接下来,将规则发布到开发环境,以便您可以验证它是否有效。

要创建库,请执行以下操作:

  1. 在左侧导航中转到​ 发布流

  2. 选择​ 添加库

    选择“添加库”

  3. 对于​ Name,输入Luma Web SDK Tutorial

  4. 对于​ 环境,请选择Development

  5. 选择​ 添加所有更改的资源

    note note
    NOTE
    您应会看到在前面的课程中创建的所有标记组件。 核心扩展包含所有Web标记属性所需的基本JavaScript。
  6. 选择​ 保存并生成以进行开发

    创建并生成库

库可能需要几分钟才能构建,完成后,库名称左侧会显示一个绿色圆点:

生成完成

如您在发布流屏幕上所见,发布流程还有许多其他内容,这不在本教程的涵盖范围内。 本教程仅在开发环境中使用单个库。

现在,您可以使用Adobe Experience Platform Debugger来验证请求中的数据。

下一步

NOTE
感谢您投入时间学习Adobe Experience Platform Web SDK。 如果您有疑问、希望分享一般反馈或有关于未来内容的建议,请在此Experience League社区讨论帖子上分享这些内容
recommendation-more-help
8cbc0fd8-ca1d-433b-9c3d-bc3f113347d4