导航到使用TurboLinks的页面时,不会显示Google跟踪代码管理器预览

我不认为GTM正在为我的Rails应用程序正确记录数据。 当我使用预览function时,开发人员工具中的GTM预览数据仅在初始页面加载时显示,后续页面加载(使用turbolinks)不显示预览数据。 我应该如何使用TurboLinks设置GTM?

我在标题中设置了我的GTM,如下所示:

 var dataLayer = []; (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= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-N7MDCP');  

然后在身体的顶部:

   dataLayer.push({'userID': ''},{'userCategory': 'User'});        var url = window.location.href; dataLayer.push({ 'event':'pageView', 'virtualUrl': url });   

这与预览模式如何注入调试器iframe有关。

它是在初始页面加载时注入的,但由于turbolinks替换了整个主体,因此它也会从-ALL-后续页面重新加载中删除预览面板。

令人遗憾的是它几乎是如此,人们无能为力。

您的GTM实施可能仍在运行,但Google跟踪代码管理器中的预览模式与turbolinks页面重新加载不兼容。

是的,这使得在turbolinks增强型网站中调试GTM成为一个重大难题。

 dataLayer.push( {'userID': '<%= current_user.id %>'}, {'userCategory': 'User'} ); 

相反,请尝试

 window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 'userID': '<%= current_user.id %>', 'userCategory': 'User' }); 

这是未经测试的。

我注意到你使用大括号'{‘

Interesting Posts