在Adobe Launch中,Data Elements(数据元素)相当于一套可复用的“数据字典”。
例如,页面 URL、Cookie 值、data layer 变量、DOM 元素文字、广告参数等,原本分散在网页不同位置。通过数据元素统一定义后,规则(Rules)和扩展(Extensions)都可以直接引用,避免每次重复写代码或重复配置。
它的作用与GTM中的“变量(Variables)”非常接近。
需要注意:Data Element 不一定会把值“存起来”。它首先是一个取值和复用机制;是否缓存或持久化,取决于你设置的 Storage Duration(保存期)。
Adobe Launch的 Core 扩展默认提供 10 种常用数据元素类型。其他扩展也可以新增自己的类型。
数据元素设置
进入 Property(属性)后,点击左侧「Data Elements」——「Create New Data Element」,即可创建数据元素。
| 字段 | 作用与建议 |
|---|---|
| Name | 数据元素名称,必填。建议使用容易理解的命名,例如 Page Name、Campaign ID、User Login Status。 |
| Extension | 选择数据元素来源。大多数基础场景选择 Core;安装了 Adobe Analytics、Web SDK 等扩展后,也可能出现扩展专属类型。 |
| Data Element Type | 取值方式,例如读取 Cookie、JavaScript 变量、URL 参数或 DOM 属性。 |
| Default Value | 当目标值不存在、为空或无法获取时返回的备用值。不是测试开关;是否填写要看下游系统如何处理空值。 |
| Force lowercase value | 将结果统一转成小写。适合渠道、页面分类、状态值等大小写应统一的字段;不要用于区分大小写的 ID、Token 或密码类值。 |
| Clean Text | 删除首尾空格、合并多余空格和换行,便于报表分类。适合页面标题、按钮文字等文本字段;不建议用于 JSON、编码字符串或需要保留格式的内容。 |
| Storage Duration | 控制数据元素值是否缓存,以及缓存多久。这是最容易配置错误的一项。 |
保存后,数据元素还需要加入 Library,并发布到相应环境,线上页面才会使用新版本。
Storage Duration:什么时候选 None、Page View、Session 或 Visitor?
Storage Duration 不是“数据本身的生命周期”,而是 Adobe Tags 对该数据元素结果的缓存方式。
| 选项 | 实际行为 | 常见场景 |
| None | 不缓存,每次引用时重新读取或重新计算。 | 当前 URL、页面标题、实时 data layer 值、DOM 内容。 |
| Page View | 在当前页面生命周期内缓存;刷新或打开新页面后失效。 | 单页内需要多次引用、但页面间应重新计算的值。 |
| Session | 保存到当前浏览器标签页的 sessionStorage,关闭该标签页后失效。 | 首次着陆页、会话内渠道、会话级实验分组等。 |
| Visitor | 保存到浏览器 localStorage,直到被覆盖或用户清理浏览器数据。 | 非敏感的访客状态、长期实验分组、已展示提示等。 |
建议先问自己两个问题:
- 这个值在当前页面、当前会话或长期访客层面会不会变化?
- 读取失败后,是否应该沿用旧值?
例如:
- Page Title、URL Path:通常选 None。
- 首次着陆页、首次流量来源:可考虑 Session。
- 是否已关闭新手引导:可考虑 Visitor。
- 登录状态、购物车金额、订单号:通常不要随意使用 Visitor,否则可能读取到过期数据。
不要把Visitor当作默认选项。它会将值写入 localStorage,旧值可能在后续访问中继续被使用。
创建一个常量数据元素
如果你需要在多个规则或扩展中使用同一个固定值,例如环境名称、广告账户 ID、业务线名称或配置开关,可以创建 Constant 数据元素。
例如创建一个固定值为 99 的数据元素:
后续无论在规则还是扩展中,都可以引用 %Fixed Value%。
如何引用数据元素?
数据元素的主要价值,就是在规则和扩展中复用。
当配置界面中出现数据元素图标时:
点击它即可搜索并选择已创建的数据元素
选择后,界面会插入类似下面的写法:
在自定义代码中,则可以通过 _satellite.getVar() 获取数据元素值:
var pageName = _satellite.getVar('Page Name');
如果数据元素不存在或未返回值,结果可能是 undefined 或你设置的 Default Value。因此,涉及关键字段时,应在代码中处理空值。
var pageName = _satellite.getVar('Page Name') || 'unknown';
如何调试数据元素?
调试的目标很简单:确认数据元素在真实页面上返回的值,是否与你预期一致。
Adobe Launch 中打包发不到Development环境,浏览器中打开浏览器开发者工具在控制台输入__satellite.getVar(“Fix Value”):
如果配置正确,应返回99。
如果返回空值,优先检查:
- 数据元素是否已加入并构建到当前 Library;
- 页面是否真的加载了正确环境;
- CSS Selector、Cookie 名称、JavaScript 变量路径是否正确;
- data layer 是否在 Adobe Tags 库加载前已经写入;
- 是否因为 Storage Duration 读取到了旧缓存值。
数据元素管理
点击左侧「Data Elements」,可进入数据元素列表
页面中的全局搜索可搜索 Property 中的规则、数据元素和扩展;Data Elements 页面内的搜索则只搜索数据元素。
勾选一个或多个数据元素后,通常可以进行以下操作:Enable(开启)、Disable(关闭)、Copy(复制)和Delete(删除)
需要注意:删除数据元素跟删除规则一样,先需要将数据元素关闭后发布新版本才可以删除,已经发布出去正在使用的数据元素是删除不了的。
Core的10种常用Data Element类型
Constant:固定值
Constant 用于保存固定配置,例如Adobe Analytics Report Suite ID。
示例:
Name:Business Unit
Value:China
后续可在规则、扩展字段或自定义代码中统一引用:%Business Unit%
当一个固定值会在多个地方使用时,使用 Constant 比直接复制粘贴更容易维护。
Cookie:读取Cookie值
Cookie 数据元素可读取当前网页JavaScript有权限访问的第一方Cookie,如果设置了HttpOnly,是读取不了的。
Custom Code:自定义JavaScript
Custom Code 用于执行一段 JavaScript,并返回一个值。
运用Custom Code对字段做判断处理,如截断,分类。
代码部署如:
关键点是:代码必须 return 一个结果。没有 return 时,数据元素通常会得到 undefined,随后才可能回退到 Default Value。
适合使用 Custom Code 的情况:
- 对 URL、文本或参数进行截取和分类;
- 合并多个已有数据元素;
- 对旧系统页面做临时兼容;
- 在没有规范 data layer 时读取简单页面信息。
但如果开发团队可以提供稳定的数据层,优先使用 JavaScript Variable 读取 data layer。这样比依赖页面 DOM 或复杂自定义代码更稳定。
DOM Attribute:读取页面元素属性
DOM Attribute 用于通过 CSS Selector 定位元素,再读取该元素的属性或文本。
例如页面中有:
<a id="writer" href="/about-me.html">关于作者</a>
我们可以通过CSS选择器去定位,如 div > a 或.classy a 定位锚点,告诉Launch找到这个位置,下一步就是告诉Launch去抓取什么的值,这里直接选择id,这个DOM Attribute就会返回writer,具体的设置界面如下:
- Name:就是自定义这个数据变量的名字。
- Extensions:默认选择Core。
- Data Element Type:选择DOM Attribute。
- From the DOM element matching the CSS Selector:CSS选择器,这个可以通过直接通过浏览器复制得到:将鼠标移动到需要跟踪的位置,然后点击右键审查,将光标定位到需要跟踪的位置,然后点击右键就会看到有CSS选择的,直接复制即可,不需要自己去找。
- Use the value of:就是要获取什么属性的值,这里有id、href、class、src、alt、HTML、text、name、value、type、other attribute.
DOM Attribute 适合没有 data layer 的旧页面,但有两个风险:
- 页面改版后 CSS Selector 可能失效;
- 单页应用(SPA)中,元素可能在 Tags 代码执行后才出现。
因此,关键业务数据如商品 ID、订单金额、用户状态,最好由 data layer 提供,而不是长期依赖 DOM 抓取。
JavaScript Variable:读取全局变量或data layer
JavaScript Variable 用于读取页面上的全局变量。
例如,页面在 Adobe Tags 库加载前写入
<script> var userid=“haran.huang@ichdata.com”; </script>
这时候在在Data Element做如下配置读取:
对于动态内容或 SPA,开发团队还应在页面状态变化时更新 data layer,并通过 Direct Call Rule 或自定义事件触发相应规则。
Local Storage:读取localStorage
Local Storage 数据元素用于读取浏览器 localStorage 中的某个 Key。
localStorage 的特点:
- 数据保存在浏览器本地;
- 通常不会因关闭浏览器而自动清除;
- 同源页面可访问;
- 容量通常比 Cookie 大;
- 不会自动随每次 HTTP 请求发送给服务器。
但不要把它理解成可靠的用户数据库。用户可能清理浏览器数据、使用无痕模式、更换设备或限制存储权限。
Page Info:读取页面信息
Page Info 用于读取当前页面的基础信息,例如:
对于网址https://www.ichdata.com/index.html?utm_source=Admin&utm_medium=Admin&utm_campaign=Admin
- URL:网址的,这里就是https://www.ichdata.com/index.html
- Hostname:主机名,就是网站的域名,这里就是www.ichdata.com
- Pathname:路径,页面在服务器的路径,这就是/index.html?
- Protocol:新协议,这里就是https。
- Referral:引荐来源,就是上一级的网站来源的,比如通过百度搜索过来的,referral就是www.baidu.com。
- Title:标题,就是网站的标题了。
注意:Pathname 不包含查询参数。要读取 utm_source 等参数,应使用 Query String Parameter 类型,而不是从 Pathname 中截取。
Query String Parameter:读取URL参数
Query String Parameter 用于读取 URL 问号后的参数值。
例如:https://www.ichdata.com/index.html?utm_source=Admin&utm_medium=Admin&utm_campaign=Admin
这里的utm_source,utm_medium,utm_campaign就是查询参数看,能够将这个参数的值转成一个data element,然后在其他地方使用,如:
这类数据元素适合读取:
- UTM 参数;
- 广告点击 ID;
- 内部推广位参数;
- 活动编号;
- 页面实验参数。
不要在 URL 参数中放置手机号、邮箱、订单号等个人信息,也不要使用未经编码的 ?、&、= 作为参数值的一部分,否则可能导致解析错误。
如果广告参数只需要在本次访问中使用,可以进一步把首次读取到的值保存为 Session 级数据元素,避免用户浏览下一页时参数消失。
Random Number:生成随机数
Random Number 可在设定的最小值和最大值之间生成随机数。
Session Storage:读取sessionStorage
Session Storage 数据元素用于读取浏览器 sessionStorage 中的 Key。
sessionStorage 通常在当前标签页存在,关闭标签页后失效。它适合保存本次访问过程中的临时状态,
Visitor Behavior:访客行为
Visitor Behavior 是 Core 提供的常用行为数据元素集合,可直接读取:
- Lading Page,就是着陆页了
- Traffic Source:流量来源
- Minutes on Site:在网站的时间
- Session Count:会话数
- Session Page View Count:总的会话数
- Lifetime Page View Count:总的页面访问数,
- is New Visitor:是否新访客
这些值主要适合作为前端规则条件或辅助分析信号。它们不是跨设备、跨浏览器的真实用户识别结果,也不应替代 CRM、CDP 或登录 ID。
最后总结
Data Elements 是 Adobe Launch 配置的基础。它把散落在 URL、Cookie、DOM、data layer 和浏览器存储中的数据,统一成可复用的变量,供规则和扩展调用。
实际配置时,建议遵循以下原则:
- 页面和业务关键数据,优先由 data layer 提供;
- 动态页面值通常选择 None;
- 会话级数据才使用 Session;
- 只有确实需要长期保留、且不敏感的值才使用 Visitor;
- 每次修改后先在 Development 环境用 _satellite.getVar() 验证;
- 确认规则、请求和下游报表都正确后,再发布到 Production。
Data Element 配置得越清晰,后续创建 Rules、部署 Adobe Analytics、Web SDK、Target 或广告标签时就越容易维护。














