2015-11-19 87 views
0

我想在数据层变量上进行一些处理,然后才能在标记中使用它。例如我有一些社会图标与fontawseome框架。现在我想创建一个变量,让我点击哪个变量。Google Tag Manager自定义javascript以获取数据层变量

如何获取数据层的部分值elementClasses值?

在预览模式下,我可以看到,当我点击一个按钮Data Layer values after this message盒看起来是这样的:

{ 
    gtm: { 
    ... 
    ... 
    elementClasses: 'fa fa-twitter', 
    ... 
    } 
} 

我基本上是想使Custom JavaScript类型的GTM变量,这是否

function(){ 
    return elementClassesString.match(/fa-.*/); 
} 

任何提示?

编辑::

在控制台中,我可以通过键入dataLayer[dataLayer.length-1]获取最新数据层入口所以我想这会做的伎俩:

function(){ 
    latest = dataLayer[dataLayer.length-1]["gtm.elementClasses"]; 
    if(latest === ""){ 
    social = "not-set" 
    }else{ 
    social = latest.match(/fa-.*/)[0]; 
    social = social.substring(3,social.length); 
    } 
    return social; 
} 

但我只在GTM预览得到undefined 。这是为什么?

回答

1

要获得gtm.ElementClasses时,它的推(即gtm.click或gtm.linkClick事件“)。你可以创建一个自动事件变量是这样的:

enter image description here

这个变量返回点击元素的类,然后你可以在其他自定义JS变量中使用这个变量

+1

对于点击和链接点击“点击类”是一个内置变量,你可以简单地启用它的变量部分gui(所以你甚至不需要创建一个新的变量) –

+0

谢谢@EikePierstorff的h有趣的提醒! – nyuen