繁体   English   中英

Google跟踪代码管理器自定义JavaScript以获取数据层变量

[英]Google Tag Manager custom javascript to get data layer variable

我想对数据层变量进行一些处理,然后再在标记中使用它。 例如,我在fontawseome框架中有许多社交图标。 现在,我想创建一个变量,该变量给我单击了哪个变量。

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

在预览模式下,我可以看到,当我单击按钮时, Data Layer values after this messageData Layer values after this messageData 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的信息。 这是为什么?

要在推送gtm.ElementClasses时(即在gtm.click或gtm.linkClick事件中)获取它,您可以创建一个自动事件变量,如下所示:

在此处输入图片说明

此变量返回被单击元素的类。 然后,您可以在其他自定义JS变量中使用此变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM