在turbolinks下触发GTM(Google跟踪代码管理器)容器中的标签

时间:2014-11-15 16:59:22

标签: javascript ruby-on-rails-4 tags google-tag-manager turbolinks

有没有人想办法让一个Google跟踪代码管理器容器在Turbolinks下触发所有代码?

我正在运行rails 4.0应用程序(使用Turbolinks),并将下面的代码放在我在每个页面(标记内)中呈现的页脚中:

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

(其中XXXXX是我的GTM容器ID)

不幸的是,当我在页面之间浏览时,它不会触发单个标记(我假设因为Turbolinks)。但是,如果我刷新我所在的页面,一切正常。

我发现人们发布了有关Google Analytics代码的解决方法的问题,这些问题似乎解决了这个问题,但从来没有针对完整的GTM容器。救命?任何人

1 个答案:

答案 0 :(得分:0)

将GTM与Turbolinks一起使用时,您必须触发虚拟页面浏览:Googletagmanager with Turbolinks

此外,您希望在<body>打开标记后立即加载GTM脚本。