• 加入Google Analytics、Google Tag Manager QQ群一起交流谷歌分析小站—总群
  • 加入Adobe Analytics、Adobe Launch交流群,加入请附上Adobe的组织ID,没有请勿加Adobe Analytics交流群
  • Google Analytics和Google Tag Manager视频课程第三版http://ke.ichdata.com/course/50

GTM中跟踪用户是否打印页面

Google Analytics GA小站 4年前 (2016-12-23) 2404次浏览 已收录 0个评论

这次要分享是如何通过GTM监控用户是否直接打印页面这个行为?
 原理是:通过往页面注入js判断用户的特定键盘操作行为,如ctrl+p,主动push事件,然后用自定义事件接受,再想GA发送数据
实现过程:
1、往页面注入js
GTM中跟踪用户是否打印页面
在这个过程push的事件为printPage

<script type="text/javascript">

(function () {
var runOnce; 
var afterPrint = function() {
    
    if (!runOnce) { // Because of Chrome we can only allow the code to run once.
        runOnce = true;
        dataLayer.push({'event': 'printPage'}); // Send Print Event to GTM
    };
};

if (window.matchMedia) { // Track printing from browsers using the Webkit engine

    var mediaQueryList = window.matchMedia('print');
    mediaQueryList.addListener(function(mql) {
        if (!mql.matches) {
            afterPrint();
        }
    });
}

window.onafterprint = afterPrint; // Internet Explorer

$(document).keydown(function(allBrowsers) { // Track printing using Ctrl/Cmd+P.

    if (allBrowsers.keyCode==80 && (allBrowsers.ctrlKey || allBrowsers.metaKey)) {
        if ($.browser.opera) { // Opera is a little different so we must send the afterPrint() function to get the tracking to work. 
            afterPrint();
        }
    }
});

// Print activated using window.print() ex. from a button.
$('.printlink').click(function() {

    if ($.browser.opera) { // Opera is a little different so we must send the afterPrint() function to get the tracking to work. 
        afterPrint();
    }
    window.print(); // If window.print() is activated in another script, you can remove it from this tracking script.
});
}());
</script>

2、设置触发器
GTM中跟踪用户是否打印页面
3、向GA发送数据
GTM中跟踪用户是否打印页面
4、测试
GTM中跟踪用户是否打印页面
测试成功,可以发布

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址