规则
Adobe Experience Platform中的标记遵循基于规则的系统。 他们查找用户交互和关联的数据。 如果满足您的规则中所列的标准,则规则会触发您已识别的扩展、脚本或客户端代码。
构建规则可将数据与营销和广告技术的功能整合到一起,从而将不同的产品统一到单个解决方案中。
规则结构
事件 (If): 事件是您希望规则查找的内容。这可通过选择事件、任何适用条件和任何例外进行定义。
操作 (Then): 在规则事件发生并满足所有条件后进行触发。标签规则可以触发任意数量的离散操作,并且您可以控制这些操作发生的顺序。 例如,只需一个对应某电子商务“感谢”页面的规则,便可通过单个规则触发您的分析工具和第三方标记。无需为每个扩展或标记创建单独的规则。
您可以添加更多事件类型。多个事件使用 OR 进行连接,因此,如果满足其中的任何事件,则将评估规则的条件。
事件和条件 (if)
包含任何条件的事件属于规则的 If 部分。
如果发生指定的事件,则会评估条件,然后在需要时执行指定的操作。
-
事件:指定要触发规则而必须发生的一个或多个事件。 多个事件使用 OR 进行连接。任何指定的事件都将触发规则。
-
条件:通过配置事件触发规则必须满足的任何条件来缩小事件范围。 异常被定义为NOT条件。 多个条件使用 AND 进行连接。
可用的事件取决于已安装的扩展。有关核心扩展中的事件的信息,请参阅核心扩展事件类型。
操作 (then)
操作属于规则的 Then 部分。它们定义您希望在规则运行时发生的情况。 触发事件时,如果条件评估为 true 且例外评估为 false,则会执行操作。您可以根据需要拖放操作以对其进行排序。
创建规则
通过指定满足条件时执行的操作来创建规则。
-
打开规则选项卡,然后选择 创建新规则。
-
命名规则。
-
选择“事件 添加 ”图标。
-
选择扩展和可用于该扩展的事件类型之一,然后配置事件的设置。
可用的事件类型取决于您选择的扩展。 事件设置因事件类型而异。 某些事件不需要配置任何设置。
note important IMPORTANT 在客户端规则中,数据元素使用 %
对其名称的开头和结尾进行标记。例如:%viewportHeight%
。在事件转发规则中,数据元素名称的开头使用{{
进行标记,结尾使用}}
进行标记。 例如:{{viewportHeight}}
。要引用来自 Edge Network 的数据,数据元素路径必须为
arc.event._<element>_
。其中,
arc
表示 Adobe 响应上下文。例如:
arc.event.xdm.web.webPageDetails.URL
note important IMPORTANT 如果指定的路径不正确,将无法收集数据。 -
设置Order参数,然后选择 保留更改。
所有规则组件的默认顺序为 50。如果您希望某个规则先运行,则可为其指定一个小于 50 的数字。
-
执行顺序就是数字的顺序。1 在 3 之前运行。3 在 10 之前运行。10 在 100 之前运行,依此类推。
-
具有相同顺序的规则不会按特定顺序运行。
-
规则会按顺序触发,但不一定会以同一顺序完成。如果规则 A 和规则 B 共享一个事件,并且您为它们分配了顺序,以便规则 A 先运行,在这种情况下,如果规则 A 异步执行某些操作,则无法保证规则 A 会在规则 B 开始之前完成运行。
如果您希望某个规则后运行,则可为其指定一个大于 50 的数字。有关排序的更多信息,请参阅规则排序。
-
-
选择条件 添加 图标,然后选择逻辑类型、扩展、条件类型并配置条件的设置。 接下来,选择 保留更改。
可用条件类型取决于您选择的扩展。 条件设置将因条件类型而异。
逻辑类型:
- 常规逻辑类型允许在满足条件时执行操作
- 例外逻辑类型阻止在满足条件时执行操作
(高级)超时:在资产上启用规则组件排序后,此选项将可用。 此属性定义允许条件运行的最长时间。 如果达到超时,则该条件将失败,并将从处理队列中删除该规则的其余条件和操作。 默认值为 2000 毫秒。
您可以根据需要添加任意数量的条件。同一规则内的多个条件使用 AND 进行连接。
-
选择操作 添加 图标,选择您的扩展以及该扩展可用的操作类型之一,配置操作的设置,然后选择 保留更改。
可用的操作类型取决于您选择的扩展。 操作设置将因操作类型而异。
(高级)等待运行下一个操作:在资产上启用规则组件排序后,此选项将可用。 选中此选项后,标记将在当前操作完成后才调用下一个操作。 取消选中后,将立即开始执行下一个操作。 默认值为 选中。
(高级)超时:在您的媒体资源上启用规则组件排序时,此选项可用。 它定义允许完成操作的最长时间。 如果达到超时,操作将失败,并且将从处理队列中删除此规则的任何后续操作。 默认值为 2000 毫秒。
-
查看规则,然后选择“ 保存规则”。
稍后,当您发布时,您会将此规则添加到库中并对其进行部署。
创建或编辑规则时,您可以将其保存并生成到活动库中。这会立即将更改保存到库并执行生成操作。随即会显示生成操作的状态。
规则排序 rule-ordering
规则排序允许您控制共享某个事件的规则的执行顺序。 每个规则都包含一个整数,用于确定其顺序优先级(默认值为 50)。 包含较低值的规则将先于具有较高值的规则执行。
考虑一组五个规则,它们都共享一个事件并且都具有默认优先级:
- 如果某个规则您希望最后运行,则可以编辑该规则组件,并为其指定一个大于50(例如60)的数字。
- 如果要先运行某个规则,可以编辑该规则组件,并为其指定一个小于50的数字(例如40)。
强烈建议您使用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 脚本,则它们将同时从服务器加载,但会以规则中配置的顺序执行。
规则组件排序 sequencing
运行时环境的行为取决于您属性的 按序列 运行规则组件是打开还是关闭。 此设置确定是可以并行(异步)评估规则的组件,还是必须按顺序评估它们。
已启用
如果在运行时触发事件时启用此设置,则规则的条件和操作将添加到处理队列(基于您定义的顺序),并以“先进先出”(FIFO) 的方式一次处理一个。 规则会等待组件完成后才移至下一个组件。
如果条件的评估结果为 false 或达到其定义的超时,将从队列中删除该规则的后续条件和操作。
如果操作失败或达到其定义的超时,将从队列中删除该规则的后续操作。
已禁用
如果已禁用,则在运行时触发事件时,将立即评估规则的条件。 将并行评估多个条件。
如果所有条件都返回true(异常情况返回false),将立即执行规则的操作。 虽然会按顺序调用操作,但标记不会等待一个操作完成后再调用下一个操作。 如果您的操作是同步的,它们仍会按顺序执行。 如果一个或多个操作是异步执行的,则一些操作将并行运行。