GTM数据层事件回调函数
GTM data layer eventCallback function
所以我在GTM数据层中设置了电子商务代码,但在发送到Analytics之后,我希望页面被重定向,这样我知道我应该使用eventCallback,但由于某种原因它不起作用。
<body>
<script>
dataLayer = [{
'transactionId': '56833',
'transactionAffiliation': 'TestName',
'transactionTotal': 1540.00,
'transactionTax': 385,
'transactionShipping': 0,
'transactionProducts': [{
'sku': 'FFSS44HH',
'name': 'test',
'category': 'TestCategory',
'price': 1540.00,
'quantity': 2
}],
'eventCallback': function() {
document.location.href='https://www.paypal.com/something';
}
}];
</script>
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-XXXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXX');</script>
<!-- End Google Tag Manager -->
我已经在GTM中为此URL设置了电子商务解雇规则。我尝试了hitCallback和eventCallback,但重定向没有发生。。。我在这里做错了什么?
取自:http://www.simoahava.com/gtm-tips/use-eventtimeout-eventcallback/
使用eventCallback
时,始终添加eventTimeout
参数。前者以一个数值作为参数,表示在调用eventCallback
之前等待的毫秒数。换言之,即使您的Tags暂停并且从未发出完成信号,两秒钟后也会调用eventCallback
。
window.dataLayer.push({
'event' : 'processLink',
'eventCallback' : function() {
window.location = targetUrl
},
'eventTimeout' : 2000
});
我想我找到了一个解决方案,我只是在数据层的末尾添加了这个(‘event’:‘datalayerReady’):
'event' : 'datalayerReady',
'eventCallback': function() {
document.location = "https://www.paypal.com/something";
}
这对我来说很好。
<script type="text/javascript">
if (typeof dataLayer !== "undefined") {
dataLayer.push({
'event': 'MyEvent',
'eventCallback' : function() {
window.location = 'http://stackoverflow.com/questions/26802554/gtm-data-layer-eventcallback-function';
}
});
}
</script>
<noscript>
<meta http-equiv="refresh" content="0;url=http://stackoverflow.com/questions/26802554/gtm-data-layer-eventcallback-function" />
</noscript>
德雷德,
尝试使用此:(窗口后无href。location)
'eventCallback': function() {
window.location.href = 'https://www.paypal.com/something';
}
这应该能解决问题。希望这能有所帮助,Petr
相关文章:
- JavaScript回调函数
- 如何在回调函数中执行流
- 回调函数中传递参数的困难(Google Map API Markers)
- 如何正确地将参数传递给RequireJS回调函数
- 回调函数在python代码中离线
- 从AJAX回调函数中分离数据
- 赋值后的回调函数
- 如何在javascript回调函数中返回多个变量
- 函数表达式,返回回调函数
- 等待回调函数执行
- JavaScript回调函数和Google Feed API
- 如何从ajax成功回调函数中读取javascript变量
- 正在保存JavaScript内部回调函数中的值
- 有没有什么方法可以停止Jquery中的animate(也可以停止完整的回调函数)
- 如何在javascript中添加带有回调函数的按钮点击事件作为window.conf
- 在Golang回调函数中启用CORS
- 在初始函数完成之前调用回调函数
- jQuery Mobile:如何在$.Mobile.changePage之前运行回调函数
- 即使使用回调函数也无法返回值
- 为什么prototypjs观察到回调函数有绑定