Show Menu
主题×

规则

Launch 是基于规则的系统。它可查找用户交互及关联数据。如果满足您的规则中所列的标准,则规则会触发您已识别的扩展、脚本或客户端代码。
构建规则可将数据与营销和广告技术的功能整合到一起,从而将不同的产品统一到单个解决方案中。
有关介绍性视频,请参阅 规则生成器

规则结构

事件 (If): ​事件是您希望规则查找的内容。这可通过选择事件、任何适用条件和任何例外进行定义。
操作 (Then): ​在规则事件发生并满足所有条件后进行触发。Launch 中的规则可以触发所需数量的不同操作,您可以控制这些操作执行的顺序。例如,只需一个对应某电子商务“感谢”页面的规则,便可通过单个规则触发您的分析工具和第三方标记。无需为每个扩展或标记创建单独的规则。
您可以添加更多事件类型。多个事件使用 OR 进行连接,因此,如果满足其中的任何事件,则将评估规则的条件。
所做的更改在 发布 之后才会生效。

事件和条件 (if)

包含任何条件的事件属于规则的 If 部分。
如果发生指定的事件,则会评估条件,然后在需要时执行指定的操作。
  • 事件
    指定要触发规则而必须发生的一个或多个事件。多个事件使用 OR 进行连接。任何指定的事件都将触发规则。
  • 条件
    通过配置要使事件触发规则而必须为 true 的任何条件来缩小事件范围。例外被定义为 NOT 条件。多个条件使用 AND 进行连接。
可用的事件取决于已安装的扩展。有关核心扩展中的事件的信息,请参阅 核心扩展事件类型
DTM 提供了页面加载、基于事件和直接调用这几种规则类型。Launch 只有规则,允许您定义触发规则的事件。不同的 DTM 选项在 Launch 中仍以事件类型的形式提供。

操作 (then)

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

创建规则

通过指定满足条件时执行的操作来创建规则。
  1. 打开 Rules 选项卡,然后单击 Create New Rule
  2. 命名规则。
  3. 单击事件 Add 图标。
  4. 选择您的扩展以及该扩展可用的事件类型之一,然后配置该事件的设置。
    可用事件类型取决于您选择的扩展。事件设置将因事件类型而异。某些事件没有需要配置的设置。
  5. 设置 Order 参数,然后单击 Keep Changes
    所有规则组件的默认顺序为 50。如果您希望某个规则先运行,则可为其指定一个小于 50 的数字。
    • 执行顺序就是数字的顺序。1 在 3 之前运行。3 在 10 之前运行。10 在 100 之前运行,依此类推。
    • 具有相同顺序的规则不会按特定顺序运行。
    • 规则会按顺序触发,但不一定会以同一顺序完成。如果规则 A 和规则 B 共享一个事件,并且您为它们分配了顺序,以便规则 A 先运行,在这种情况下,如果规则 A 异步执行某些操作,则无法保证规则 A 会在规则 B 开始之前完成运行。
      如果您希望某个规则后运行,则可为其指定一个大于 50 的数字。有关排序的更多信息,请参阅 规则排序
  6. 单击条件的 Add 图标,然后选择逻辑类型、扩展、条件类型并配置条件的设置。接着,单击 Keep Changes
    可用条件类型取决于您选择的扩展。条件设置将因条件类型而异。
    逻辑类型:
    • 常规逻辑类型允许在满足条件时执行操作
    • 例外逻辑类型阻止在满足条件时执行操作
    (高级)Timeout:在资产上启用规则组件排序后,此选项将可用。此属性定义允许条件运行的最长时间。如果达到超时,则该条件将失败,并将从处理队列中删除此规则的其余条件和操作。默认值为 2000 毫秒。
    您可以根据需要添加任意数量的条件。同一规则内的多个条件使用 AND 进行连接。
  7. 单击操作的 Add 图标,选择您的扩展以及该扩展可用的操作类型之一,配置操作的设置,然后单击 Keep Changes
    可用操作类型取决于您选择的扩展。操作设置将因操作类型而异。
    (高级)Wait to run next action:在资产上启用规则组件排序后,此选项将可用。选中此选项后,Launch 将在当前操作完成后才调用下一个操作。如果不选中此选项,将立即开始执行下一个操作。默认值为 Checked
    (高级)Timeout:在资产上启用规则组件排序后,此选项将可用。此属性定义允许操作完成的最长时间。如果达到超时,则该操作将失败,并将从处理队列中删除此规则的所有后续操作。默认值为 2000 毫秒。
  8. 查看您的规则,然后单击 Save Rule
    稍后,当您 发布 时,您会将此规则添加到库中并对其进行部署。
创建或编辑规则时,您可以将其保存并生成到 活动库 中。这会立即将更改保存到库并执行生成操作。随即会显示生成操作的状态。

规则排序

规则排序允许您控制共享某一事件的多个规则的执行顺序。
让规则按特定顺序触发通常很重要。示例:(1) 您有多个根据条件设置 Analytics 变量的规则,您需要确保包含 Send Beacon 的规则最后运行。(2) 您有两个规则,其中一个触发 Target,另一个触发 Analytics,您希望 Target 规则先运行。
最终,将由您所使用的事件类型的扩展开发人员负责按顺序执行操作。对于 Adobe 扩展,Adobe 将确保正确实施此功能。对于第三方扩展,Adobe 为扩展开发人员提供了正确实施此功能的指导,至于具体如何实施,取决于他们自己。
Adobe 强烈建议您使用 1 到 100 之间的正数来对规则排序(默认值为 50)。越简单越好。请记住,您必须维持您的顺序。但是,Adobe 意识到可能会存在一些感觉受限的极端情况,因此也允许使用其他数字。Launch 支持 +2,147,483,648 到 -2,147,483,648 之间的数字。您还可以使用十几位小数,但如果您遇到需要这样做的情况,您应该重新考虑已做出的某些决定以便实现当前的目标。

方案

  • 五个规则共享一个事件。所有规则都具有默认优先级。我希望其中一个规则最后运行。我只需编辑一个规则组件,为其指定一个大于 50 的数字(例如 60)即可。
  • 五个规则共享一个事件。所有规则都具有默认优先级。我希望其中一个规则最先运行。我只需编辑一个规则组件,为其指定一个小于 50 的数字(例如 40)即可。

客户端规则处理

规则的加载顺序取决于以下两点:规则操作是使用 JavaScript、HTML 还是其他客户端代码配置;规则是使用 page bottom 事件、page top 事件还是其他类型的事件。
无论为规则配置哪种事件,您都可以在自定义脚本中使用 document.write
您可以对不同的自定义代码类型进行排序。例如,您现在可以先执行 JavaScript 自定义代码操作,接着执行 HTML 自定义代码操作,最后再执行 JavaScript 自定义代码操作。Launch 会确保按顺序执行它们。

规则捆绑

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

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

由于几乎总是需要执行这些事件(除非条件评估为 false),因此,为了提高效率,这些事件将捆绑到主库(即,您的嵌入代码所引用的文件)中。
  • Javascript: JavaScript 将嵌入到主 Launch 库中。自定义脚本将封装在脚本标记中,并使用 document.write 写入文档。如果规则具有多个自定义脚本,则系统会按顺序写入它们。
  • HTML: HTML 将嵌入到主 Launch 库中。使用 document.write 将 HTML 写入文档。如果规则具有多个自定义脚本,则系统会按顺序写入它们。

包含任何其他事件的规则

Adobe 无法保证会实际触发任何其他规则,并且会需要其操作代码。因此,以上未列出的所有事件类型的操作将不会打包到主库中,而是作为子资源进行存储,并由主库根据需要进行引用。
  • JavaScript: JavaScript 将作为常规文本从服务器加载,封装在脚本标记中,并使用 Postscribe 添加到文档中。如果规则具有多个 JavaScript 自定义脚本,则它们将同时从服务器加载,但会以规则中配置的顺序执行。
  • HTML: HTML 将从服务器加载,并使用 Postscribe 添加到文档中。如果规则具有多个自定义 HTML 脚本,则它们将同时从服务器加载,但会以规则中配置的顺序执行。

规则组件排序

Launch 运行时环境的行为取决于您是否为资产启用了 Run rule components in sequence

已启用

如果已启用,则在运行时触发事件时,规则的条件和操作将根据您定义的顺序添加到处理队列,并按 FIFO 的原则一次处理一个。Launch 会等待一个组件完成,然后再转到下一个组件。
如果条件的评估结果为 false 或达到其定义的超时,将从队列中删除该规则的后续条件和操作。
如果操作失败或达到其定义的超时,将从队列中删除该规则的后续操作。
启用此设置后,即使同步加载 Launch 库,也将异步执行所有条件和操作。

已禁用

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