【问题标题】:How to create GTM data layer variable with complex array如何使用复杂数组创建 GTM 数据层变量
【发布时间】:2015-11-11 16:46:18
【问题描述】:

在 Google 跟踪代码管理器中,存在“数据层变量”的预定义变量类型,其中包含变量名称的输入。在标准的单级键/值对中,这很容易。

var dataLayer = [{"mykey":"myvalue"}];

鉴于该数据层,您只需使用 mykey 作为变量来输入 GTM。但是,如果您使用 CEDDL 规范 (http://www.w3.org/2013/12/ceddl-201312.pdf) 结构,您最终会得到一个深度嵌套的数组:

dataLayer = [
  {
    "product": [
      {
        "category": {
          "primaryCategory": "Auto Loans"
        },
        "productInfo": {
          "productID": "1",
          "productName": "PurchaseLoan",
          "description": "Auto finance loan"
        },
        "security": [
          "Analytics",
          "Personalization",
          "Recommendations"
        ]
      }
    ]
  }
]

所以真正的问题是:在上面的示例中如何访问“productName”的值?

在标准 Javascript 中,您可以像这样访问它: dataLayer[1].product[0].productInfo.productName 或者 dataLayer.1.product.1.productInfo.productName

...但是这些选项都不起作用(有或没有dataLayer.1 作为第一个节点)。

这是输入变量名称的 UI:

【问题讨论】:

    标签: google-tag-manager google-datalayer


    【解决方案1】:

    在 GTM 中定义 DataLayer 变量时,不需要在变量名中指定“dataLayer”,即。它应该是:

    product.0.productInfo.productName
    

    【讨论】:

    • 我之前尝试过,但没有成功,但我必须调整触发器以在 DOM 就绪而不是页面视图上触发。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-27
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多