首页 文章

谷歌分析;跟踪出站点击次数;怎么样?

提问于
浏览
4

我读过这篇关于跟踪 Banner 上的出站链接的文章,如下:

http://seogadget.co.uk/how-to-count-your-outbound-click-stats-with-onclick-in-google-analytics/

所以我将此代码添加到我的href的onClick事件中:

javascript: pageTracker._trackPageview('/outbound/top_banners/banner_name');

这够了吗?

因为我已经阅读了一些地方,我需要一个"link delay"函数,或者在我的文档的 HEAD 中,在执行任何javascript之前!

此外,在GA中(在界面中)我能够查看点击次数吗?

谢谢

3 回答

  • 2

    问题在于:Google Analytics记录和报告的每项数据都会在客户的请求网址组件中发送给GA服务器__utm.gif . 函数_.trackPageview()将数据的收集/连接激发到请求URL以及请求本身 . 换句话说,如果未调用_trackPageview(),则不会向GA服务器发送任何数据 .

    因此,问题是在与出站链接关联的请求之前是否处理了GA请求(上面) . 如果不是,那么GA不会记录出站链接上的点击,这不是您想要的 .

    所以你想要的是延迟,只是稍微 - 足够长的GA请求发生但足够短以便用户不会注意到延迟 - 出站链接请求 .

    您的Q中发布的代码与下面的代码之间存在一些差异 - 所有差异都针对此“竞争条件” .

    首先,请注意onClick处理程序的返回值设置为“false” - 阻止客户端浏览器(立即)导航到http://www.outbound-link.com

    第二个差异是对setTimeout的调用 . 传入的第三个参数,'100'是延迟的毫秒数 .

    第三,onclick处理程序(fnx)创建自己的跟踪对象,因此不依赖于pageTracker对象在其他地方初始化 .

    您的第二个问题是,您在GA浏览器中查看了哪些点击次数?使用GA,您可以使用_trackEvent()或_trackPageView()以两种不同的方式跟踪事件 .

    通过第二种方式跟踪出站链接(正如您所做的那样,因此如下所示),'click'不会显示为事件,而是显示为网页浏览(“虚拟网页浏览”是GA顾问最常使用的术语,等等 . 表示作为页面视图跟踪的内容但实际上并非如此 . 因此,您会看到这些点击次数以及其他页面浏览量 - 即 Content (以及交通和访问者,左侧面板中的三个主要 Headers ) . 如何判断该报告中的哪些行引用了这些出站点击?页面字段的值(通常是最左侧的列 Headers )将是出站链接的URL . 当您知道这一点后,您当然可以创建高级细分或自定义报告,甚至是新的 Profiles ,以便单独报告这些信息 .

    <script type="text/javascript">
        function fnx(that) {
            try {
                var pageTracker=_gat._getTracker("UA-YOURACCOUNTHERE-PROFILE");
                pageTracker._trackPageview("http://www.outbound_link.com");
                setTimeout('document.location = "' + that.href + '"', 100)
         }catch(err){}
        }
    </script>
    
    
    <a href="www.outbound_link.com" onclick='fnx(this);return false;'>"Take Me Here"</a>
    
  • 4

    这是我用于跟踪所有出站链接的100%工作解决方案(我喜欢jQuery,因此您需要将jquery.js脚本添加到页面) .

    function isLinkExternal(link) {
        var r = new RegExp('^https?://(?:www.)?' + location.host.replace(/^www./, ''));
            return !r.test(link);
    }
    
    $(document).ready(function() {
        $(document).bind('click', function(e) {
            var target = (window.event) ? e.srcElement : e.target;
            while (target) {
                if (target.href) break;
                target = target.parentNode;
            }
            if (!target || !isLinkExternal(target.href)) return true;
            var link = target.href;
            link = '/outgoing/' + link.replace(/:\/\//, '/');
            _gaq.push(['_trackPageview', link]);
        });
    });
    
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-YOURCODE-1']);
    _gaq.push(['_trackPageview']);
    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
    

    此脚本为GA提供所有出站链接:/outgoing/http/www.example.com . 为获得更好的体验,您需要为此链接创建高级细分 . 使用参数创建它:“Page”“Starts with”“/ outgoing / http” . 就这样!现在您已获得出站链接的完整统计信息 .

  • 0

    此解决方案允许您单击带有 target='_blank' 的链接,此外,还允许您在任何链接上设置数据属性,并让这些属性自动发送到GA .

    $('a').bind('click', function( event ) {
      var target = $(this).attr('href');
      if ($(this).attr("data-event-category") !== undefined && $(this).attr("data-event-label") !== undefined) {
        gtag('event', 'click', {
          'event_category': $(this).attr("data-event-category"),
          'event_label': $(this).attr("data-event-label"),
          'event_callback': function(){handle_redirect($(this), event);}
        });
      } else {
        handle_redirect($(this), event);
      }
    });
    
    function handle_redirect(element, event) {
      var target = element.attr('href');
      var regExp = new RegExp("//" + location.host + "($|/)");
      var isLocal = (target.substring(0,4) === "http") ? regExp.test(target) : true;
      var url = target;
      if(isLocal===true) {
        return;
      } else {
        event.preventDefault();
        gtag('event', 'click', {
          'event_category': 'outbound',
          'event_label': window.location.href + ' --> ' + url,
          'transport_type': 'beacon',
          'event_callback': function(){element.unbind( "click"); element[0].click();}
        });
      }
    }
    

相关问题