问题标签 [google-datalayer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Custom Javascript variable in Google Tag Manager and dataLayer
I need to fetch some data from dataLayer in the Custom Javascript variable, but when I inspect dataLayer, it's always empty even that I have pushed values to dataLayer before I run the GTM script. Does anyone know if its possible to get values from dataLayer in custom javascript variable?
google-tag-manager - How to create GTM data layer variable with complex array
In Google Tag Manager a pre-defined variable type of "Data Layer Variable" exists with an input for the variable name. In a standard single level of key/value pairs this is easy.
var dataLayer = [{"mykey":"myvalue"}];
Given that data layer you'd just use mykey
as your variable to input into GTM. However, if you use the CEDDL spec (http://www.w3.org/2013/12/ceddl-201312.pdf) structure you end up with a deeply nested array:
So the real question is: how do I access the value of "productName" in the above example?
In standard Javascript you might access it like so:
dataLayer[1].product[0].productInfo.productName
or
dataLayer.1.product.1.productInfo.productName
... but neither of these options work (with or without dataLayer.1
as the first node).
javascript - 如何将 google DataLayer 转换为具有变量键值的 javascript 对象?
当您在您的网站上使用 Google Analytics DataLayer 时,您将其作为全局变量 dataLayer。您可以将自己的事件变量添加到其中。
如何将其中的所有变量转换为类似的对象
javascript - 解析电子商务数据以推送到 Google Tag Manager 的 dataLayer
下面是推送到以太坊中的电子商务数据。
我想提取数据的特定位以将其推送到 Google 跟踪代码管理器 (GTM) 的 dataLayer 数组。任何隐藏的东西,我都没有用(例如信用卡信息等)。请注意,所有这些代码都可供公众使用,并且不包含敏感数据。
尝试A:
以上是我最初的尝试。它像这样推送一组推送数据(3个段)(参考图像)。
尝试 B:
我从上面修改了我的狙击手,
dataLayer.push({_gaq});
至
var gaqTemp = [].concat.apply([], _gaq); //Merges Arrays. Found this on stackoverflow.
dataLayer.push({'gaqBatch' : gaqTemp}); //Pushes Merged Array to dataLayer as 'gaqBatch'
这会产生以下结果: Google 跟踪代码管理器 - 预览模式 - 数据层推送结果 (B)
我真正想要的是:
如果我可以避免将电子商务片段中的所有数据推送到 GTM 数据层中,我会更喜欢这样。即将其临时存储在一个数组中并创建 5 个对象:giftID、giftAmount、transID、giftType、giftTotal。
这些对象的目的是将它们用作 GTM 中的 dataLayer 变量,以提供 Google Analytics 中的指标。
谢谢,
对不起,这是我的第一篇文章,我不想忘记任何细节。
javascript - 如何正确使用 dataLayer.push() 来更新数组中嵌套对象的值?
这是我的 dataLayer 数组:
控制台结果为:Array [Object1]
Object1 根据需要包含“giftBatch”和“txBatch”对象。
我有一个触发器,稍后会触发以更新 dataLayer 中的对象。
例如,将“giftAmount”更新为 50,将“giftCount”更新为 1。
我已经尝试了以下方法(我只展示了我修改“一次一个对象”的失败尝试),
尝试1:
结果:
数组 [object1, object2]
Object1 同上,
Object2 是一个新对象,其属性为'Gift Amount' : 50 ,
尝试2:
结果: SyntaxError: missing : after property id
尝试 3:
结果:
数组 [object1, object2]
Object1 同上,
Object2 是一个新对象,其属性为'giftBatch.giftAmount': 50
我在这里做错了什么?
根据此处的 dataLayer 部分: https: //support.google.com/tagmanager/answer/6106899?hl= en
我应该能够编辑嵌套对象值。
PS。这就是我现在正在使用的,它确实有效。但是,为什么不推动工作呢?
其中 index 是 Object2 的索引。
任何帮助都会很棒。
谢谢你。
google-tag-manager - 在 Google 跟踪代码管理器中,获取“预期字段的字符串值:“contentGroup1”。但发现:“object”
我正在尝试设置内容分组。WordPress 将博客标签作为 pageAttributes 推送到数据层。我在 GTM 中有一个自定义数据层变量读取这个并标记为 blogTagsArray。我在标签中使用了这个变量来设置内容分组,在博客页面上触发。当我调试时,一切都在触发,但我收到一条错误消息:
字段应为字符串值:“contentGroup1”。但发现:“对象”。
我需要采取第二步将对象转换为字符串吗?或者我可以在这一步做些什么来纠正这个问题?
android - Android Wear DataLayer API 用于在手机应用关闭时进行同步
所以,我想学习这种同步策略,而不是仅仅使用更简单的 MessageAPI,但我真的在努力如何成功地实现它。
我的项目是这样的:我通过手机查询从 API 下载少量文本。我会每隔一段时间进行一次这些查询,还没有真正决定多久一次。数据将更新手表,它应该保留最后收到的数据。在第一次下载之后,我使用 DataMap 将数据发送到 Android Watch。我只发送一次,因为我相信这会设置一个通道,以便在准备好时不断发送更新。如果这是错误的,请纠正我。
我的主要问题是:如果 Android 手机的应用程序关闭怎么办?然后数据对象变为 null,并作为 null 发送到 Watch?或者,我应该从长期运行的服务或 Android 手机上的共享首选项发送一个对象,以使该对象永远不会为空?
php - 多个产品列表进入php数据层
我想在“订单确认页面”(感谢您购买页面)中为我的网站的营销像素获得一个很好的数据层跟踪。该网站使用 OXID Shop 作为电子商务平台。
我想要以下设置:
如果我的页面变量“CurrentController”='thankyou',我正在尝试使用以下代码直接从后端获取值,对于仅包含一篇文章的值的变量,我可以轻松地做到这一点。
例子:
问题是当我需要获取不止一篇文章的值时,就像我在开头提到的 products_info 变量一样。
我正在尝试以下代码,但我不确定如何使迭代器“附加”或将每个产品值发送到一个变量: