如何从电子商务阵列中获取值作为跟踪代码管理器中的自定义变量?

时间:2017-09-05 20:23:16

标签: google-tag-manager

我有一个安装了Tag Manager的网站,我在数据层中有以下内容:



window.dataLayer.push({
  'ecommerce': {
    'currencyCode': 'USD',
    'purchase': {
      'actionField': {
        'id': '2851743',
        'affiliation': 'MOS: 8',
        'revenue': 75.00,
        'tax': .00,
        'shipping': 12.00,
        'coupon': ''
      },
      'products': [

        {
          'brand': 'Existing Customer',

          'name': 'Product Name',
          'id': '1216M18',
          'price': '63',
          'category': 'Tickets',
          'variant': '12/16/17 2pm',
          'quantity': '1',
          'dimension2': 'Saturday'
        }
      ]
    }
  }
});




我在标记管理器中有一个非分析标记的标记,我需要从数据层中提取值,例如ecommerce.purchase.actionField.revenue或ecommerce.purchase.products.id并将它们用作跟踪代码管理器中的自定义变量,以便将它们添加到我的代码中。

但是我似乎无法使用以下格式获取值:ecommerce.purchase.actionField.revenue

我把它放在"数据层变量名称" Tag Manager的变量部分中的变量配置窗口上的字段。

还有其他方法可以获得这些物品吗?

谢谢!

3 个答案:

答案 0 :(得分:0)

通常,在增强的ecomm规范中引用这些值将存在严重缺陷。我强烈建议你做以下事情:

  1. 在第二次dataLayer推送中,发送与第二个标签相关的适当收入,产品ID等
  2. dataLayer.push({event:"secondRevenue", revenue: "XXX", products: [XXX]})

    1. 设置触发器以在event = "secondRevenue"

    2. 上触发替代标记
    3. 创建等于dataLayer.revenuedataLayer.products的变量,并在第二个标记中关联/使用它们

答案 1 :(得分:0)

ecommerce.purchase.products.id无效,请尝试使用ecommerce.purchase.products。 .id其中 i 是数组中对象的索引

答案 2 :(得分:0)

如果您尝试访问的变量位于对象内(例如"收入"在您的示例中),那么您可以像这样访问它:

ecommerce.purchase.actionField.revenue

如果您尝试访问的变量位于数组中且您的数组只包含一个元素(例如&#34;价格&#34;在您的示例中),那么您可以像这样访问它:< / p>

ecommerce.purchase.products.0.price