javascript - 基于电子商务数据层对象的 Google 跟踪代码管理器自定义 JavaScript 变量

标签 javascript google-analytics google-tag-manager enhanced-ecommerce google-datalayer

我正在尝试根据 GTM 数据层电子商务对象中包含的数据计算购物车的值(value)。我将整个电子商务对象放入数据层变量中,以便我可以在自定义 js 变量中使用它,但我无法进行递归计算。

这是数据层的代码示例:

{
  "event": "checkout",
  "ecommerce": {
    "checkout": {
      "products": [
        {
          "name": "coat",
          "id": "14M",
          "quantity": 1,
          "price": "100.00"
        },
        {
          "name": "pants",
          "id": "12L",
          "quantity": 3,
          "price": "50.00"
        }
      ]
    }
  }
}`

我的目标是确定产品数组中的产品数量,然后根据需要多次计算产品价格 * 产品数量,以遍历整个产品数组。在这种情况下,它会是这样的:

(1*100) + (3*50) = 250。

我尝试修改 Simo Ahava's related blogpost 中的代码没有成功。他的博文和我的意图之间的差异是:

  1. 我不需要将购物车值(value)设置为电子商务自定义指标。我只想在自定义 js 中返 repo 物车的值。
  2. 我不希望这涉及到在购物车中添加或删除商品。相反,我只想计算触发 GTM 事件“结账”时的值(value)并计算所包含产品的值(value)。

提前致谢。

最佳答案

由于您已经创建了 {{ecommerce}} 变量,因此很容易根据产品的数量和产品的价格获取总金额。

您必须创建自定义 js 变量订单小计 然后在那个自定义js框中 粘贴下面的代码

function(){
  var productList={{ecommerce}}.checkout.products;
  var totalAmount=0;
  for(var i=0;i<productList.length;i++)
  {
    totalAmount+=(productList[i].quantity)*(parseFloat(productList[i].price));
  }
  return totalAmount;
}

希望这能帮助您解决问题

关于javascript - 基于电子商务数据层对象的 Google 跟踪代码管理器自定义 JavaScript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45557541/

相关文章:

javascript - Jquery 将下拉列表中的值添加到文本输入

javascript - Express.js 路线组织

JavaScript 在谷歌分析后执行

javascript - 我可以用什么来用 GTM 写入图像?

javascript - 如何使用 Django 控制循环

javascript - 在 gist Ace 编辑器中启用 Vim 模式

android - Google Analytics 用户计数不正确

google-analytics - 维度关系不正确的 Google Analytics 跟踪事件

google-analytics - Google 跟踪代码管理器 (GTM) 虚拟综合浏览量未显示在 Google Analytics (GA) 中

google-tag-manager - GA4 尺寸 "Signed in with user ID"已禁用