Attachment download tracking with Google Analytics?
Asked by Richard Richard:

We have Google analytics set up on our confluence isntance, but out of hte box, GA only tracks page views. Since attachments aren't actually page views, we don't get any metrics on downloaded attachments. We can parse the httpd request and access logs to track requests, and while it's useful, it's limited and one dimensional. We'd like to get this data in GA.

google has [a support page](http://support.google.com/googleanalytics/bin/answer.py?hl=en&answer=55529) that tells what JS to add to links to turn on this sort of link tracking. I'd like to do this for all attachments in all spaces, and in the interest of avoiding a day of code-spelunking, I wonder if anyone knows where I should look to modify generated link html?

Thanks,

Richard S.


Answers:
author: David at David Simpson Apps
body: AppFusions' [Google Analytics for Confluence plugin](https://www.appfusions.com/display/GANLC/Home) now tracks attachment downloads n a similar way to Andrew's approach. It also assigns the download against the space.

The [Mixpanel Engagement Analytics plugin](https://www.appfusions.com/display/CONFENGAGE/Home) also fully tracks all Confluence events including attachment create, update, view/download and delete events. This is also tracked against username, so you can really get an idea of who is doing what n your Confluence instance.


author: Andrew Frayling
body: Hi Richard,

I'd be tempted to do this using jQuery to add the click handler to the URL rather than digging around trying to alter link generation in the code.

Login as an admin and select Browse -\> Confluence Admin -\> Look and Feel -\> Custom HTML and enter the following in the End of HEAD section:

```
&lt;script&gt;AJS.toInit(function() {   AJS.$("a[href*='/download/attachments/']").click(function() {     _gaq.push(['_trackPageview', '/downloads/map']);   });});&lt;/script&gt;
```

All of the attachment links in Confluence should have a standard format of "/download/attachments/" in the URL so the above selector should only alter attachment links and leave all the other links alone.

I'm not a huge fan of jQuery manipulations all over the place, but this might be easier than the alternatives.

Hope that helps?

Andrew.

comments: author: Richard Richard
body: Thanks Andrew. That's clever and practical. I agree on the point about js manipulations, but this wouldn't be our first either. Fortunately we do a good job of keeping track of the few tweaks we do make.


author: Andrew Frayling
body: Haven't had chance to test it properly as it takes 24-48 hours for Analytics to pick up the virtual page view, but if you go the jQuery route and this works could you mark the answer as correct please?

Cheers,

Andrew.


author: Richard Richard
body: Yep. I haven't had a chance to test it yet, but if it works, I'll definitely mark it as answered.


author: Richard Richard
body: I did this yesterday, and it looks like this works as advertized. Thanks.


author: Andrew Frayling
body: Cool, glad it worked. Thanks for marking as correct.


author: Andrew Frayling
body: Noticed a problem with my previous JS snippet, this version is better:

```
&lt;script&gt;AJS.toInit(function() {   AJS.$("a[href*='/download/attachments/']").click(function(){  _gaq.push(['_trackPageview', AJS.$(this).attr('href')]);  });});&lt;/script&gt;
```


author: mang temi
body: Thanks for this script but what metric should i use to see this?


Tags: analytics

google