use*_*603 5 javascript ruby-on-rails turbolinks google-tag-manager
我正在尝试使用 Rails 应用程序实现 google tagmanager,但由于 Turbolinks,我无法触发其标签。
我看到了这个答案:Firing Tags in GTM (Google Tag Manager)container under Turbolinks 和这个:Googletagmanager with Turbolinks 这告诉我,我需要在页面上触发一个事件:加载,但我似乎无法触发该事件。我试过把
$( window ).on( 'page:load', function () {
dataLayer.push({'event': 'event_name'});
} );
Run Code Online (Sandbox Code Playgroud)
在 application.js 文件中,以及将其放入视图中,我还尝试通过 Coffeescript 在 CoffeeScript 分析文件中使用以下变体:
ready = ->
dataLayer.push({'event': 'event_name'});
$(document).ready(ready)
$(document).on('page:load', ready)
Run Code Online (Sandbox Code Playgroud)
但当我由于涡轮链接而移动到另一个页面时,我仍然无法让谷歌标签管理器触发其标签。
任何帮助将非常感激。
您可以使用虚拟页面视图来跟踪涡轮链接页面加载。在 head 关闭标记之前添加以下脚本。修改了默认的 GTM 脚本,使其可以与 Turbo 链接一起使用。
<!-- Google Tag Manager trigger for Turbolinks -->
<script type="text/javascript">
$(document).on('page:change', function(){
var url = window.location.href;
var data = {
'event':'pageView',
'virtualUrl': url
};
if(window['referer'] !== undefined){
data['pageReferrer'] = window['referer'];
}else{
data['pageReferrer'] = document.referrer;
}
dataLayer.push(data);
window['referer'] = window.location.href;
});
</script>
<!-- End Google Tag Manager trigger for Turbolinks -->Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1603 次 |
| 最近记录: |