创建标记规则

了解如何使用标记规则将事件发送到Adobe Experience Platform Edge Network。 标记规则是事件、条件和操作的组合,用于告知标记属性执行一些操作。 使用Platform Web SDK时,可以使用规则将事件与正确的数据发送到Platform Edge Network。

学习目标

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

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

先决条件

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

命名约定

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

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

其中;

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

添加Adobe客户端数据层扩展

Luma网站使用事件驱动的数据层,称为Adobe客户端数据层(ACDL)。 每当发生数据层事件时,它都会被推送到adobeDataLayer数组中。 本教程使用名为Adobe Client Data Layer的标记扩展方便地挖掘这些事件来构建我们的规则。

要添加扩展,请执行以下操作:

  1. 转到​扩展

  2. 筛选到​Adobe客户端数据层

  3. 选择​安装

    添加Adobe客户端数据层扩展

  4. 保留默认设置

  5. 选择​保存

NOTE
无需使用Adobe客户端数据层即可实施Experience Platform Web SDK。 标记实施中通常使用许多其他类型的事件(Library Loaded、DOM Ready、Window Loaded等)来触发规则。

创建标记规则

在标记中,规则用于执行各种操作,例如设置变量并在各种条件下触发网络调用。 Experience Platform Web SDK标记扩展包括规则中使用的两个操作:

  • 更新变量​将数据元素映射到您的XDM或数据变量
  • 发送事件​进行网络调用以将数据发送到Experience Platform Edge Network

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

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

  2. 再次使用​ 更新变量 ​操作可覆盖我们的“全局配置”,并在某些条件下(例如,在产品页面上添加产品详细信息)贡献额外的XDM字段。

  3. 使用​ 发送事件 ​操作将数据发送到Adobe Experience Platform Edge Network。

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

此视频概述了此过程:

全局配置字段

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

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

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

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

    创建规则

  4. 将规则命名为 all pages - adobeDataLayer push - set global variables - 1

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

    命名规则并添加事件

  6. 使用​ Adobe客户端数据层 ​扩展并选择​ 推送的数据 ​作为​事件类型

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

    note note
    NOTE
    订单编号越低,执行的时间就越早。 因此,我们给予“全球配置”一个较低的订单编号。
  8. 收听​所有活动

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

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

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

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

  13. 作为​数据元素,选择您在XDM Variable创建数据元素课程中创建的

    更新变量架构

  14. 现在,通过将XDM字段映射到相应的值来指定XDM字段:

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
    XDM字段 将映射到
    eventType Web Webpagedetails Page Views (开始键入以查看建议值)
    identityMap Identity Map数据元素
    web.webPageDetails.name Page Name数据元素
    web.webPageDetails.pageViews.value 1
    note tip
    TIP
    如果数据元素为空,则XDM字段将不会包含在网络请求中。 因此,当用户未经身份验证并且Identity Map数据元素为null时,将不会发送identityMap对象。 这就是为什么我们可以放心地在“全球配置”中定义它。
    note tip
    TIP
    设置web.webPageDetails.pageViews.value为指示其他下游应用程序的页面查看提供了一种标准方式。 Adobe Analytics不需要将网络调用作为页面查看进行处理。
  15. 完成后,您的XDM Variable将类似于此。 请注意已填充和未完全填充的字段如何使用蓝色圆圈指示:
    XDM变量

  16. 选择​保留更改,然后选择​ 保存 ​规则

产品页面字段

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

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

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

  1. 选择​添加规则

  2. 将其命名为product detail pages - adobeDataLayer push - set product details variables - 20

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

  4. 在​ 扩展 ​下,选择​Adobe客户端数据层

  5. 在​ 事件类型 ​下,选择​推送的数据

  6. 选择以打开​高级选项,键入20。 此顺序值可确保规则在​ 全局变量规则 ​之后运行。

  7. 收听​特定事件

  8. 输入productView作为​ 要注册的 ​事件/密钥

  9. 选择​保留更改

    Analytics XDM规则

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

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

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

  13. 选择XDM Variable作为​数据元素

  14. 将这些XDM字段映射到相应的值:

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
    XDM字段 将映射到
    eventType Commerce Product Views (开始键入以查看建议值)
    commerce.productViews.value 1
    productListItems.name Ecommerce Product Name数据元素(选择​ 提供单个项目 ​和​首先添加项目
    productListItems.sku Ecommerce Product Id数据元素
  15. 选择​保留更改

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

    note note
    NOTE
    由于此规则的顺序较高,因此它将覆盖“全局配置”规则中设置的eventTypeeventType只能包含一个值,我们建议使用最有价值的事件来设置它。
    note tip
    TIP
    在XDM中设置commerce.productViews.value=1会自动映射到Analytics中的prodView事件

购物车字段

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

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

XDM对象数组格式

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

NOTE
在本教程中,此时您将无法运行_satellite.getVar('Ecommerce Cart Products')
IMPORTANT
将字段从数据层映射到XDM时,请确保这些字段与XDM字段的数据类型匹配。 在上面的示例中,quantitypriceTotal必须是整数,否则该记录不会摄取到Platform。
XDM架构数据类型

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

  1. 创建名为cart page - adobeDataLayer push - set cart variables - 20的新规则

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

  3. 在​ 扩展 ​下,选择​Adobe客户端数据层

  4. 在​ 事件类型 ​下,选择​推送的数据

  5. 选择以打开​高级选项,键入20。 此顺序值可确保规则在​ 全局变量规则 ​之后运行。

  6. 收听​特定事件

  7. 输入cartView作为​ 要注册的 ​事件/密钥

  8. 选择​保留更改

    购物车规则的 事件

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

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

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

  12. 选择XDM Variable作为​数据元素

  13. 将这些XDM字段映射到相应的值:

    table 0-row-2 1-row-2 2-row-2 3-row-2
    XDM字段 将映射到
    eventType Commerce Product List (Cart) Views (开始键入以查看建议值)
    commerce.productListViews.value 1
    productListItems Ecommerce Cart Products数据元素(选择​首先提供整个数组
    note tip
    TIP
    在XDM中设置commerce.productListViews.value=1会自动映射到Analytics中的scView事件
  14. 选择​保留更改

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

订单确认字段

为购买事件创建其他规则:

  1. 创建名为order confirmation - adobeDataLayer push - set purchase variables - 20的新规则

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

  3. 在​ 扩展 ​下,选择​Adobe客户端数据层

  4. 在​ 事件类型 ​下,选择​推送的数据

  5. 选择以打开​高级选项,键入20。 此顺序值可确保规则在​ 全局变量规则 ​之后运行。

  6. 收听​特定事件

  7. 输入purchase作为​ 要注册的 ​事件/密钥

  8. 选择​保留更改

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

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

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

  12. 选择XDM Variable作为​数据元素

  13. 将这些XDM字段映射到相应的值:

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
    XDM字段 将映射到
    eventType Commerce Purchases (开始键入以查看建议值)
    commerce.productListViews.value 1
    commerce.order.purchaseID Ecommerce Purchase Id数据元素
    commerce.order.currencyCode USD
    productListItems Ecommerce Cart Products数据元素(选择​首先提供整个数组
    note tip
    TIP
    在XDM中将commerce.productListViews.value设置为1commerce.order.purchaseIDcommerce.order.currencyCode会自动分别映射到Analytics中的purchases.purchaseIDs.currencyCode变量。
  14. 选择​保留更改

  15. 选择​保存

发送事件规则

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

  1. 创建名为all pages - adobeDataLayer push - send event - 50的新规则

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

  3. 在​ 扩展 ​下,选择​Adobe客户端数据层

  4. 在​ 事件类型 ​下,选择​推送的数据

  5. 选择以打开​高级选项,键入50(可能是默认值)。 此顺序值可确保规则在​ 变量设置规则之后 ​运行。

  6. 收听​所有活动

  7. 选择​保留更改

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

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

  10. 选择​ 操作类型 ​作为​发送事件变量

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

  12. 作为​XDM,选择在上一课程中创建的XDM Variable数据元素

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

    添加“发送事件”操作

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

    保存规则

您的资产中应该具有以下规则:

验证规则列表

在库中发布规则

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

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

  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