有人可以解释我们应该如何将Googletagmanager与Turbolinks正确集成吗?

在普通页面上,我们只是在开始标记后立即复制/粘贴此代码。

  <!-- Google Tag Manager -->
  <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-******"
  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); //f.parentNode.insertBefore(j,f);
  })(window,document,'script','dataLayer','GTM-******');</script>
  <!-- End Google Tag Manager -->

如果我在Turbolinks驱动的页面中复制此代码,则可以看到只有一个网络请求(首次加载页面时)

最佳答案

我在this guide之后刷新了页面

建议您在代码管理器中设置虚拟url宏和综合浏览量规则,然后将其推送到dataLayer:

$(document).on('page:change', function(){
  dataLayer.push({
    'event':'pageview',
    'virtualUrl': window.location.pathname
  });
});

关于ruby-on-rails - 带有Turbolinks的Googletagmanager,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22530082/

10-13 01:34