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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Google跟踪代码管理器中设置javascript,以便从订单中的多个产品中捕获订单详细信息相关的知识,希望对你有一定的参考价值。

我正在通过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
    }
  ]

我该如何解决这个问题?

答案

您需要使用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是通过乘以价格和数量来计算的,但您可以根据需要调整代码。

以上是关于如何在Google跟踪代码管理器中设置javascript,以便从订单中的多个产品中捕获订单详细信息的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Google BigQuery 中设置用户的查询配额

Google跟踪代码管理器不工作?

如何使用带有 JSON-LD 和变量的多模式产品评论的 Google 跟踪代码管理器

Google 跟踪代码管理器 - 数据层

事件数据,通过 Google 跟踪代码管理器发送,在 Google Bigquery 中不可见

Google 跟踪代码管理器使用沙盒 JavaScript?