问题标签 [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.

0 投票
1 回答
1389 浏览

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?

0 投票
1 回答
1888 浏览

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).

This is the UI to enter the variable name: enter image description here

0 投票
2 回答
1326 浏览

javascript - 如何将 google DataLayer 转换为具有变量键值的 javascript 对象?

当您在您的网站上使用 Google Analytics DataLayer 时,您将其作为全局变量 dataLayer。您可以将自己的事件变量添加到其中。

如何将其中的所有变量转换为类似的对象

0 投票
1 回答
582 浏览

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 中的指标。

谢谢,

对不起,这是我的第一篇文章,我不想忘记任何细节。

0 投票
1 回答
10192 浏览

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 的索引。

任何帮助都会很棒。

谢谢你。

0 投票
0 回答
539 浏览

google-tag-manager - 在 Google 跟踪代码管理器中,获取“预期字段的字符串值:“contentGroup1”。但发现:“object”

我正在尝试设置内容分组。WordPress 将博客标签作为 pageAttributes 推送到数据层。我在 GTM 中有一个自定义数据层变量读取这个并标记为 blogTagsArray。我在标签中使用了这个变量来设置内容分组,在博客页面上触发。当我调试时,一切都在触发,但我收到一条错误消息:

字段应为字符串值:“contentGroup1”。但发现:“对象”。

我需要采取第二步将对象转换为字符串吗?或者我可以在这一步做些什么来纠正这个问题?

0 投票
1 回答
2306 浏览

javascript - 如何在彼此之上填充谷歌地图数据层的颜色?

我正在尝试绘制一个带有灰色背景的州(德克萨斯州)和一个背景较浅(白色)的城市(圣安东尼奥)的谷歌地图。我的方法是这样的:

但我得到的结果在全州(包括县)都是灰色的。

请看这个jsFiddle

0 投票
1 回答
454 浏览

android - Android Wear DataLayer API 用于在手机应用关闭时进行同步

所以,我想学习这种同步策略,而不是仅仅使用更简单的 MessageAPI,但我真的在努力如何成功地实现它。

我的项目是这样的:我通过手机查询从 API 下载少量文本。我会每隔一段时间进行一次这些查询,还没有真正决定多久一次。数据将更新手表,它应该保留最后收到的数据。在第一次下载之后,我使用 DataMap 将数据发送到 Android Watch。我只发送一次,因为我相信这会设置一个通道,以便在准备好时不断发送更新。如果这是错误的,请纠正我。

我的主要问题是:如果 Android 手机的应用程序关闭怎么办?然后数据对象变为 null,并作为 null 发送到 Watch?或者,我应该从长期运行的服务或 Android 手机上的共享首选项发送一个对象,以使该对象永远不会为空?

0 投票
0 回答
919 浏览

javascript - Google 跟踪代码管理器数据层变量未定义

我在调用 Ajax 时使用 JQuery 推送数据层变量。我正在使用的完整脚本在这里:

(功能() {

})();

当我在控制台中检查时,一切都正常工作:

数据层图像

在此处输入图像描述

但是当我在 GTM 中预览它时,它的出现是未定义的:

开始日期

在此处输入图像描述

谁能指导我以显示正确的值?触发它的事件称为 ajaxComplete。

0 投票
1 回答
1166 浏览

php - 多个产品列表进入php数据层

我想在“订单确认页面”(感谢您购买页面)中为我的网站的营销像素获得一个很好的数据层跟踪。该网站使用 OXID Shop 作为电子商务平台。

我想要以下设置:

如果我的页面变量“CurrentController”='thankyou',我正在尝试使用以下代码直接从后端获取值,对于仅包含一篇文章的值的变量,我可以轻松地做到这一点。

例子:

问题是当我需要获取不止一篇文章的值时,就像我在开头提到的 products_info 变量一样。

我正在尝试以下代码,但我不确定如何使迭代器“附加”或将每个产品值发送到一个变量: