Ulf*_*lfR 17 google-analytics google-tag-manager
dataLayer.push()在尝试实现和理解 Google 标签管理器和 Google Analytics 的使用时,我想知道为什么在某些地方谈论,而在其他地方gtag()用于类似的操作。尽管结果并不完全相同,但它们似乎服务于相同的目的。
gtag()定义为:
function gtag(){dataLayer.push(arguments)};
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用 gtag 时的代码,我会得到一个包装参数对象。所以我明白这是有区别的,但这有关系吗?它们应该用于不同的目的吗?
> dataLayer = []
> dataLayer.push({'event','login'})
[{'event','login'}]
> dataLayer = []
> gtag({'event','login'})
[Arguments({'event','login'})]
Run Code Online (Sandbox Code Playgroud)
什么时候应该使用其中之一,或者我可以决定只使用其中之一?
Pet*_*ton 14
嗯,没有什么区别。gtag()只是一个 JS 函数的包装器dataLayer.push()。然而,gtag是优选的。
使用的原因gtag是为了避免任何可能污染或dataLayer意外更改对象内部数据的操作,从而影响分析数据。
从技术上讲,它们是相同的,您可以使用任何一种方式。
就我个人而言,在标记事件时,我通常创建自己的函数:
// definition
function gevent(name, data) {
gtag('event', name, data);
}
// sample
gevent('level_up', { userId: 123, prevLevel: 12, currLevel: 13 });
gevent('logout', { userId: 123 });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8256 次 |
| 最近记录: |