如何在Google跟踪代码管理器中设置javascript,以便从订单中的多个产品中捕获订单详细信息

问题描述 投票:0回答:1

我正在通过GTM为供应商(Impact Radius)实施一个标签,该标签需要从订单中捕获所有产品和产品详细信息。

我可以填充一个项目,但我不知道如何遍历数据层以捕获多个项目,如下所示。

code to be implemented

items: [
    {
        subTotal: subTotal,
        category: "category",
        sku: "sku",
        quantity: quantity,
        name: "name"
    },
    {
        subTotal: subTotal,
        category: "category",
        sku: "sku",
        quantity: quantity,
        name: "name"
    }
]

以下是数据层变量:

  "transactionProducts":       
  [
    {
      "id": 3142109626432,
      "sku": "CL7725-1",
      "name": "Roger - Black",
      "price": "75.00",
      "quantity": 1,
      "category": "sunglasses",
      "brand": "Carolina",
      "variant": "Black",
      "variant_id": 26263687790656
    },
    {
      "id": 3142106480704,
      "sku": "CL7644-5",
      "name": "Paco - Clear Champagne",
      "price": "75.00",
      "quantity": 1,
      "category": "sunglasses",
      "brand": "Carolina",
      "variant": "Clear Champagne",
      "variant_id": 26263675174976
    }
  ]

我该如何解决这个问题?

javascript google-tag-manager
1个回答
0
投票

您需要使用Array map方法将数据Layer变量映射到所需的结构。

假设,您的transactionProducts变量被分配给名为transaction products的数据层变量,您可以像这样循环此数组:

var output = {{transaction products}}.map(function(e) {
    return {
      subTotal : e.price * e.quantity,
      category : e.category,
      sku : e.id,
      quantity : e.quantity,
      name : e.name
    };
  });

虽然您没有指定,但我假设,subTotal是通过乘以价格和数量来计算的,但您可以根据需要调整代码。

© www.soinside.com 2019 - 2024. All rights reserved.