我想在Google跟踪代码管理器触发器中将产品ID用作标签。 我有一个填充的数据层。 在Chrome控制台中,我使用
dataLayer[1].ecommerce.detail.products[0].id
我将输出作为有效的产品ID。
在Google跟踪代码管理器中,我创建了一个自定义的javascript变量并尝试:
function(){
var art_nr = dataLayer[1].ecommerce.detail.products[0].id;
return art_nr;
}
这个变量稍后在debuger中只包含'undefined'。
我现在做了几个小时的研究,但我找不到如何做到这一点的简单解释。
答案 0 :(得分:3)
你不能(或者至少我不相信你可以)在变量中使用自己的名称来引用dataLayer。您需要创建一个DataLayer
类型变量,并使用标准GTM变量表示法调用它。
您的dataLayer变量应定义为
ecommerce.detail.products.0.id
(注意点符号的使用。)
在自定义JS变量中,您将使用双花括号格式调用它:
function(){
var art_nr = {{variableName}};
return art_nr;
}
答案 1 :(得分:0)
我向Nyuen回答说你需要选择'版本2' dataLayer。
请记住,dataLayer是一个专为GTM设计的JavaScript数组。
我发现这篇文章:https://www.simoahava.com/gtm-tips/data-layer-variable-versions-explained/很好地解释了dataLayer如何与GTM协同工作。
一个。