【发布时间】:2016-08-28 13:24:23
【问题描述】:
我正在使用 GTM 的增强型电子商务通过推送到 dataLayer 变量来报告事件。
我有一种情况,我需要推送一个事件并立即在事件回调中提交一个表单。 Google 理论上为此提供了eventCallback 机制,但请考虑以下代码:
<script>
dataLayer.push({
'ecommerce': {
'currencyCode': 'EUR',
'impressions': [
{
'name': 'Donut Friday Scented T-Shirt',
'id': '67890',
'price': '33.75',
'brand': 'Google',
'category': 'Apparel',
'variant': 'Black',
'list': 'Search Results',
'position': 2
}]
}
},{
'eventCallback': function() {
document.location = productObj.url; // works
document.getElementById('form-id').submit(); // fails (!?!)
}
});
</script>
注意事项:
- 页面上没有 Javascript 错误
-
#form-id形式存在(不是拼写错误)
底线:如何在推送后提交表单?或者这不可能?
【问题讨论】:
-
也许“eventCallback”不起作用,因为您只推送原始电子商务数据而没有任何“事件”?
-
并仔细检查括号。 (我认为至少有一个 } 到很多)
-
对,示例中的JSON肯定是无效的。
标签: javascript google-tag-manager