google-tag-manager - 在 Google 跟踪代码管理器的事务事件中推送额外的自定义变量
问题描述
我们已经在谷歌标签管理器中设置了一个名为“purchase”的交易自定义事件(如文档中所示),并且我们正在使用以下代码正确推送:
(<any>window).dataLayer.push({
event: 'purchase',
transactionId: id,
transactionTotal: totalPrice,
transactionTax: 0.0,
transactionShipping: 0.0,
transactionProducts: products,
});
其中 products 是另一个数组对象。
这工作正常,但我们想在上面的 json 中添加另一个变量(transactionCustomVariable),如下所示:
(<any>window).dataLayer.push({
event: 'purchase',
transactionCustomVariable: 0,
transactionId: id,
transactionTotal: totalPrice,
transactionTax: 0.0,
transactionShipping: 0.0,
transactionProducts: products,
});
看来我们无法将此值传递给谷歌标签管理器。
交易事件的新字段是否有特定的命名约定。我们已经创建了变量名。那里有什么我们缺少的吗?
提前致谢
解决方案
当 GTM 中的 GA 原生标签遵循旨在收集增强型电子商务跟踪详细信息的给定命名约定时,它可以“透明地”处理来自 dataLayer 的值
请参阅 https://developers.google.com/tag-manager/enhanced-ecommerce#data-layer
当您想将其他值推送到 GA 时,您可以决定为 GA 中的数据存储预留插槽,称为自定义维度或自定义指标。这些插槽可以有不同的范围:用户、会话、命中、产品,并由索引定义(在管理界面中)
当您需要填充产品范围值时,您需要遵循一个命名约定来自动处理从电子商务数据层到 GA 命中,因为它特定于增强型电子商务 https://developers.google.com/tag-manager/enhanced -电子商务#custom-dimensions
对于自定义维度/指标的所有其他范围,在 GTM 中,您需要明确 dataLayer 属性 => GTM 变量(可能具有不同的名称)=> GA 管理界面中定义的自定义维度/指标索引之间的映射。
我建议您使用GA 设置变量仅定义一次映射并将其用于每次命中。
您还可以在 GA 以外的其他标签中使用 dataLayer 属性,您将能够使用相同的 GTM 变量来访问其值并映射到这些标签的参数。
我建议您首先在 GTM 调试模式的帮助下审核数据层在推送数据时如何更新。接下来,您验证使用该值的标签是否正确使用它并推动它(如果适用)。
我建议您使用https://chrome.google.com/webstore/detail/adswerve-datalayer-inspec/kmcbdogdandhihllalknlcjfpdjcleom允许审计 dataLayer 和 GA 命中
推荐阅读
- ruby-on-rails - Rails 服务器问题
- pytorch - CUDA的Pytorch检测
- macos - OS X 10.15 (Catalina) 上的 GDB 在第一次执行时卡住
- r - 当 x 具有几何分布时,如何使用 sample() 函数从 x 生成 n 个随机变量?
- xcode - 如何更改 Xcode 项目,这样我就不必在 SUDO 模式下运行它
- sql-server - 出现“无法打开访客会话”错误
- xamarin - 属性“内容”设置不止一次 - XAML
- python - KeyError:使用带有布尔值的 get_loc 时为真
- java - 如何使用 Elasticsearch API ScriptQueryBuilder
- angular - 如何在我的 Angular 应用程序中调试 node_module?