欢迎访问我的博客,有问题可以在任意文章底部留言评论

详解深入理解Data Element类型:变量管理不再迷茫

Adobe Launch Haran 8年前 (2019-03-22) 6998次浏览 0个评论

在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」,即可创建数据元素。

详解深入理解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 的数据元素:

详解深入理解Data Element类型:变量管理不再迷茫

后续无论在规则还是扩展中,都可以引用 %Fixed Value%。

如何引用数据元素?

数据元素的主要价值,就是在规则和扩展中复用。

当配置界面中出现数据元素图标时:

详解深入理解Data Element类型:变量管理不再迷茫

点击它即可搜索并选择已创建的数据元素

           详解深入理解Data Element类型:变量管理不再迷茫

选择后,界面会插入类似下面的写法:

详解深入理解Data Element类型:变量管理不再迷茫

在自定义代码中,则可以通过 _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”):

详解深入理解Data Element类型:变量管理不再迷茫

如果配置正确,应返回99。

如果返回空值,优先检查:

  • 数据元素是否已加入并构建到当前 Library;
  • 页面是否真的加载了正确环境;
  • CSS Selector、Cookie 名称、JavaScript 变量路径是否正确;
  • data layer 是否在 Adobe Tags 库加载前已经写入;
  • 是否因为 Storage Duration 读取到了旧缓存值。

 

数据元素管理

点击左侧「Data Elements」,可进入数据元素列表

详解深入理解Data Element类型:变量管理不再迷茫

页面中的全局搜索可搜索 Property 中的规则、数据元素和扩展;Data Elements 页面内的搜索则只搜索数据元素。

勾选一个或多个数据元素后,通常可以进行以下操作:Enable(开启)、Disable(关闭)、Copy(复制)和Delete(删除)

详解深入理解Data Element类型:变量管理不再迷茫

需要注意:删除数据元素跟删除规则一样,先需要将数据元素关闭后发布新版本才可以删除,已经发布出去正在使用的数据元素是删除不了的。

 

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对字段做判断处理,如截断,分类。

详解深入理解Data Element类型:变量管理不再迷茫

代码部署如:

详解深入理解Data Element类型:变量管理不再迷茫

关键点是:代码必须 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,具体的设置界面如下:

详解深入理解Data Element类型:变量管理不再迷茫

  • 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做如下配置读取:

详解深入理解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,然后在其他地方使用,如:

详解深入理解Data Element类型:变量管理不再迷茫

这类数据元素适合读取:

  • UTM 参数;
  • 广告点击 ID;
  • 内部推广位参数;
  • 活动编号;
  • 页面实验参数。

不要在 URL 参数中放置手机号、邮箱、订单号等个人信息,也不要使用未经编码的 ?、&、= 作为参数值的一部分,否则可能导致解析错误。

如果广告参数只需要在本次访问中使用,可以进一步把首次读取到的值保存为 Session 级数据元素,避免用户浏览下一页时参数消失。

 

 

Random Number:生成随机数

Random Number 可在设定的最小值和最大值之间生成随机数。

详解深入理解Data Element类型:变量管理不再迷茫

Session Storage:读取sessionStorage

Session Storage 数据元素用于读取浏览器 sessionStorage 中的 Key。

sessionStorage 通常在当前标签页存在,关闭标签页后失效。它适合保存本次访问过程中的临时状态,

 

Visitor Behavior:访客行为

Visitor Behavior 是 Core 提供的常用行为数据元素集合,可直接读取:

详解深入理解Data Element类型:变量管理不再迷茫

  • 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 或广告标签时就越容易维护。


有疑问可以在底部留言
喜欢 (3)
发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址