核心扩展概述

注意

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

核心标记扩展是随Adobe Experience Platform一起发布的默认扩展。

本文档提供了有关使用核心扩展构建规则时可用的选项的信息。

核心扩展事件类型

本主题介绍核心扩展中可用的事件类型。有关可以为多个不同事件类型设置的选项的信息,请参阅Options部分。

基于浏览器的事件

Tab Blur

选项卡失去焦点时,tab-blur事件会触发操作。 没有适用于此事件类型的设置。

Tab Focus

制表符焦点事件在制表符获得焦点时触发该操作。 没有适用于此事件类型的设置。

表单

Blur

表单失去焦点时,模糊事件会触发操作。 有关可自定义事件设置的更多信息,请参阅选项部分。

Focus

表单获得焦点时,焦点事件会触发该操作。 有关可自定义事件设置的更多信息,请参阅选项部分。

Submit

提交表单后,提交事件会触发相应操作。 有关可自定义事件设置的更多信息,请参阅选项部分。

键盘控制事件

Key Press

按下键时,将触发该事件。 有关可自定义事件设置的更多信息,请参阅选项部分。

基于媒体的事件

Media Ended

媒体结束时,将触发该事件。 有关可自定义事件设置的更多信息,请参阅选项部分。

媒体加载数据

媒体加载数据时会触发该事件。 有关可自定义事件设置的更多信息,请参阅选项部分。

Media Pause

暂停媒体时会触发该事件。 有关可自定义事件设置的更多信息,请参阅选项部分。

Media Play

播放媒体时会触发该事件。 有关可自定义事件设置的更多信息,请参阅选项部分。

Media Stalled

媒体停止时,将触发该事件。 有关可自定义事件设置的更多信息,请参阅选项部分。

Media-Time Played

如果媒体播放的时间长度指定,则会触发该事件。 您必须指定媒体必须播放的持续时间才能触发事件。 有关可自定义事件设置的更多信息,请参阅选项部分。

Media-Volume Changed

如果音量升高或降低,则会触发该事件。 有关可自定义事件设置的更多信息,请参阅选项部分。

面向移动设备的事件

Orientation Change

如果设备的方向发生更改,则会触发该事件。 您必须指定方向必须更改的持续时间才能触发事件。 没有适用于此事件类型的设置。

Zoom Change

如果用户放大或缩小,则会触发事件。 没有适用于此事件类型的设置。

鼠标控制事件

Click

如果选择(单击)指定的元素,则会触发该事件。 (可选)您可以为元素指定在触发该事件之前必须为 true 的属性值。

如果元素是链接内容的锚点标记(<a>),您还可以指定是否将导航延迟一段时间。 如果您的规则需要额外的执行时间,并且通常在页面导航之前无法完成,则此操作会非常有用。

警告

如果使用不正确,此选项会给用户体验带来潜在的负面影响,因此应格外谨慎。

当您使用链接延迟时,Platform实际上会阻止浏览器导航到页面之外。 然后,在指定的超时后,执行到原始目标的JavaScript重定向。 当页面标记具有<a>标记,且预期功能实际上并未将用户导航到页面之外时,这会特别危险。 如果您无法以任何其他方式解决您的问题,您应该对选择器定义非常精确,以便此事件将在您需要的位置触发,而无论在其他位置。

默认链接延迟值为100毫秒。 请注意,标记将始终等待指定的时间,并且不会以任何方式连接到规则操作的执行。 延迟可能会迫使用户等待超过所需时间,并且延迟时间也可能不足以使规则的所有操作成功完成。 较长的延迟可为规则执行提供更多时间,但也会恶化用户体验。

要实施延迟,必须同时提供触发事件的选定元素以及触发事件之前的特定时间。

有关高级选项的详细信息,请参阅Options部分。

Hover

如果用户将鼠标悬停在指定的元素上,则会触发该事件。 您还必须配置规则是立即触发还是在指定的毫秒数后触发。 有关可自定义事件设置的更多信息,请参阅选项部分。

其他事件

Custom Event

如果发生自定义事件类型,则会触发该事件。 代码库中其他位置定义的已命名JavaScript函数可用作自定义事件类型。 您必须指定自定义事件类型的名称,并按照以下Options部分中所述配置任何其他设置。

Data Element Changed

如果指定的数据元素发生更改,则会触发该事件。 您必须为数据元素提供名称。 您可以选择数据元素,方法是:在文本字段中键入其名称,或选择文本字段右侧的数据元素图标,然后从显示的对话框中提供的列表中进行选择。

Direct Call

直接调用事件绕过事件检测和查找系统。 直接调用规则最适合您希望准确告知平台当前发生事件的情况。 此外,它们还适用于 Platform 在 DOM 中检测不到事件的情况,例如与 Adobe Flash 有关的事件。在标识符文本字段中指定_satellite.track字符串。

Element Exists

如果存在指定的元素,则会触发该事件。 有关可自定义事件设置的更多信息,请参阅选项部分。

Enters Viewport

如果用户进入指定的视区,则会触发该事件。 您必须提供CSS选择器作为目标匹配元素的条件。 您还必须配置规则是立即触发还是在指定的毫秒数后触发,以及事件应在每次发生时触发还是仅在第一次触发。

有关可自定义事件设置的更多信息,请参阅选项部分。

History Change

如果发生pushState或hashchange事件,则会触发该事件。 没有适用于此事件类型的设置。

页面逗留时间

如果用户在页面上停留指定的秒数,则会触发该事件。 您必须指定在触发事件之前必须经过的秒数。

页面加载事件

DOM Ready

当DOM就绪且用户可以与页面交互时,将触发该事件。 没有适用于此事件类型的设置。

Library Loaded (Page Top)

加载标记库后,会立即触发该事件。 没有适用于此事件类型的设置。

Page Bottom

调用_satellite.pageBottom();后,将触发该事件。 异步加载标记库时,不应使用此事件类型。 没有适用于此事件类型的设置。

Window Loaded

当浏览器调用onLoad并且页面完成加载时,将触发该事件。 没有适用于此事件类型的设置。

选项

每个表单事件类型都使用以下设置:

Specific Elements | Any Element

  • 如果选择​Specific Elements,则会显示用于选择元素和属性值的选项。
  • 如果选择​Any Element,则无需显示其他选项来缩小元素范围。

Elements matching the CSS selector

输入用于标识将会触发事件的元素的 CSS 选择器。

And having certain property values

如果选择此选项,则以下参数将变为可用:

  • property=value

    指定属性的值

  • Regex

    如果 property=value 是正则表达式,则启用此选项。

  • Add

    添加其他 property=value 对。

Advanced options (Bubbling)

  • 即使事件源自子元素,也运行此规则
  • 即使事件已触发针对子元素的规则,也允许运行此规则
  • 此规则运行后,阻止事件触发针对父元素的规则

核心扩展条件类型

此部分介绍核心扩展中可用的条件类型。这些条件类型可以与常规或例外逻辑类型一起使用。

数据

指定要使事件触发操作而必须存在的 Cookie 名称和值。

  1. 指定 Cookie 名称。
  2. 输入如果事件要触发操作,Cookie 中必须存在的值。
  3. (可选)如果这是正则表达式,则启用 Regex。

自定义代码

指定必须作为事件条件存在的任何自定义代码。使用内置代码编辑器输入自定义代码。

  1. 选择​Open Editor
  2. 键入自定义代码。
  3. 选择​保存

将自动提供一个名为 event 的变量,您可以从自定义代码中引用该变量。event 对象将包含有关触发规则的事件的有用信息。确定哪些事件数据可用的最简单方法是从自定义代码中将 event 记录到控制台:

console.log(event);
return true;

在浏览器中运行规则,并在浏览器控制台中检查已记录的事件对象。了解了哪些信息可用后,您便可以将其用于自定义代码中的程序化决策。

条件排序

启用属性设置中的“按顺序运行规则组件”选项后,您可以在执行异步任务时,让后续规则组件等待。

当条件返回承诺时,直到返回的承诺得到解析后才会执行规则中的下一个条件。如果promise被拒绝,则标记会将该条件视为失败,且不会执行该规则的其他条件或操作。

返回承诺的条件的示例:

return new Promise(function(resolve, reject) {
  setTimeout(function() {
    if (new Date().getDay() === 5) {
      resolve();
    } else {
      reject();
    }
  }, 1000);
});

Value Comparison

比较两个值以确定此条件是否返回 true。

假设您有一个包含多个条件的规则,此条件可能会返回 true,但是由于其他条件评估为 false 或其中一个例外评估为 true,因此该规则仍不会触发。

  1. 提供一个值。
  2. 选择运算符。有关更多详细信息,请参阅下面的值比较运算符列表。
  3. (如果需要)选择比较是否应区分大小写。
  4. 提供另一个要比较的值。

可以使用以下值比较运算符:

Equal:​如果使用非严格比较后认为两个值相等,则该条件会返回 true(在 JavaScript 中,运算符为 ==)。值可以是任何类型。在值字段中输入 truefalsenullundefined 之类的词时,该词将作为字符串进行比较,而不会转换为其 JavaScript 等效字符。

Does Not Equal:​如果使用非严格比较后认为两个值不相等,则该条件会返回 true(在 JavaScript 中,运算符为 !=)。值可以是任何类型。在值字段中输入 truefalsenullundefined 之类的词时,该词将作为字符串进行比较,而不会转换为其 JavaScript 等效字符。

Contains:​如果第一个值包含第二个值,则该条件会返回 true。数字将转换为字符串。除数字或字符串之外的任何其他值都会导致该条件返回 false。

Does Not Contain:​如果第一个值不包含第二个值,则该条件会返回 true。数字将转换为字符串。除数字或字符串之外的任何其他值都会导致该条件返回 true。

Starts With:​如果第一个值以第二个值开头,则该条件会返回 true。数字将转换为字符串。除数字或字符串之外的任何其他值都会导致该条件返回 false。

Does Not Start With:​如果第一个值不以第二个值开头,则该条件会返回 true。数字将转换为字符串。除数字或字符串之外的任何其他值都会导致该条件返回 true。

Ends With:​如果第一个值以第二个值结尾,则该条件会返回 true。数字将转换为字符串。除数字或字符串之外的任何其他值都会导致该条件返回 false。

Does Not End With:​如果第一个值不以第二个值结尾,则该条件会返回 true。数字将转换为字符串。除数字或字符串之外的任何其他值都会导致该条件返回 true。

Matches Regex:​如果第一个值匹配正则表达式,则该条件会返回 true。数字将转换为字符串。除数字或字符串之外的任何其他值都会导致该条件返回 false。

Does Not Match Regex:​如果第一个值不匹配正则表达式,则该条件会返回 true。数字将转换为字符串。除数字或字符串之外的任何其他值都会导致该条件返回 true。

Is Less Than:​如果第一个值小于第二个值,则该条件会返回 true。表示数字的字符串将转换为数字。除数字或可转换字符串之外的任何其他值都会导致该条件返回 false。

Is Less Than Or Equal To:​如果第一个值小于或等于第二个值,则该条件会返回 true。表示数字的字符串将转换为数字。除数字或可转换字符串之外的任何其他值都会导致该条件返回 false。

Is Greater Than:​如果第一个值大于第二个值,则该条件会返回 true。表示数字的字符串将转换为数字。除数字或可转换字符串之外的任何其他值都会导致该条件返回 false。

Is Greater Than Or Equal To:​如果第一个值大于或等于第二个值,则该条件会返回 true。表示数字的字符串将转换为数字。除数字或可转换字符串之外的任何其他值都会导致该条件返回 false。

Is True:​如果提供的值是值为 true 的布尔值,则该条件会返回 true。如果您提供的值是任何其他类型,则不会将该值转换为布尔值。除值为 true 的布尔值之外的任何其他值都会导致该条件返回 false。

Is Truthy:​如果提供的值在转换为布尔值后为 true,则该条件会返回 true。有关 truthy 值的示例,请参阅 MDN 的 Truthy 文档

Is False:​如果提供的值是值为 false 的布尔值,则该条件会返回 true。如果您提供的值是任何其他类型,则不会将该值转换为布尔值。除值为 false 的布尔值之外的任何其他值都会导致该条件返回 false。

Is Falsy:​如果提供的值在转换为布尔值后为 false,则该条件会返回 true。有关 falsy 值的示例,请参阅 MDN 的 Falsy 文档

Variable

指定要使事件触发操作而必须存在的 JavaScript 变量名称和值。

  1. 指定 JavaScript 变量名称。
  2. 指定必须作为事件条件存在的变量值。
  3. (可选)如果这是正则表达式,则启用 Regex。

参与度

登陆页面

指定用户必须登陆才能触发事件的页面。

  1. 指定登陆页面。
  2. (可选)如果这是正则表达式,则启用 Regex。

New/Returning Visitor

指定要使事件触发操作,访客应该是新访客还是回访访客。

选择下列选项之一:

  • New Visitor
  • Returning Visitor

Page Views

配置在触发操作之前访客必须查看页面的次数。

  1. 选择页面查看次数是必须大于、等于还是小于指定的值。
  2. 指定用于确定是否满足条件的页面查看次数。
  3. 通过选择以下任一选项来配置何时计数页面查看次数:
    • Lifetime
    • Current Session

Sessions

如果用户的会话数满足指定的标准,则会触发操作。

  1. 选择会话数是必须大于、等于还是小于指定的值。
  2. 指定用于确定是否满足条件的会话数。

Time On Site

如果用户的会话数满足指定的标准,则会触发操作。

配置在触发操作之前访客必须在网站上停留的时长。

  1. 选择访客在网站上停留的分钟数是必须大于、等于还是小于指定的值。
  2. 指定用于确定是否满足条件的分钟数。

流量源

如果用户的会话数满足指定的标准,则会触发操作。

指定要使操作能够触发,必须为 true 的访客流量源。

  1. 指定流量源。
  2. (可选)如果这是正则表达式,则启用 Regex。

技术

浏览器

选择要使操作能够触发,访客必须使用的浏览器。

选择以下一种或多种浏览器:

  • Chrome
  • Firefox
  • Internet Explorer/Edge
  • Internet Explorer Mobile
  • Mobile Safari
  • OmniWeb
  • Opera
  • Opera Mini
  • Opera Mobile
  • Safari

Device Type

选择要使操作能够触发,访客必须使用的设备类型。

选择以下一种或多种设备类型:

  • Android
  • Blackberry
  • 台式机
  • iPad
  • iPhone
  • iPod
  • Nokia
  • Windows Phone

Operating System

选择要使操作能够触发,访客必须使用的操作系统。

选择以下一种或多种操作系统:

  • Android
  • Blackberry
  • iOS
  • Linux
  • MacOS
  • Maemo
  • Symbian OS
  • Unix
  • Windows

Screen Resolution

选择要使操作能够触发,访客必须在其设备上使用的屏幕分辨率。

  1. 选择访客设备的屏幕分辨率宽度是否必须大于、等于或小于指定的值。
  2. 指定屏幕分辨率宽度所需的像素数。
  3. 选择访客设备的屏幕分辨率高度是否必须大于、等于或小于指定的值。
  4. 指定屏幕分辨率高度所需的像素数。

Window Size

选择要使操作能够触发,访客必须在其设备上使用的窗口大小。

  1. 选择访客设备的窗口大小宽度是否必须大于、等于或小于指定的值。
  2. 指定窗口大小宽度所需的像素数。
  3. 选择访客设备的窗口大小高度是否必须大于、等于或小于指定的值。
  4. 指定窗口大小高度所需的像素数。

URL

Domain

指定访客的域。

Hash

指定 URL 中必须存在的一个或多个哈希模式。

注意

使用 OR 连接多个哈希模式。

  1. 指定哈希模式。
  2. (可选)如果这是正则表达式,则启用 Regex。
  3. 添加任何其他哈希模式。

路径和查询字符串

指定 URL 中必须存在的一个或多个路径。这包括路径和查询字符串。

注意

使用 OR 连接多个路径。

  1. 指定路径。
  2. (可选)如果这是正则表达式,则启用 Regex。
  3. 添加任何其他路径。

不含查询字符串的路径

指定 URL 中必须存在的一个或多个路径。这包括路径,但不包括查询字符串。

注意

使用 OR 连接多个路径。

  1. 指定路径。
  2. (可选)如果这是正则表达式,则启用 Regex。
  3. 添加任何其他路径。

协议

指定 URL 中使用的协议。

选择下列选项之一:

  • HTTP
  • HTTPS

查询字符串参数

指定 URL 中使用的 URL 参数。

  1. 指定 URL 参数名称。
  2. 指定用于 URL 参数的值。
  3. (可选)如果这是正则表达式,则启用 Regex。

Subdomain

指定 URL 中必须存在的一个或多个子域。

注意

使用 OR 连接多个子域。

  1. 指定子域。
  2. (可选)如果这是正则表达式,则启用 Regex。
  3. 添加任何其他子域。

其他

Date Range

指定日期范围。选择发生事件的日期和时间范围以及时区。

Max Frequency

指定条件会返回 true 的最大次数。您可以从下列选项中进行选择:

  • Page view
  • 会话
  • Visitor
  • Seconds
  • Minutes
  • Days
  • Weeks
  • Months

对于每个会话最大频率为 1 的条件,可将这两个 localStorage 项目进行比较。如果 visitorTracking.sessionCount 大于 maxFrequency.session 计数,则取样条件为 true。如果两者相等,则条件为 false。

sessionCountvisitorTracking 项目,因此必须启用访客 API 才能使取样条件正常工作。

Sampling

指定条件会返回 true 的次数百分比。

核心扩展操作类型

此部分介绍核心扩展中可用的操作类型。

自定义代码

提供在触发事件并评估条件后运行的代码。

  1. 命名操作代码。
  2. 选择用于定义操作的语言:
    • JavaScript
    • HTML
  3. 选择是否要全局执行操作代码。
  4. 选择​Open Editor
  5. 编辑代码,然后选择​Save

选择 JavaScript 作为语言时,将自动提供一个名为 event 的变量,您可以从自定义代码中引用该变量。event 对象将包含有关触发规则的事件的有用信息。确定哪些事件数据可用的最简单方法是从自定义代码中将 event 记录到控制台:

console.log(event);

在浏览器中运行规则,并在浏览器控制台中检查已记录的事件对象。了解哪些信息可用后,您便可以将其用于自定义代码中的程序化决策,将一段 event 对象发送到服务器等。

Custom Code 操作处理

适用于所有Adobe Experience Platform用户的核心扩展包含用于执行用户提供的JavaScript或HTML的Custom Code操作。 通常,了解如何处理具有 Custom Code 操作的规则对用户很有用。

使用 page top 或 page bottom 事件的规则

自定义操作的代码会嵌入在主标记库中。 该代码将使用 document.write 写入文档。如果规则具有多个 Custom Code 操作,则该代码将按规则中配置的顺序写入。

使用除 page top 或 page bottom 以外的任何事件的规则

自定义操作的代码将从服务器加载并使用 Postscribe 写入文档。如果规则具有多个 Custom Code 操作,则该代码将从服务器并行加载,但会按照规则中配置的顺序写入。

虽然在加载页面后使用 document.write 通常会出现问题,但对于通过 Custom Code 操作提供的代码来说,这并不是问题。无论何时执行代码,您都可以在 Custom Code 操作中使用 document.write。

自定义代码验证

标记代码编辑器中使用的验证器可识别开发人员编写的代码中存在的问题。 经过缩小的代码(例如从代码管理器中下载的 AppMeasurement.js 代码)可能会被 验证器错误地标记为存在问题,这通常可以忽略不计。

操作排序

启用属性设置中的“按顺序运行规则组件”选项后,您可以在操作执行异步任务时,让后续规则组件等待。对于 JavaScript 和 HTML 自定义代码,这项操作的原理有所不同。

JavaScript

创建 JavaScript 自定义代码操作时,您可以从操作返回承诺。规则中的下一项操作将仅在返回的承诺得到解析后才执行。如果承诺被拒绝,则不会执行规则中的后续操作。

注意

仅当JavaScript未设置为全局执行时,这项操作才起作用。 如果您正在全局范围中执行自定义代码操作,则标记会将promise视为立即解析,并转到处理队列中的下一个项目。

返回承诺的 JavaScript 自定义代码操作的示例:

return new Promise(function(resolve, reject) {
  setTimeout(function() {
    if (new Date().getDay() === 5) {
      resolve();
    } else {
      reject();
    }
  }, 1000);
});

HTML

创建 HTML 自定义代码操作时,可在自定义代码中使用名为 onCustomCodeSuccess() 的函数。您可以调用此函数来指示您的自定义代码已完成,并且标记可能会继续执行后续操作。 另一方面,如果您的自定义代码以某种方式失败,您可以调用 onCustomCodeFailure()。这会通知标记不要执行该规则中的后续操作。

使用新回调的 HTML 自定义代码操作的示例:

<script>
setTimeout(function() {
  if (new Date().getDay() === 5) {
    onCustomCodeSuccess();
  } else {
    onCustomCodeFailure();
  }
}, 1000);
</script>

核心扩展数据元素类型

数据元素类型由扩展决定。对于可创建的类型,没有任何限制。

以下部分介绍核心扩展中可用的数据元素类型。其他扩展则使用其他数据元素类型。

可在“Cookie 名称”字段中提及任何可用的域 Cookie。

示例:

cookieName

常量

随后可在操作或条件中引用的任何常数字符串值。

示例:

string

自定义代码

通过选择“打开编辑器”并将代码插入编辑器窗口,可以将自定义 JavaScript 输入到用户界面中。

编辑器窗口中需要一个返回语句,以指示应该将什么值用作数据元素值。如果不包括返回语句或返回了值 nullundefined,则将使用数据元素的默认值作为数据元素值。

示例:

var pageType = $('div.page-wrapper').attr('class').split('')[1];
if (window.location.pathname == '/') {
  return 'homepage';
} else {
  return pageType;
}

如果在规则执行时检索自定义代码数据元素,则将自动提供一个名为 event 的变量,您可以从自定义代码中引用该变量。event 对象将包含有关触发规则的事件的有用信息。确定哪些事件数据可用的最简单方法是从自定义代码中将 event 记录到控制台:

console.log(event);
return true;

在浏览器中运行规则,并在浏览器控制台中检查已记录的事件对象。了解可能使用您的数据元素的各种规则下哪些信息可用后,您便可以将其用于自定义代码中的程序化决策,或返回一段 event 对象作为数据元素的值。

DOM 属性

可以检索任何元素值,例如 div 或 H1 标记。

示例:

CSS 选择器链:

id#dc logo img

获取以下元素的值:

src

JavaScript 变量

可以使用路径字段引用任何可用的 JavaScript 对象或变量。

标记数据元素可用于捕获标记JavaScript变量或对象属性。 然后,可以通过引用标记数据元素在扩展或自定义规则中使用这些值。 如果数据源发生更改,则只需在数据收集UI中更新对该源的引用即可。

在以下示例中,标记包含一个名为Page_Name的JavaScript变量。

<script>
  //data layer
  var Page_Name = "Homepage"
</script>

在数据收集UI中创建数据元素时,只需提供该变量的路径。

如果您使用数据收集器对象作为数据层的一部分,请在路径中使用点表示法来引用要捕获到数据元素中的对象和属性,如_myData.pageNamedigitalData.pageName等。

示例:

window.document.title

本地存储

在 Local Storage Item Name 字段中提供本地存储项目的名称。

本地存储允许浏览器将信息从一个页面存储到另一个页面 (https://www.w3schools.com/html/html5_webstorage.asp)。本地存储的工作方式与 Cookie 非常类似,只是其存储空间更大,存储方式更灵活。

使用提供的字段指定您为本地存储项目创建的值,例如 lastProductViewed.

合并对象

选择多个数据元素,每个数据元素都将提供一个对象。 这些对象将深度(递归)合并在一起,以生成新对象。 不会修改源对象。 如果在多个源对象上的同一位置找到一个属性,则将使用后一个对象的值。 如果源属性值为undefined,则不会覆盖先前源对象中的值。 如果在多个源对象上的同一位置找到数组,则将连接数组。

例如,假定您选择了一个提供以下对象的数据元素:

{
  "sport": {
    "name": "tennis"
  },
  "dessert": "ice cream",
  "fruits": [
    "apple",
    "banana"
  ]
}

假设您还选择了另一个数据元素,该数据元素提供了以下对象:

{
  "sport": {
    "name": "volleyball"
  },
  "dessert": undefined,
  "pet": "dog",
  "instrument": undefined,
  "fruits": [
    "cherry",
    "duku"
  ]
}

“合并的对象”数据元素的结果将为以下对象:

{
  "sport": {
    "name": "volleyball"
  },
  "dessert": "ice cream",
  "pet": "dog",
  "instrument": undefined,
  "fruits": [
    "apple",
    "banana",
    "cherry",
    "duku"
  ]
}

页面信息

使用这些数据点捕获页面信息,以将其用在规则逻辑中,或者将信息发送到 Analytics 或外部跟踪系统。

您可以选择以下任一页面属性,以将其用在数据元素中:

  • URL
  • 主机名
  • 路径名
  • 协议
  • 反向链接
  • 标题

查询字符串参数

在 URL Parameter 字段中指定单个 URL 参数。

只有名称部分是必需提供的,并且应该忽略任何特殊标志符,例如“?”或“=”

示例:

contentType

随机数

使用此数据元素可生成一个随机数。随机数通常用于对数据采样或创建 ID,例如点击 ID。随机数也可用于对敏感数据进行模糊或加盐处理。一些示例可能包括:

  • 生成点击 ID
  • 将数字连接到用户令牌或时间戳以确保唯一性
  • 对 PII 数据执行单向哈希处理
  • 随机确定在网站上显示调查请求的时间

指定随机数的最小值和最大值。

默认值:

最小值:0

最大值:1000000000

会话存储

在 Session Storage Item Name 字段中提供会话存储项目的名称。

会话存储类似于本地存储,不同之处在于,会话存储在会话结束后会丢弃数据,而本地存储或 Cookie 则可以保留数据。

访客行为

与页面信息类似,此数据元素使用常见行为类型来丰富规则和其他平台解决方案中的逻辑。

选择以下任一访客行为属性:

  • 登陆页面
  • 流量源
  • 网站逗留分钟数
  • 会话计数
  • 会话页面查看计数
  • 存留期页面查看计数
  • 是新访客

一些常见用例包括:

  • 当访客在网站上停留五分钟后,显示调查结果
  • 如果访问的是登陆页面,则填充 Analytics 量度
  • 在 X 个会话计数后向访客显示新选件
  • 如果访客是首次来访访客,则显示新闻稿注册页面

条件值

值比较条件的包装器。 根据比较结果,将返回表单中两个可用值之一。 因此可以处理“如果……那……否则……” 不需要额外规则的情况。

运行时环境

允许您选择以下变量之一:

  • 环境阶段 — 返回_satellite.environment.stage以区分开发/暂存/生产环境。
  • 库生成日期 — 返回包含相同值(如_satellite.buildInfo.buildDate)的turbine.buildInfo.buildDate
  • 属性名称 — 返回_satellite.property.name以获取Launch属性的名称。
  • 属性ID — 返回_satellite.property.id以获取Launch属性的ID
  • 规则名称 — 返回包含已执行规则名称的event.$rule.name
  • 规则ID — 返回包含已执行规则ID的event.$rule.id
  • 事件类型 — 返回event.$type,其中包含触发规则的事件类型。
  • 事件详细信息有效负载 — 返回包含自定义事件或直接调用规则有效负载的event.detail
  • 直接调用标识符 — 返回包含直接调用规则标识符的event.identifier

设备属性

返回以下访客设备属性之一:

  • 浏览器窗口大小
  • 屏幕大小

JavaScript工具

它是常用JavaScript操作的包装器。 它接收数据元素作为输入。 它返回数据元素值的以下转换之一的结果:

  • 基本字符串处理(替换、子字符串、正则表达式匹配、第一个和最后一个索引、拆分、切片)
  • 基本阵列操作(切片、连接、弹出、移位)
  • 基本通用运算(切片、长度)

在此页面上