2016-12-14 129 views
0

我想在Google跟踪代码管理器触发器中将产品ID用作标签。 我有一个填充数据层。 当在Chrome控制台我用Google跟踪代码管理器 - 数据层变量undefined

dataLayer[1].ecommerce.detail.products[0].id 

我得到的输出有效的产品ID。

当在谷歌代码管理工具创建自定义JavaScript变量和尝试:

function(){ 
    var art_nr = dataLayer[1].ecommerce.detail.products[0].id; 
    return art_nr; 
} 

这个变量后来在只包含“未定义”的debuger。

我做了几个小时的研究,但我无法找到一个简单的解释如何做到这一点。

回答

2

你不能(或者至少我不相信你可以)在变量中使用自己的名字引用dataLayer。您需要创建一个DataLayer类型变量并使用标准GTM变量表示法调用它。

你的数据层变量应被定义为

ecommerce.detail.products.0.id 

(注意,使用点符号的。)

在您的自定义JS变量,你将与双大括号格式调用它:

function(){ 
    var art_nr = {{variableName}}; 
    return art_nr; 
} 
+0

现在我在调试器中看到了相应的变量,我误以为自己好像。 ecommerce.detail.products.0.id的确是正确的,也没有自定义的Javascript需要,这个符号可以直接用在变量类型的'数据层变量'中。为了防止有人绊倒这个问题,可能会有所帮助。 – Brezelbub

相关问题