Javascript 我应该在重定向之前使用GTM的eventCallback吗?

Javascript 我应该在重定向之前使用GTM的eventCallback吗?,javascript,google-analytics,analytics,google-tag-manager,Javascript,Google Analytics,Analytics,Google Tag Manager,我知道我应该在重定向到外部网站之前使用hitCallback或eventCallback,以确保在重定向之前触发标记,但我想知道在重定向到同一个网站中同一选项卡中的其他页面之前是否也应该使用它们 另外,如果您能确认我下面的代码是否正确,并保证在重定向之前发送该事件,我将不胜感激 var review_url = 'https://google.com' setTimeout(redirect_url, 2000); var url_redirected = false; func

我知道我应该在重定向到外部网站之前使用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
});

这是正确的语法:

var targetUrl = "https://www.google.com";
window.dataLayer.push({
  'marketplace' : marketplaceUpper,
  'review-source' : review_source,
  'event' : 'CreateReviewClick',
  'eventCallback' : function() {
    window.location = targetUrl
  },
  'eventTimeout' : 2000
});

谢谢Michele,在测试了我的代码和你的代码之后,我发现你的代码有一个问题,当用户的浏览器阻止GTM跟踪时,我的代码解决了这个问题。。也许通过使用一个插件或Firefox的匿名模式,那么重新定向就不会发生了。。。在我的代码中,重定向将在2秒后发生,如果回调函数被触发,则重定向将立即发生,无需等待2秒。更好的解决方案是:感谢Michele,在测试了我的代码和你的代码后,我发现你的代码有一个问题,我的代码解决了这个问题,当用户浏览器阻止GTM跟踪时。。也许通过使用一个插件或Firefox的匿名模式,那么重新定向就不会发生了。。。在我的代码中,重定向将在2秒后发生,如果回调函数被触发,则重定向将立即发生,而无需等待2秒。更好的解决方案是: