Skip to content Skip to sidebar Skip to footer

How To Track Clicks On Outbound Links

[cross-posted on Google Products Forum http://productforums.google.com/d/topic/analytics/ZrB14a-6gqI/discussion ] I am using the following code at http://www.cs.bris.ac.uk/Researc

Solution 1:

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);
      returnfalse;
    });
  });

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'.

Solution 2:

You can also try this automated external link script

Solution 3:

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.

Post a Comment for "How To Track Clicks On Outbound Links"