javascript 启用对Google Analytics中通常无法跟踪的许多链接和下载的跟踪(来自http://www.blastam.com/blog/index.php/

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 启用对Google Analytics中通常无法跟踪的许多链接和下载的跟踪(来自http://www.blastam.com/blog/index.php/相关的知识,希望对你有一定的参考价值。

// Enables us to track many links and downloads that cannot normally be tracked in Google Analytics
jQuery(document).ready(function($) {
    var filetypes =
        /\.(zip|exe|dmg|pdf|doc.*|xls.*|ppt.*|mp3|txt|rar|wma|mov|avi|wmv|flv|wav)$/i;
    var baseHref = '';
    if (jQuery('base').attr('href') != undefined) baseHref = jQuery(
        'base').attr('href');

    jQuery('a').on('click', function(event) {
        var el = jQuery(this);
        var track = true;
        var href = (typeof(el.attr('href')) != 'undefined') ?
            el.attr('href') : "";
        var isThisDomain = href.match(document.domain.split('.')
            .reverse()[1] + '.' + document.domain.split('.')
            .reverse()[0]);
        if (!href.match(/^javascript:/i)) {
            var elEv = [];
            elEv.value = 0, elEv.non_i = false;
            if (href.match(/^mailto\:/i)) {
                elEv.category = "email";
                elEv.action = "click";
                elEv.label = href.replace(/^mailto\:/i, '');
                elEv.loc = href;
            } else if (href.match(filetypes)) {
                var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(
                    href) : undefined;
                elEv.category = "download";
                elEv.action = "click-" + extension[0];
                elEv.label = href.replace(/ /g, "-");
                elEv.loc = baseHref + href;
            } else if (href.match(/^https?\:/i) && !
                isThisDomain) {
                elEv.category = "external";
                elEv.action = "click";
                elEv.label = href.replace(/^https?\:\/\//i, '');
                elEv.non_i = true;
                elEv.loc = href;
            } else if (href.match(/^tel\:/i)) {
                elEv.category = "telephone";
                elEv.action = "click";
                elEv.label = href.replace(/^tel\:/i, '');
                elEv.loc = href;
            } else track = false;

            if (track) {
                ga('set', 'nonInteraction', true);
                ga('send', 'event', {
                    eventCategory: elEv.category.toLowerCase(),
                    eventAction: elEv.action.toLowerCase(),
                    eventLabel: elEv.label.toLowerCase(),
                    eventValue: elEv.value
                });
                if (el.attr('target') == undefined || el.attr(
                    'target').toLowerCase() != '_blank') {
                    setTimeout(function() {
                        location.href = elEv.loc;
                    }, 400);
                    return false;
                }
            }
        }
    });
});

以上是关于javascript 启用对Google Analytics中通常无法跟踪的许多链接和下载的跟踪(来自http://www.blastam.com/blog/index.php/的主要内容,如果未能解决你的问题,请参考以下文章

使用 Google Apps 脚本对范围启用数据过滤器

json Datos queseenvíanal registerLead

Google Maps javascript Api 不适用于本地主机

在AJAX页面上启用SEO

如何使 Google Chrome JavaScript 控制台持久化?

在我们的 PWA 中触发 JavaScript 错误的这个未知的源自 Google 的客户端是啥?