Google Analytics中的数据层
dataLayer 是传递给GTM的键值对的全局对象,可用于描述不作为页面 DOM 或其他 JavaScript 变量的一部分提供的信息,可以理解为用于存储或发送信息给GTM的一个js数组。dataLayer 对象需要进行初始化。示例:
<script>
dataLayer = [{
'pageCategory': 'signup',
'visitorType': 'high-value'
}];
</script>
<script>
dataLayer.push = [{
'pageCategory': 'signup',
'visitorType': 'high-value'
}];
</script>
GTM中用数据层变量去接收:
Adobe Analytics中的数据层
Adobe Analytics的数据层是网站上 JavaScript 对象的框架,其中包含实施中使用的所有变量值。它让你可以在实施中拥有更大的控制力且更便于维护。
Adobe Analytics的数据层是JS对象。一般总数据层对象用 digitalData ,如果你看到 digitalData的变量,这个就是Adobe Analytics的数据层,下面就是一个数据层:
digitalData = { page: { pageInfo: { pageCategory: 'signup', visitorType: 'high-value'} } }
Adobe Analytics的数据从不需要主动发送,只需要组装好放到页面即可。
Adobe Launch中用数据层变量去接收:
Adobe Client Data Layer
这个是2020才推出的,Adobe Client Data Layer简称为ACDL ,叫Adobe客户端数据层,是实现Event Driven Data Layer(简称为EDDL,叫事件驱动的护数据层)的之一,需要注意,实现EDDL的方式有多种,其他的一些Extensions也可以实现。
Adobe Client Data Layer目标是通过提供一种标准化方法来公开和访问任何脚本的任何类型数据,从而减少对网站进行测试的工作量。
Adobe Client Data Layer的用法如下:
<span style="font-size: 12pt;">adobeDataLayer.push({"event":"myEvent", "data":{"foo":"bar", "key":"value"}}) </span>
可以主动发送数据,基本等同于GTM的DataLayer,如果你有用过GTM,就应该比较熟悉。
更多关于ACDL的内容请看:Adobe Analytics里的数据驱动数据层ACDL
总结
两者一样的是都需要将数据层放到头部,尽快加载或发送出去,确保能够触发。
但Google Analytics的数据层是需要主动发送,而Adobe Analytics是放到页面即可。
Adobe Analytics的数据层是JS对象,就是JS全局变量,对应的就是GTM里的JavaScript Variable。