规则

注意

Adobe Experience Platform Launch已在Adobe Experience Platform中重新命名为一套数据收集技术。 因此,产品文档中的术语有一些改动。有关术语更改的综合参考,请参阅以下文档

Adobe Experience Platform中的标记遵循基于规则的系统。 他们查找用户交互和关联的数据。 如果满足您的规则中所列的标准,则规则会触发您已识别的扩展、脚本或客户端代码。

构建规则可将数据与营销和广告技术的功能整合到一起,从而将不同的产品统一到单个解决方案中。

规则结构

事件 (If):​事件是您希望规则查找的内容。这可通过选择事件、任何适用条件和任何例外进行定义。

操作 (Then):​在规则事件发生并满足所有条件后进行触发。标记规则可以触发所需数量的离散操作,您可以控制这些操作的执行顺序。 例如,只需一个对应某电子商务“感谢”页面的规则,便可通过单个规则触发您的分析工具和第三方标记。无需为每个扩展或标记创建单独的规则。

您可以添加更多事件类型。多个事件使用 OR 进行连接,因此,如果满足其中的任何事件,则将评估规则的条件。

重要

所做的更改在发布之后才会生效。

事件和条件 (if)

包含任何条件的事件属于规则的 If 部分。

如果发生指定的事件,则会评估条件,然后在需要时执行指定的操作。

  • 事件:指定触发规则所必须发生的一个或多个事件。 多个事件使用 OR 进行连接。任何指定的事件都将触发规则。

  • 条件:通过配置要使事件触发规则而必须为true的任何条件来缩小事件范围。 例外被定义为 NOT 条件。多个条件使用 AND 进行连接。

可用的事件取决于已安装的扩展。有关核心扩展中的事件的信息,请参阅核心扩展事件类型

操作 (then)

操作属于规则的 Then 部分。它们定义您希望规则运行时发生的情况。触发事件时,如果条件评估为 true 且例外评估为 false,则会执行操作。您可以根据需要拖放操作以对其进行排序。

创建规则

通过指定满足条件时执行的操作来创建规则。

  1. 打开 规则 选项卡,然后选择 创建新规则.

  2. 命名规则。

  3. 选择事件 添加 图标。

  4. 选择您的扩展以及该扩展可用的事件类型之一,然后配置该事件的设置。

    可用事件类型取决于您选择的扩展。事件设置将因事件类型而异。某些事件不需要配置任何设置。

    重要

    在客户端规则中,数据元素使用 % 对其名称的开头和结尾进行标记。例如:%viewportHeight%。在事件转发规则中,数据元素使用进行标记 {{ 开始时和 }} 数据元素名称的末尾。 例如:{{viewportHeight}}

    要引用来自 Edge Network 的数据,数据元素路径必须为 arc.event._<element>_

    其中,arc 表示 Adobe 响应上下文。

    例如:arc.event.xdm.web.webPageDetails.URL

    重要

    如果指定的路径不正确,将无法收集数据。

  5. 设置Order参数,然后选择 保留更改.

    所有规则组件的默认顺序为 50。如果您希望某个规则先运行,则可为其指定一个小于 50 的数字。

    • 执行顺序就是数字的顺序。1 在 3 之前运行。3 在 10 之前运行。10 在 100 之前运行,依此类推。

    • 具有相同顺序的规则不会按特定顺序运行。

    • 规则会按顺序触发,但不一定会以同一顺序完成。如果规则 A 和规则 B 共享一个事件,并且您为它们分配了顺序,以便规则 A 先运行,在这种情况下,如果规则 A 异步执行某些操作,则无法保证规则 A 会在规则 B 开始之前完成运行。

      如果您希望某个规则后运行,则可为其指定一个大于 50 的数字。有关排序的更多信息,请参阅规则排序

  6. 选择条件 添加 图标,然后选择逻辑类型、扩展、条件类型并配置条件的设置。 接下来,选择 保留更改.

    可用条件类型取决于您选择的扩展。条件设置将因条件类型而异。

    逻辑类型:

    • 常规逻辑类型允许在满足条件时执行操作
    • 例外逻辑类型阻止在满足条件时执行操作

    (高级)Timeout:在资产上启用规则组件排序后,此选项将可用。此属性定义允许条件运行的最长时间。如果达到超时,则该条件将失败,并将从处理队列中删除此规则的其余条件和操作。默认值为 2000 毫秒。

    您可以根据需要添加任意数量的条件。同一规则内的多个条件使用 AND 进行连接。

  7. 选择操作 添加 图标,然后选择您的扩展以及该扩展可用的操作类型之一,配置操作的设置,然后选择 保留更改.

    可用操作类型取决于您选择的扩展。操作设置将因操作类型而异。

    (高级)Wait to run next action:在资产上启用规则组件排序后,此选项将可用。选中此选项后,标记将在完成此操作之前调用下一个操作。 如果不选中此选项,将立即开始执行下一个操作。默认值为 已选中.

    (高级)Timeout:在资产上启用规则组件排序后,此选项将可用。此属性定义允许操作完成的最长时间。如果达到超时,则该操作将失败,并将从处理队列中删除此规则的所有后续操作。默认值为 2000 毫秒。

  8. 查看规则,然后选择 保存规则.

    稍后,当您发布时,您会将此规则添加到库中并对其进行部署。

创建或编辑规则时,您可以将其保存并生成到活动库中。这会立即将更改保存到库并执行生成操作。随即会显示生成操作的状态。

规则排序

规则排序允许您控制共享某一事件的多个规则的执行顺序。每个规则都包含一个可确定其顺序优先级的整数(默认值为50)。 对于顺序包含较低值的规则,将在具有较高值的规则之前执行。

请考虑一组五个规则,这些规则全部共享一个事件,并且都具有默认优先级:

  • 如果您希望最后运行某个规则,则可以编辑该规则组件,并为其指定一个大于50(例如60)的数字。
  • 如果您希望先运行某个规则,则可以编辑该规则组件并为其指定一个小于50(例如40)的数字。
注意

最终,由您所使用的事件类型的扩展开发人员负责按顺序执行操作。 Adobe扩展开发人员确保其扩展按预期工作。 Adobe为第三方扩展开发人员提供了正确执行此操作的指导,但无法保证如何遵循这些准则。

强烈建议您使用1到100之间的正数来对规则排序(默认值为50)。 由于规则顺序必须手动维护,因此最好尽量保持订购方案的简单性。 如果存在此限制过于受限的极端情况,则标记支持+/- 2,147,483,648之间的规则顺序号。

客户端规则处理

规则的加载顺序取决于以下两点:规则操作是使用 JavaScript、HTML 还是其他客户端代码配置;规则是使用 page bottom 事件、page top 事件还是其他类型的事件。

无论为规则配置哪种事件,您都可以在自定义脚本中使用 document.write

您可以对不同的自定义代码类型进行排序。例如,您现在可以先执行 JavaScript 自定义代码操作,接着执行 HTML 自定义代码操作,最后再执行 JavaScript 自定义代码操作。标记可确保按顺序执行它们。

规则捆绑

规则事件和条件始终绑定到主标记库中。 操作可以绑定到主库中,也可在以后根据需要以子资源的形式进行加载。是否捆绑操作取决于规则的事件类型。

包含“Core - Library Loaded”或“Core - Page Top”事件的规则

由于几乎总是需要执行这些事件(除非条件评估为 false),因此,为了提高效率,这些事件将捆绑到主库(即,您的嵌入代码所引用的文件)中。

  • Javascript: JavaScript将嵌入到主标记库中。 自定义脚本将封装在脚本标记中,并使用 document.write 写入文档。如果规则具有多个自定义脚本,则系统会按顺序写入它们。

  • HTML: HTML会嵌入到主标记库中。 使用 document.write 将 HTML 写入文档。如果规则具有多个自定义脚本,则系统会按顺序写入它们。

包含任何其他事件的规则

Adobe 无法保证会实际触发任何其他规则,并且会需要其操作代码。因此,以上未列出的所有事件类型的操作将不会打包到主库中,而是作为子资源进行存储,并由主库根据需要进行引用。

  • JavaScript: JavaScript 将作为常规文本从服务器加载,封装在脚本标记中,并使用 Postscribe 添加到文档中。如果规则具有多个 JavaScript 自定义脚本,则它们将同时从服务器加载,但会以规则中配置的顺序执行。
  • HTML: HTML 将从服务器加载,并使用 Postscribe 添加到文档中。如果规则具有多个自定义 HTML 脚本,则它们将同时从服务器加载,但会以规则中配置的顺序执行。

规则组件排序

运行时环境的行为取决于 按顺序运行规则组件 是否为您的资产打开。 此设置确定是可以并行(异步)评估规则的组件,还是必须按顺序评估它们。

重要

此设置仅确定如何评估每个规则中的条件和操作,并且不会影响在资产上执行规则本身的顺序。 请参阅上一节 规则排序 有关如何确定多个规则执行顺序的详细信息。

事件转发 属性中,规则操作始终按顺序执行,且此设置不可用。 创建规则时应确保顺序正确。

已启用

如果在运行时触发事件时启用了该设置,则规则的条件和操作将添加到处理队列(基于您定义的顺序),并按“先入先出”(FIFO)基准一次处理一个。 规则会等待组件完成,然后再转到下一个组件。

如果条件的评估结果为 false 或达到其定义的超时,将从队列中删除该规则的后续条件和操作。

如果操作失败或达到其定义的超时,将从队列中删除该规则的后续操作。

已禁用

如果已禁用,则在运行时触发事件时,将立即评估该规则的条件。将并行评估多个条件。

如果所有条件都返回 true(异常时返回 false),将立即执行该规则的操作。虽然会按顺序调用操作,但标记不会等待一个操作完成后再调用下一个操作。 如果您的操作是同步的,它们仍将按顺序执行。如果一个或多个操作是异步执行的,则一些操作将并行运行。

在此页面上