javascript - 我应该在重定向之前对 GTM 使用 eventCallback 吗?
问题描述
我知道在重定向到外部网站之前我应该使用 hitCallback 或 eventCallback 以确保在重定向之前触发标签,但我想知道在重定向到同一选项卡中同一网站内的其他页面之前是否也应该使用它们?
如果您能确认我的以下代码是否正确并保证在重定向之前发送该事件,我将不胜感激
var review_url = 'https://google.com'
setTimeout(redirect_url, 2000);
var url_redirected = false;
function redirect_url() {
if (!url_redirected) {
url_redirected = true;
if (review_url !== '') {
document.location = review_url;
}
}
}
dataLayer.push({
'marketplace' : marketplaceUpper,
'review-source' : review_source,
'event' : 'CreateReviewClick',
'eventCallback' : function() {
redirect_url();
}
});
解决方案
这是正确的语法:
var targetUrl = "https://www.google.com";
window.dataLayer.push({
'marketplace' : marketplaceUpper,
'review-source' : review_source,
'event' : 'CreateReviewClick',
'eventCallback' : function() {
window.location = targetUrl
},
'eventTimeout' : 2000
});