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

2024-04-20

我正在尝试根据 GTM 数据层电子商务对象中包含的数据计算购物车的价值。我将整个电子商务对象放入数据层变量中,以便我可以在自定义 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 相关博客文章 https://www.simoahava.com/analytics/measure-cart-value-in-enhanced-ecommerce/没有成功。他的博文和我的意图之间的差异是:

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

提前致谢。


由于您已经创建了 {{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;
}

我希望这能帮助您解决问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • Keras 导入错误 Nadam

    我在尝试导入 Keras 模块 Nadam 时遇到导入错误 gt gt gt from keras optimizers import Nadam Traceback most recent call last File
  • 通过 FTP over TLS/SSL 连接到未经认证的主机

    我从中获取文件的供应商正在从 FTP 更改为基于 SSL 的 FTP 我正在尝试更新我的代码net ftp to net ftptls 我需要连接的新主机未经认证 我的脚本报告此错误 主机名与服务器证书不匹配 供应商不会修复此问题 看着 u
  • 在 Emacs ruby​​ 模式下使用制表符缩进而不是空格

    我一直在尝试配置 Emacs 以便在缩进 Ruby 代码时插入一个 制表符 而不是一系列 空格 到目前为止 我已经尝试设置 varruby indent tabs mode to t这样 根据文档 它将 如果非零 则在 ruby 模式下插入
  • 线程安全框架

    以下类不是线程安全的 如证明以下代码不是线程安全的 https stackoverflow com questions 2410499 proving the following code not thread safe 是否有一个框架可以
  • 如何通过代码使用 Google 翻译 API

    我正在尝试创建一个可以发送单词的应用程序翻译 google com 获取翻译结果并将其显示给用户 我编写了 URL 但我不知道如何从网页中提取单词 短语 伪示例 en 是英语代码 es 是西班牙语代码 String from en Stri
  • 实现“计时器”的最佳方法是什么? [复制]

    这个问题在这里已经有答案了 实现计时器的最佳方法是什么 代码示例会很棒 对于这个问题 最佳 被定义为最可靠 失火次数最少 和最精确 如果我指定 15 秒的间隔 我希望每 15 秒调用一次目标方法 而不是每 10 20 秒调用一次 另一方面
  • Angular 显示每个 HTTP 请求的微调器,只需很少的代码更改

    我正在开发一个现有的 Angular 应用程序 版本是 Angular 4 该应用程序从许多不同的组件对 REST API 进行 HTTP 调用 我想为每个 HTTP 请求显示一个自定义微调器 由于这是一个现有的应用程序 因此有很多地方调用
  • Spring RestTemplate 调用读取超时

    我有一个返回 json 的 API 它的类型为 GET 方法 由于它是 GET 当我在浏览器中打开 URL 时 它工作正常并呈现 json 但是 在使用 RestTemplate 检索 json 时 它失败了 您能否提供一种阅读下面 API
  • 使用 ui-router 转到祖父母状态

    With ui router我可以用 state go 无需指定其完整路径即可转到父状态 有没有类似的方式去祖父母状态 我的父母状态是抽象的 In 文档示例 http angular ui github io ui router site
  • rspec 视图存根和部分视图

    我正在使用 RSpec Rails 3 2 8 上的 2 12 测试视图 我正在使用 CanCan 有条件地在页面上显示某些元素 这需要一个控制器方法 current user 在我的一些规范中 我已经能够删除 current user 例
  • Python 对象什么时候可以被 pickle

    我正在使用多处理模块在 Python 中进行大量并行处理 我知道某些对象可以是 pickle 因此作为 multi p 中的参数传递 而其他对象则不能 例如 class abc pass a abc pickle dumps a ccopy
  • 如何禁用 Aloha 编辑器工具栏?

    有没有办法像侧边栏一样禁用 Aloha 的 ExtJS 工具栏 Aloha settings modules aloha aloha jquery editables editable jQuery sidebar disabled tru
  • 使用 ADB 或 java 代码更改默认的 Android 键盘

    我正在构建一个使用特定键盘的自定义应用程序 因此当用户运行该应用程序时 默认键盘应更改为我的特定键盘 名称为黑客键盘 我如何使用java代码或从java代码调用adb命令来做到这一点 我的设备已获得 root 权限 这又是特定的应用程序 而
  • iphone总是返回UIInterfaceOrientationPortrait

    我需要确保当我的UIViewController负载 它根据需要旋转 我已经实施了shouldAutorotateToInterfaceOrientation方法及其所有工作正常 除非应用程序首次加载时 当 iphone 处于横向模式时 或
  • JavaScript Intellisense 在 Visual Studio 2015 中不起作用

    我知道这个问题在网上以及整个网络上都有很多重复的问题 不幸的是 所提出的建议都不起作用 除了重新安装 VS 15 之外 我已经完成了所有操作 如果我可以帮助的话 我宁愿不这样做 我去过的一个网站 references js 背后的故事 ht
  • VBA - 循环遍历表单上的控件并读取值

    我想循环遍历表单上的控件并读取值 但是 Value 和 Checked 属性不可用 我的问题是 当我循环访问控件 在本例中为复选框 时 如何读取它们的值 Dim Ctrl as Control For Each Ctrl In frmMai
  • 如何提高MySQL INSERT和UPDATE性能?

    我们数据库中的 INSERT 和 UPDATE 语句的性能似乎正在下降 并导致我们的 Web 应用程序性能不佳 表是InnoDB 应用程序使用事务 我可以做一些简单的调整来加快速度吗 我认为我们可能会遇到一些锁定问题 我怎样才能找到答案 你
  • iOS:iOS 4.3 和 5.0 之间不同的 addSubview 行为

    之前在 iOS 4 3 中编码时 我发现将视图控制器的视图添加到另一个视图时 superview addSubView controller view 控制器实例将不会收到 viewWillAppear viewDidAppear消息 比我
  • 带有 wsdl2java 插件的 gradle

    我正在使用 no nils wsdl2java 插件 完整的 gradle build 文件如下所示 plugins id org springframework boot version 2 3 4 RELEASE id io sprin
  • 使用地理编码发出一个请求后超出查询限制

    我正在使用 ggmap 的地理编码来查找不同城市的纬度和经度 昨天它工作得很好 但今天只发出一个请求后我就收到了 OVER QUERY LIMIT 事实上 如果我只是加载库并运行地理编码 它会抛出 OVER QUERY LIMIT 错误 g

随机推荐