How to track clicks on outbound links

后端 未结 3 1348
栀梦
栀梦 2021-01-28 23:48
[cross-posted on Google Products Forum http://productforums.google.com/d/topic/analytics/ZrB14a-6gqI/discussion ]

I am using the following code at http

相关标签:
3条回答
  • 2021-01-29 00:22

    Set a longer timeout 2 seconds maybe, as it takes a certain amout of time for the _gaq.push to actually push to the server, and 100 milliseconds isnt long enough for it to send (the push gets cancelled as soon as the document.location changes). Unless _gaq.push uses a blocking call (doesnt execute the next line till the push is complete), but i dont think that is the case i think most of that uses asynchronous requests.

    0 讨论(0)
  • 2021-01-29 00:34

    You can also try this automated external link script

    0 讨论(0)
  • 2021-01-29 00:46

    Here's what I'm using, which has been working for me. I'm using jQuery to add the onclick handler to any link with a class of "referral", but I'd expect adding it directly in the HTML to work as well.

      $(function() {
        $('.referral').click(function() {
          _gaq.push(['_trackEvent', 'Referral', 'Click', this.href]);
          setTimeout('document.location = "' + this.href + '"', 100);
          return false;
        });
      });
    

    edit: I believe your syntax for invoking a tracker by name is wrong. Since you aren't using a named tracker when you set up tracking at page load, you shouldn't try to name it later either. See the documentation for _gaq.push.

    More precisely:

    1. The var myTracker declaration is unused, so you can just delete that line. Variables declared within the scope of recordOutboundLink aren't visible when other functions, such as _gaq.push, are running, so it can't be relevant.
    2. You should simply use '_trackEvent' instead of 'myTracker._trackEvent'.
    0 讨论(0)
提交回复
热议问题