Ashok Verma
Ashok Verma

Reputation: 11

Event Tracking code for multiple links in one banner

I have a banner on my sites home page, It has multiple links and the html code is written within tag and does not contains any anchor links, instead it has a href link only.

My IT heads says its not possible to embedd a onclick event tracking code to track all the links.

Please let me know how will i track this?

Upvotes: 1

Views: 1030

Answers (2)

Linda Lawton - DaImTo
Linda Lawton - DaImTo

Reputation: 116908

The following examples will depend on if you are running classic VS universal analytics.

For Classic Analtyics look for ga.js in your tracking code:

<a href="#" onClick="_gaq.push(['_trackEvent', 'link', 'click', 'label']);">Play</a>

For Universal Analytics look for Analtyics.js in your tracking code:

<a href="#" onClick="_ga('send', 'event', 'link', 'click', 'label', 1);">Play</a>

I don't see any reason why you wouldn't be able to track it in your banner.

Upvotes: 0

Eike Pierstorff
Eike Pierstorff

Reputation: 32760

A pure unobtrusive javascript solution (derived from Googles example, working but not necessarily the most complete or beatiful code) :

function addListener(element, type, callback) {
 if (element.addEventListener) element.addEventListener(type, callback);
 else if (element.attachEvent) element.attachEvent('on' + type, callback);
}

links = document.getElementsByTagName('a');
for(i=0,cnt=links.length;i<cnt;i++) {
    addListener(links[i], 'click', function() {
      ga('send', 'event', 'button', 'click', 'nav-buttons');
    });
}

If you put that in an external js file or an inline script it will "decorate" all links in the page (you would need a more specific selector instead of "all links") with a click event that fire google event tracking when somebody clicks the link. No embedded click code in the link tags necessary (that's bad practice in any case).

If you are already using jQuery (since that's probably the most popular javascript library) you can simply do

$( "a" ).click(function() {
  ga('send', 'event', 'button', 'click', 'nav-buttons');
});

(again, choose a more specific selecor).

Both examples assume Universal Analytics, for classic you'd need to change the event tracking code (see DalmTos answer for examples).

Upvotes: 1

Related Questions