ror*_*aff 4 javascript arrays google-analytics google-tag-manager google-datalayer
这是我的dataLayer数组:
dataLayer = [{
'giftBatch' : {
'giftID': '',
'giftAmount': 0,
'giftCount': 0,
'giftUpdate': {
'giftPhase': 'Gift Empty'
}
},
'txBatch': {
'txID': '',
'txTotal': 0,
'txURL': window.location.href,
'txUpdate': {
'txPhase': 'Transaction Opened',
'txT0': new Date(),
'txT1': ''
'txT2': ''
}
}
}];
Run Code Online (Sandbox Code Playgroud)
控制台结果为:Array [Object1]
根据需要,Object1包含“ giftBatch”和“ txBatch”对象。
我有一个触发器,稍后触发以更新dataLayer中的对象。
例如,将“ giftAmount”更新为50,将“ giftCount”更新为1。
我尝试了以下方法(我仅展示了一次修改“一个对象”的失败尝试),
尝试1:
dataLayer.push({giftAmount : 50});
Run Code Online (Sandbox Code Playgroud)
结果:
数组[object1,object2]
Object1与上面相同,
Object2是一个新对象,其属性为'Gift Amount':50,
尝试2:
dataLayer.push({giftBatch.giftAmount: 222});
Run Code Online (Sandbox Code Playgroud)
结果: SyntaxError:缺少:属性ID之后
尝试3:
dataLayer.push({'giftBatch.giftAmount' : 50});
Run Code Online (Sandbox Code Playgroud)
结果:
数组[object1,object2]
Object1与上面相同,
Object2是一个具有'giftBatch.giftAmount'属性的新对象:50
我在这里做错了什么?
根据此处的dataLayer部分:https : //support.google.com/tagmanager/answer/6106899?hl= zh-CN
我应该能够编辑嵌套对象的值。
PS。这就是我现在正在使用的,并且确实有效。但是,为什么不推动工作呢?
dataLayer[index].giftBatch.giftAmount = 50;
Run Code Online (Sandbox Code Playgroud)
其中index是Object2的索引。
任何帮助都会很棒。
谢谢。
不好的做法是编辑dataLayer的现有内容,但是您只需要发送覆盖属性值,如下所示:
dataLayer.push({'giftBatch':{'giftAmount' : 50}});
Run Code Online (Sandbox Code Playgroud)
标记管理器最晚启动,Object
并且将继续向后浏览先前的Objects,以确定每个DataLayer变量的当前设置,因此只有giftBatch.giftAmount
此新推送才能覆盖它。
这是预览调试器的示例,显示了新test
Object 的dataLayer合并视图以及以前消息中的属性:
在这种情况下,先前的消息(#4和/或#5)至少推送了:
{test:{test:8}} // #6 does not contain test.test so it is from earlier
Run Code Online (Sandbox Code Playgroud)
或他们最多可以推动:
{test:{test:..,foo:..,test3:..}} // #4 if it's been completely shadowed
{test:{test:8,foo:..,test3:..}} // #5 if it has test.test, must have 8
Run Code Online (Sandbox Code Playgroud)
没有标签可以像Messages
缺少event
属性的对象一样在#3和#7之间触发,因此,当跟踪可能随后发生在事件#7上触发的标签上发生跟踪时,应将#4&#5的任何阴影值视为不可访问。
归档时间: |
|
查看次数: |
4942 次 |
最近记录: |