尝试从 Google 标签管理器中的数据层提取价值

Trying to pull value from Data Layer in Google tag manager

正在尝试提取 'Scramble_ip' 事件的“哈希”值。知道如何做到这一点吗?我不能使用 ([n]) 事件编号,因为事件的数量因页面而异。我可以通过名称调用事件吗?谢谢!

您的问题是,从技术上讲,您已经允许您的值被也使用 hash 键的不同事件的值覆盖。停止给你的属性起 simple/repetitive 名字,你会很好的。

要解决此问题,您最好的做法是更改哈希的名称,然后在 GTM 中为新名称创建一个 DL 变量,然后使用它。

如果您不能更改变量的名称,那么您仍然可以通过以下任一方法绕过它:

  1. 一段 JS 遍历您的 DL 并提取您的价值。所以它的核心是这样的:

function(){
  return dataLayer.find(function(obj){return obj.event==="Scramble_IP"}).hash;
}

  1. 主要通过 UI 设置来解决它,方法是制作 Scramble_IP 数据层事件触发器,并使用自定义 HTML 标签来保存数据层值的值variable 'hash' 到 cookie 或不同的变量,或本地 JS 变量,或到另一个 DL 变量。如您所见。