"Helping businesses operate more effectively online"

11

Feb

2008

How to track downloads in Google Analytics automatically
Written by David Towers   

Google Analytics download tracking We use Google Analytics here because it is a great tool to help us understand our visitors. Today we're going to talk about a way to track if visitors download files or click on links to external websites.

Tracking this sort of behaviour may be really important to see if people are interacting with the web site the way intended. For example, businesses that have their brochures or product catalogues downloadable as PDF's.

The official Google Analytics help says that any link can be monitored if this script is added in the link:

onclick="pageTracker._trackPageview('/file_name.file_extension')

Adding this script to every download link on your website can be a laborious task.

Tracking downloads automatically

The simple solution we found is to use a JavaScript that automatically attaches event listeners to files which are downloaded from your web pages.

What sort of downloads can you track automatically?

Using the javascript you can track the following file extensions:

  • doc, eps, jpg, png, svg, xls, ppt, pdf, xls, zip, txt, vsd, vxd, js, css, rar, exe, wma, mov, avi, wmv, mp3
In addition to tracking these downloads, the JavaScript will also track clicks on links to external websites and include these in your Google Analytics statistics.

How do you install the tracking JavaScript?

Is it really that simple?

Yes, but note that this tracker is written for Google Analytics new tracking code which uses the lighter ga.js. If you are using the old tracking code with urchin.js you can still track file downloads but not using this link tracking JavaScript. Check out this site for more information on tracking download links with the old tracking code.

How might download statistics be useful?

Taking the example of a business that has its product catalogues downloadable as PDF's: If through Google Analytics they can see that users are not downloading their catalogues they might consider redesigning the web pages to give more prominence to these downloads.

Another example could be a software company wanting to measure how many users download their software from their web site. Using this JavaScript they could measure the number of downloads and even set up goals in Analytics to measure the conversion rate.

How will you use the statistics generated by this Javascript? Please post any comments or questions you have about this JavaScript in the comments below.


Comments (281)Add Comment
0
Bobwill
February 12, 2008
205.167.7.18
Votes: +4
...

I have a question after reading your suggestion. Could I add your code to the front of the ga.js code and then just do the following in my html file or would this mess up the loading or would there be some other modifications to make?

< script src="http://www.mysite.com/scripts/ga.js" type="text/javascript">

David Towers
David Towers
February 12, 2008
205.167.7.18
Votes: +9
...

Hi Bobwill,

I'm not sure I've understood your question... The idea of this code is simply to add it before the analytics code on each web page...

Implementation is really simple because you can just search through your entire site replacing your standard analytics code:

< script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://
ssl." : "http://www.");
[removed](unescape("< script src='" gaJsHost "google-
< /script >"));
< /script >
< script type="text/javascript">
var pageTracker = _gat._getTracker("UA-0000-1");
pageTracker._initData();
pageTracker._trackPageview();
< /script >

with:

< script type="text/javascript" src="http://www.yoursite.com/script/
< /script >
< script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://
ssl." : "http://www.");
[removed](unescape("< script src='" gaJsHost "google-
< /script >"));
< /script >
< script type="text/javascript">
var pageTracker = _gat._getTracker("UA-0000-1");
pageTracker._initData();
pageTracker._trackPageview();
< /script >

Does that clarify it?

0
Bobwill
February 12, 2008
205.167.7.18
Votes: -2
...

OK, I misunderstood your explanation. The statement on your web site says "To use, place this file on all pages just above the Google Analytics tracking code." To me that meant all the "js" code (the file) needed to be inserted as the top of the "ga.js" code. Your saying to place a line of code that loads the "gatag.js" script at the beginning of the "ga.js" script. I guess I am dense. I will try to make it work.

David Towers
David Towers
February 12, 2008
205.167.7.18
Votes: +0
...

Glad it's clear now, thanks for your comments. Hope you get it working!

0
JP
February 23, 2008
68.247.115.236
Votes: +2
...

Excellent Excellent Excellent Article!!!! Great Job Indeed!!!!

David Towers
David Towers
February 23, 2008
87.90.44.16
Votes: +1
...

Hi JP!

Welcome to Good Web Practices! Thanks for posting your encouragaing message! smilies/smiley.gif

0
eagleeye
February 23, 2008
78.156.71.13
Votes: +2
...

Seems a simple and great solution to tracking downloads. I have added the code and am just waiting for Analytics to process.

Will be using this to track downloads of PDF brochures and application forms.

Maybe I missed something but where in Analytics will this be displayed? The little graphics at the top are too small to make out.

David Towers
David Towers
February 24, 2008
87.90.44.16
Votes: +0
...

Welcome to Good Web Practices Eagleeye!

It's great you've installed the script.

So the statistics for the downloads and external links will appear as content items. E.g. Within Google Analytics navigate to the "Content" section then select "Top content". The PDF's will be listed in here along with your websites pages. If you can't see the PDF files use the "Find URL" box and enter pdf then press "Go". This will bring up all the stats for your PDF downloads!

This script is a great way to track PDF brochure downloads, we've actually put it to use for the same purpose on other sites! Please let us know how you get on!

Alex Ashman
Alex Ashman
February 24, 2008
90.203.127.60
Votes: +3
...

Remember you can also set Analytics to have the download of files set up as particular goals for your website. This can be very useful to view your success rate!

0
eagleeye
February 26, 2008
129.215.117.140
Votes: +1
...

So far I have added the script to one site and it has recorded a few PDF downloads and clicks on external links. It seems to be doing the job. I will add it to our main site and see how it compares with the onclick code we are currently using.

Alex A - we are already using goals to monitor specific downloads we want to track. I don't see the above code as replacing this but more as an easier way to monitor all downloads and clicks on external links.

David Towers
David Towers
February 27, 2008
205.167.7.18
Votes: +2
...

Delighted to learn that you have added this tracking script to one of your websites and it has worked eagleeye! Thanks for giving us the update!

0
Raju
March 06, 2008
221.134.193.50
Votes: +0
...

hi david
i read your article, well i implemented the way you have explained it, but when i insert the onClick code in the link, my page got scattered around, i just want to track how many people are downloading my zip file.
Can you pls help me in this?
raju

David Towers
David Towers
March 07, 2008
205.167.7.18
Votes: +0
...

Hi Raju welcome to Good Web Practices!

You don't need to add the onClick code to the link!

The only thing you need to do is add the Javascript code before your analytics code. The Javascript automatically adds the tracking for downloads so that you don't need to add it to each link. You just need to follow the instructions above... There is a discussion about someone having problems adding the code here: http://groups.google.com/group...3be1899603

Hope you'll get it working Raju!

0
super015
March 13, 2008
216.10.193.22
Votes: +1
...

we have built in a document repository so that true URLs and file names are obfuscated. This means that the filepath is in the db and you simply get a pointer, so that Competition_FAQ.pdf is actually a URL like http://[url]/download/12345.

It seems that the best way to track this is to add "|download" to the line

var isDoc = path.match(/(? :doc|eps|jpg|png|svg|xls|ppt|pdf|xls|zip|txt|vsd|vxd|js
|css|rar|exe|wma|mov|avi|wmv|mp3|download|forward)($|&)/);

Is that correct?

0
Danny
March 14, 2008
69.119.67.153
Votes: -1
...

Will this be able to track and uniquely identify the downloads if they are loaded via a javascript pop up window ?

I have my site setup so that our PDF catalogs open in a new pop up window.
example url:

0
Danny
March 14, 2008
69.119.67.153
Votes: +0
...

my sample url seems to have been blocked somehow...but it is a basic javascript pop up [removed]pic('catalogs/golight.pdf')

will it be able to track a url like this ?

0
Don
March 15, 2008
198.79.89.130
Votes: +0
...

Hi,
Would this code work with any stats package that uses a paste in javascript snippet to do it's counting? What would the other package have to do to mesh up with your code?

I ask because I'm testing some others in WordPress.
GA is nice but it takes way too long to find the data I want and I don't need most of what it provides.

David Towers
David Towers
March 19, 2008
205.167.7.18
Votes: +0
...

Hi Super015, Danny and Don! Thanks very much for your posts.

With regards to the implementation of this code, you'll find the answers to the majority of your questions here: http://groups.google.com/group...3be1899603

Super015, if your download link is http:///download/12345, the download will be included in the stats as "external/http:///download/12345" This means your downloads are tracked without needing to edit the javascript.

Danny, if the downloads are loaded via a javascript window, I'm afraid that this javascript won't be able to track the downloads. You could ask ShoreTel about how to do this on the Google Analytics forums.

Don this script is designed to work with Google Analytics. I'm surprised Analytics hasn't met your needs, I'd encourage you to stick with GA as once you get familiar with the setup its fantastic.

Brian Katz
Brian Katz
March 21, 2008
209.121.68.93
Votes: +1
...

Hi David T and Don

David - I am yet to implement it but its clearly a great piece of code,

Don, if you need your analytics almost instantaneously you may have to spend $$$ on SiteCatalyst or use something like AWStats
(http://awstats.sourceforge.net/)

The code should work with any JS-based tracking code that implements link tracking. Just substitute the call to pageTracker._trackPageview for the equivalent in the other package.

However, YGWYPF - in analytics apps that you pay for it might be unnecessary - eg SiteCatalyst allows you to track specified extensions automatically.

Brian Katz
www.vkistudios.com

0
super015
March 25, 2008
216.10.193.24
Votes: +1
...

Thanks David.

When I go to Google Analytics and look up content > overview or content > drilldown, I do a search for anything with "download" in the URL and they are not showing up. Do I need to remove the edit I made to the isDoc variable?

Thanks again

Brian Katz
Brian Katz
March 25, 2008
209.121.68.93
Votes: +2
...

Hi super015 and Danny

super015, at a glance it seems like the mod to isDoc will not work because it requires that the URL must *end* with one of the extensions - note the ($|&) at the end of the regex pattern.
However, David's code, I understand, is intended where you cannot modify all the code on a site.

There must be a single piece of server-side code generating your URLs - that should be changed to generate the complete tag you need.

Danny, if your downloads are opening in another window, is that window being tracked - if it is, you will probably not want to trigger a _trackPageview because you would be counting 2 pageviews for the "download"

Brian

0
Mark Freeman
March 27, 2008
24.95.35.234
Votes: +0
...

I added the code, but I am getting an error:

Error: uncaught exception: [Exception... "Component returned failure code: 0x804b000a [nsIDOMNSHTMLAnchorElement.hostname]" nsresult: "0x804b000a ()" location: "JS frame :: http://webauthoring.tercenim.com/gatag.js :: :: line 20" data: no]

Any ideas?

0
super015
March 28, 2008
216.10.193.22
Votes: +0
...

Brian, thanks for the info. I'm no longer that technical and am very rusty on regex. I do know that with our repository, every document path ends in a 5-digit number (e.g., /forward/12345 or /download/54321). How could I modify the isDoc regex for this?

Brian Katz
Brian Katz
March 28, 2008
209.121.68.93
Votes: +2
...

super015 & Mark,

Mark, in what environment are you executing the script?

super015,
I'm an Analyst with enough JS to be dangerous smilies/smiley.gif

On the assumption that *all* your downloads are in the form described and that the urls end as you indicated above, it looks safe to change the Regular Expression pattern to

/(?:document|forward)/(?:[0-9]{5})(?:$|&|?)/


You want to be careful not to match URIs other than those intended, so that pattern limits matches to 5th digit either ending the URI or being followed by a query string or a &

If you want to test various scenarios, use The RegEx Coach (http://weitz.de/files/regex-coach.exe)

Brian
http://www.vkistudios.com/people.html

0
Brian Katz
March 28, 2008
209.121.68.93
Votes: +1
...

Hi David T and Mark

I did not look closely at Mark's error that closely but I got a similar error totally unrelated to gatag.js. It was within FireFox's code, or more likely, one of its add-ons (Web Developer)
I returned to look at Mark's error and see that unlike mine, it refers to line 20 of gata.js itself.

Mark, what are the values of all variables before line 20?

Brian
http://www.vkistudios.com/people.html

Oh! Mark - what browsers have you tested this in and in which one(s) does the error show up?

0
Brian
March 29, 2008
24.87.3.48
Votes: +1
...

Hi David T and Mark

I've now encountered that error too:
Error: uncaught exception: [Exception... "Component returned failure
code: 0x804b000a [nsIDOMNSHTMLAnchorElement.hostname]" nsresult:
"0x804b000a ()" location: "JS frame ::
http://www.goodwebpractices.com/script/gatag.js :: :: line 20" data: no]

It occurs if the page contains anchors that have no href attribute at all.

There will have to be a test to see if hrefs[i] has an href attribute.

Brian
http://www.vkistudios.com

PS I'm going to be at the eMetrics Summit in Toronto next week - if you're going to be there, visit me at VKI Studios' Exhibitor's booth


0
Brian
March 29, 2008
24.87.3.48
Votes: +1
...

Last post should read "hrefs[ l ] has an href attribute". Brian http://www.vkistudios.com
-

0
super015
April 01, 2008
216.10.193.23
Votes: +1
...

OK I've figured out my question with a little but of regex brushup.

All of our links go to either download/ or forward/ with a 5-digit id number after the slash. Ergo the regex is:

var isDoc = path.match(/(?:download|forward)(/d{5})/);

0
Travis Knutson
April 02, 2008
24.106.41.186
Votes: +0
...

I put this in and PDFs and downloads work great, but I can't seem to find external links. Am I missing something on where to look in top content?

0
Erik Vold
April 08, 2008
209.121.68.93
Votes: -1
...

Why do you make the following suggestion:
Add the following JavaScript code just before your Google Analytics tracking code:

< script src="http://www.yoursite.com/scripts/gatag.js" type="text/javascript" > < /script >

??

The order doesn't really matter from what I can tell, did I miss something?

Also, gatag.js should really be as close to the tag as possible, because if ga.js were called right after the tag, and you placed gatag.js before ga.js, then gatag.js wouldn't work at all, because document.getElementsByTagName("a") would return an empty array, even though there maybe links on the page.

0
Erik Vold
April 08, 2008
209.121.68.93
Votes: +0
...

I meant to say: 'gatag.js should really be as close to the [end body tag] as possible, because if ga.js were called right after the [start body tag],...'

0
RobP.
April 23, 2008
155.37.180.44
Votes: +0
...

I've tried the script on our website but I don't see any PDF's in my Stats online. Am i looking in the wrong place maybe or do I have to setup something like a goal or filters to view the stats online in Google? Thanks

David Towers
David Towers
April 23, 2008
87.90.44.16
Votes: +0
...

Hi everyone, thanks for posting.

RobP. and Erik, you need to wait a couple of days after installing the stats to see them.

The statistics for the downloads and external links will appear as content items. To see the external pages: navigate to the "Content" section then select "Top Exit Pages". The external pages will be listed in here along with other exit pages. If you can't see the external page use the "Find URL" box and enter external then press "Go". This will bring up all the external pages the script has tracked.

0
RobP.
April 24, 2008
155.37.180.44
Votes: +0
...

Unfortunately still nothing. I have had it on our site for over 2-3weeks now. I don't know what I'm doing wrong I've checked everything I could think of. Can you check the source on any of my pages to see if it's in there correctly? The only change I made was where the gatag.js is stored which is the js folder vs. scripts. That wouldn't make any diff. would it? Site: www.uconucedd.org

0
RobP.
April 24, 2008
155.37.180.44
Votes: +0
...

sorry that should be www.uconnucedd.org

David Towers
David Towers
April 24, 2008
205.167.7.18
Votes: +0
...

Hi Rob! Just checked out your page. You have got the link to gatag wrong! You've made a mistake in the path. Change from this:

../js/gatag.js

to this:

http://www.uconnucedd.org/js/gatag.js

That will work.

BTW I'd recommend you remove your old google tracking code and taglinks!

0
RobP.
April 29, 2008
155.37.180.44
Votes: +0
...

That was just the homepage. The others used a diff. template which I did update previously to the correct path. But I'll update the home page too. Thanks. But do you think that the hompage if incorrect would stop the other pages that have pdf's from showing up in the reports?

Thanks Again!

David Towers
David Towers
April 29, 2008
87.90.44.16
Votes: +0
...

Hi Rob,

I'm sure we will be able to get it working on your site!

I checked the tag you added and you've done it wrong again: " < http://www.uconnucedd.org/js/gatag.js "

0
RobP.
April 29, 2008
155.37.180.44
Votes: +0
...

DOH!! :-D

0
Declan
April 29, 2008
208.124.156.186
Votes: +1
...

I'd like to post a link on an external site that goes directly to my .zip file for download. How do I track that? It works great if you get the link from one of my existing pages.

How can I get it so that the zip file gets measured if it is downloaded directly from external sites?

0
Richard N
April 29, 2008
165.228.109.78
Votes: +0
...

Declan why don't you send them to the webpage that contains the .zip file first? Then all they have to do is click the download button and you'll be able to track it using this script.

Have you got the updated ga.js installed?

David Towers
David Towers
April 29, 2008
205.167.7.18
Votes: +0
...

Hi Richard N - thanks for your good advice - it's always better to get people to the webpage as you can track them better... But it does happen that people hotlink files.

Hi Declan. Using Gatag.js you will be able to track on "site 2" how many people go to download the zip file on "site 1" because "site 2" will record how many people click on the link to download the zip file as the link will be included as an external link in the content stats.

If you want to see on "site 1" how many times the zip file has been downloaded from external sites, I would suggest checking the server log files to see how many times the zip was downloaded... Most hosting have AWstats installed which you could use to check this. Otherwise, take Richard N's suggestion and send the users to the html page. :-)

0
Richard N
April 30, 2008
165.228.109.78
Votes: +2
...

Wow, I installed the script yesterday and now I can actually find out which PDF files and external websites are the most popular. It certainly is worth downloading and installing.

David T, have you guys got a paypal account for donations?

David Towers
David Towers
April 30, 2008
205.167.7.18
Votes: +0
...

Hi Richard! Delighted the script has worked as hoped! We'd appreciate any donations, here is how you can donate:
http://www.goodwebpractices.com/donate.html
Thanks again Richard.

0
ben
May 05, 2008
75.72.61.97
Votes: +0
...

If I use target="_blank" to open a file in a new window, I get a script error:

urchinTracker is not defined
urchinTracker(file_path);

Has anyone else had this problem?

David Towers
David Towers
May 06, 2008
205.167.7.18
Votes: +0
...

Hi Ben! I've not had this error no... If you provide a link we could perhaps check that out for you?

0
ben
May 09, 2008
12.40.180.18
Votes: +0
0
Richard N
May 09, 2008
165.228.109.78
Votes: +0
...

David, the PDF and external tracker worked for a day and now it has stopped working.

Can you see anything wrong with the tracker on www.rockingham.wa.gov.au? The links on the right hand side should be mostly externals and PDFs are under the Employment section.

David Towers
David Towers
May 09, 2008
205.167.7.18
Votes: +0
...

Hi Richard, try putting gatag.js just above the analytics code, so below externalsitesPDF.js. What is externalsitesPDF.js by the way?

Where in Analytics are you looking for to see how many pdfs have been downloaded?

Ben, the error occurs in IE, not in Firefox. I notice you edited the script, might it be because you changed something? Otherwise the other option would be to get ride of target="_blank"...

0
stefan
May 11, 2008
201.214.88.36
Votes: +2
...

Thank you very much David, it works perfect for us!

I can see downloaded pdf and hits on external links. It even tracks if someone hits the back button, like: /external//history.go(-1)

We have most clicks on: /external//
What is happening in that case? Is it our "home?"

Saludos

0
Richard N
May 12, 2008
124.169.59.135
Votes: +0
...

Hi David

Thanks for that, I think I had duplicated the javascript by accident, it looks to be working now.

I was looking under Top Content and typing in pdf and external as the filter criterion.

Cheers

Richard

0
David
May 24, 2008
190.166.86.75
Votes: -1
...

How Can I track Adsense clicks ?

I want to know which ads was clicked .

thanks in advanced

David Towers
David Towers
May 24, 2008
87.90.44.16
Votes: +0
...

Hi David, as far as I know, it's not possible to track which Adsense ads are clicked...

0
Brian Katz
May 27, 2008
209.121.68.93
Votes: +0
...

Yes, GA Reports do not appear to help much here but ...

The HTTP Header sent when clicking an AdSense link on a content network site identifies the advertising site as the referrer.

So you should be able to detect the referrer with JavaScript using document.referrer and add that to one of the variables sent to Google
(eg as a parameter to the Request URI using _trackPageview() or set the User Defined value using _setVar(), etc)

If using a PageView-based field like Request URI you will need a filter to override a visit-based field (like Campaign Source) to the referrer so that you can segment your AdWord reports by that field.

You might also be able to use Geo and other automatically available segmentation to narrow things down a bit.

Brian Katz
http://www.vkistudios.com

0
Jesse Kanclerz
May 30, 2008
74.67.191.206
Votes: +0
...

This is working great on my Joomla installation!

How about a tutorial on how to track feedburner email subscriptions? I.E. Subscriptions that are done through the on-site form, and not by clicking a link.

0
David T
June 04, 2008
205.167.7.18
Votes: +0
...

Brian thanks for contribution on this post...

Thanks for the suggestion Jesse!

0
Justin
June 09, 2008
82.243.190.126
Votes: +0
...

Hi, I would like to track mp4 download, do I simply have to add mp4 in this list:

path.match(/(? :doc|eps|jpg|png|svg|xls|ppt|pdf|xls|zip|txt|vsd|vxd|js
|css|rar|exe|wma|mov|avi|wmv|mp3)

or is there something else to do ?

David Towers
David Towers
June 09, 2008
205.167.7.18
Votes: +0
...

Hi Justin, yeah it really is that simple, you just need to add mp4 to the list. smilies/smiley.gif

0
Justin
June 09, 2008
82.243.190.126
Votes: +0
...

Great! Thanks for this fast answer smilies/wink.gif

0
David T
June 09, 2008
205.167.7.18
Votes: +0
...

You're welcome!

0
Sebastian
June 11, 2008
213.221.89.162
Votes: +0
...

Hello,

need help:
I Track on two Accounts and modified the gatag.js,
but im so bad in JavaScript - it dosn't works.

Here ist my Script:
http://www.rsb-online.de/common/scripts/gatag.js

My well working Google Tracking Code:
Look at the html Code of http://www.rsb-online.de.

Good Blog - Stay Tuned Guys!
Sebastian

0
bk
June 12, 2008
209.121.68.93
Votes: +0
...

Hi Sebastian

Would you please give us a bit more detail:
1) what changes did you make
2) what is not working - is it giving you errors on the page or is it not showing up in GA?

Thanks
Brian Katz
VKI Studios - Google Analytics Authorized Consultants
http://www.vkistudios.com

0
Sebastian
June 12, 2008
213.221.89.162
Votes: +0
...

Hello,

2) It ist not showing up in GA.

1) I change

this line
if (typeof(pageTracker) == "object") pageTracker._trackPageview(mailto);

to this line
if (typeof(firstTracker) == "object") firstTracker._trackPageview(mailto);

AND

this line
if (typeof(pageTracker) == "object") pageTracker._trackPageview(lnk);

to this line
if (typeof(firstTracker) == "object") firstTracker._trackPageview(lnk);

This is my third guess AND NOW IT WORKS!
Sure it for first time it only works on the
fist account but i think if i add this line:
if (typeof(secondTracker) == "object") secondTracker._trackPageview(lnk);
Comes the data on the second Account too.
I post the result...

Sebastian

0
Brian K
June 12, 2008
209.121.68.93
Votes: +0
...

Hi Sebastian

If secondTracker was created with a different UA account number it should be sending data to a completely different account.

If you don't get the results you want, we will need to know how the 2 tracker objects (firstTracker and secondTracker) were created.

Brian Katz
VKI Studios - Google Analytics Authorized Consultants
http://www.vkistudios.com

PS. If you get errors, tell us exactly what they are.

0
Sebastian
June 18, 2008
77.128.15.235
Votes: +0
...

Hello,

now it works. I track on two accounts and with a little change of the gatag.js the external data comes correct to the two accounts.

Change this line:
if (typeof(pageTracker) == "object") pageTracker._trackPageview(lnk);

too this 2 lines:
if (typeof(firstTracker) == "object") firstTracker._trackPageview(lnk);
if (typeof(secondTracker) == "object") secondTracker._trackPageview(lnk);


AND

This line:
if (typeof(pageTracker) == "object") pageTracker._trackPageview(mailto);

too this 2 lines:
if (typeof(firstTracker) == "object") firstTracker._trackPageview(mailto);
if (typeof(secondTracker) == "object") secondTracker._trackPageview(mailto);


Hope somebody can need this.
Thanks Brian.
Sebastian

0
Brian K
June 19, 2008
209.121.68.93
Votes: +1
...

Sure thing Sebastian.

This brings up a point of the tools we use to help diagnose and fix errors in our analytics.

As far as the JS side is concerned I regard the following as vital - and they are all part of or add-ons to FireFox:
1) the Error Console (Tools menu)
2) WebDevelopers Tool bar extension
3) Firebug extension
4) WASP (http://wasp.immeria.net)
5) LiveHTTPheaders extension

All extensions at https://addons.mozilla.org

Brian Katz
VKI Studios - GAACs
www.vkistudios.com

0
Andrew N
June 20, 2008
80.169.135.76
Votes: +0
...

Hi David,

just wanted to say thanks for a fine piece of work. Now our stats have become even more valuable.

- Andrew.

0
Karo
June 24, 2008
81.241.251.150
Votes: +0
...

This is absolutely great. It's a very nice script and so easy to use. Thanks David!

0
Tim Froling
June 27, 2008
203.31.252.49
Votes: +1
...

Hi David.
Trying to get client's (their staff) to add 'onclicks' to links in a CMS is near impossible. I knew there had to be a better way. Trouble is I knew what I wanted and the methodology but don't have the js skills. So off I went looking, GBG (God bless Google) I found your solution. I does exactly what I want and works a treat. Thanks!

David Towers
David Towers
June 28, 2008
87.90.44.16
Votes: +1
...

Andrew, Karo and Tim, I'm delighted you have found this script so useful! smilies/smiley.gif

0
dan
July 01, 2008
71.192.25.30
Votes: +0
...

Hi David.
Trying to get client's (their staff) to add 'onclicks' to links in a CMS is near impossible. I knew there had to be a better way. Trouble is I knew what I wanted and the methodology but don't have the js skills. So off I went looking, GBG (God bless Google) I found your solution. I does exactly what I want and works a treat. Thanks!

0
June
July 13, 2008
74.229.81.186
Votes: +0
...

I added your code to a web site this a.m. and so far, no download tracking has shown up on GA. But after reading here, it seems the download tracking doesn't show up for a few days. Why does the download tracking take longer than page tracking? When the download tracking does show up in GA, does it show up under the date the download actually occurred or does it show up on the date the tracking hits GA? If it shows up on a date different than it occurred, doesn't this affect conversion metrics?

0
Antonio
July 13, 2008
62.167.72.253
Votes: +0
...

Hi all.
I've tried to use gatag.js to track some downloads but I don't get any expected report.

I work on 2 websites on which I'd like to track some links.

First http://www.finistereproduction.ch/kino.php
I have a "lightbox" effect opening a home made swf video-player. I'd like to know if people watch the videos. I have no reports about these links

On another site http://www.dawnprog.com/audio.php
I have audio players. Same problem as above. In a restricted access section of this site, I propose mp3 and ogg file downloads. I'd also like to track these downloads.

I've edited the gatag.js file to include swf and ogg files survey.

I can't make this work. I've waited 48h to have the reports but no results. Could anyone tell me if something is wrong in my code.

Thanks,
Antonio

0
June
July 14, 2008
74.229.81.186
Votes: +0
...

Like Antonio, I've waited 48 hrs + ss well and tracking not working for me either. The site I'm trying to track is a oold fusion site. But GA works fine on the CF site, so assumed this js code would as well.

David Towers
David Towers
July 14, 2008
87.90.44.16
Votes: +0
...

Hi Dan, Antonio and June!

@Dan - glad you found the solution so helpful!

@Antonio - Here at GoodWebPractices we are using the gatag.js script and are able to track how many views we get of jpgs when using lightbox. I'm not sure if it's possible to track SWF's with Analytics - we've never needed to so far. Perhaps you could try asking ShoreTel about this at the Google Analytics forums: http://groups.google.com/group...ing/topics ShoreTel might be able to tell you if that's possible... Sorry you've had problems with that

@June - The statistics will appear as content items and should be showing now if you installed the script correctly. To see downloads in Analytics go to Content > Top Content > Search: "the file you want to see" This should work. The date shown will be the date the files were downloaded.

Brian Katz
Brian Katz
July 14, 2008
209.121.68.93
Votes: +0
...

Hi everyone.
The problem mentioned in the last few posts has inspired a blog post and a solution at http://blog.vkistudios.com/ind...-with-WASP

Brian Katz
VKI Studios - Google Analytics Authorized Consultants
http://www.vkistudios.com/analytics.html

0
June
July 15, 2008
74.229.81.186
Votes: +0
...

David

I installed your code about 60 hours ago. Content still not showing up. I give up. Nice idea though. I will now try to decipher what google has on their site for laboriously adding code to every link. smilies/angry.gif

0
June
July 15, 2008
74.229.81.186
Votes: +1
...

Brian

The problem with you "solution" is if you have more than 100 pages it requires purchasing a solution that does not integrate with GA. I can't imagine anyone with less than 100 pages tracking anything that's not in their accounting software. smilies/smiley.gif 100 pages/links seems to be the magic number for companies offering free software.

Brian Katz
Brian Katz
July 15, 2008
209.121.68.93
Votes: +0
...

Hi June
The greatest value of the tool is not in the scanning but in showing what data is being sent to Google.

I very rarely use WASP to scan.

In your case, you would click on a link that should be affected by gatag.js and seeing what data is being opened. For testing purposes Ctrl+click on the link so it opens in another tab so you can see what WASP says was sent to Google in the original tab. If the pageview is not being sent, don't wait for Google - it will never show up there.

Chances are there is a JavaScript error. Check that out in FireFox's Error Console.
Brian Katz
VKI Studios - Google Analytics Authorized Consultants

0
June
July 15, 2008
74.229.81.186
Votes: +0
...

Brian,

Thanks, I'll try that and let you know.

BTW, I tried to post comment on your blog, but could not get past the encryption code. code just kept refreshing every time I hit post.

0
Conner
July 15, 2008
71.232.95.81
Votes: +0
...

Dave,

Can the gatag.js code be implemented side-by-side with links that use the trackPageview onclick call? I have a legacy site i'm supporting which has numerous links that require the trackPageview onclick method -- but going forward I'd like to be using a pure gatag.js or similiar solution. Is this possible?

My understanding is that for the onclick code to work, the ga.js has to be initialized before any method calls. Conversely, your code needs to be run after any 'a' tags, but before the ga.js, correct?

Is there a resolution I'm not seeing?

0
June
July 15, 2008
74.224.164.5
Votes: +0
...

David,

Lo and behold the tracking showed up last night, about 60+ hours after putting code on the site (I only mention how long in case other ppl get frustrated, too).

However, the content tracking did not show up on the day the downloads were made on the 12th but showed up on the 14th. Also, it not only tracked downloads, but tracked external links as well.

BTW, I appreciate ppl like you who post solutions like this. As a web designer/developer it allows me to offer more value to my clients as I build their site. It also helps you because once the client starts asking for help on GA, I'll have to send them elsewhere and I'll look first to you and Dan for that referral! Also, have made donation to you for using your code. Cheers!

0
June
July 16, 2008
74.224.164.5
Votes: +0
...

Ooops, I said Dan, I mean Brian. smilies/smiley.gif

David Towers
David Towers
July 16, 2008
89.217.29.184
Votes: +0
...

@Brian - Nice post re: Wasp, thanks for letting us all know about that!

@June - Fantastic to learn that the tracking showed up! This script is a great tool, am glad you've found it useful. Thank you very much for the donation, it's much appreciated.

@Conner - I haven't tried using gatag.js with the trackPageview onclick. I don't see why it wouldn't work. My recommendation would be to give a try and see how you get on.

0
Jody
July 17, 2008
209.171.43.194
Votes: +0
...

Hi David - can one simply add other extensions to this. We want to be able to track downloads for RSS and XML files. Can we simply add xml to the extension list?

Let me know, thanks.

Jody

0
Kevin
July 23, 2008
65.174.157.4
Votes: +0
...

I'm also getting the error:
Error: uncaught exception: [Exception... "Component returned failure
code: 0x804b000a [nsIDOMNSHTMLAnchorElement.hostname]" nsresult:
"0x804b000a ()" location: "JS frame ::
http://www.goodwebpractices.com/script/gatag.js :: :: line 20" data: no]



Is there a solution to this?

Brian Katz
Brian Katz
July 23, 2008
209.121.68.93
Votes: +0
...

@David and Kevin
This is the error for which we provided the fix.
Its encountered when a page has a link (anchor tag tag) without an href such as one that names an anchor on a page.
David, shall I post the script on our blog and refer them to this blog?
Brian

0
Kevin
July 25, 2008
65.174.157.4
Votes: +0
...

So do you mean that there is an updated version of gatag.js? If so where can I get that?

There are way too many anchor tags throughout the site for me to update them all with an href.

0
Kevin
July 25, 2008
65.174.157.4
Votes: +0
...

Also one more question: this script looks like it is working great for pdf's, but the numbers are way too low for mp3's. Does this script work if someone right-clicks and saves a file?

David Towers
David Towers
July 25, 2008
80.192.241.139
Votes: +0
...

Hi Kevin and Brian.

Brian is right, he has found a fix for the script. I have been working on a new post, but it isn't ready yet. In the mean time I have updated the script, so if you download the script now, it will work without the error:

http://www.goodwebpractices.com/downloads/gatag.js

Thanks again and watch out for a new post coming soon.

Thanks for your patience on this Brian,

David

0
Will
August 05, 2008
193.1.212.126
Votes: +0
...

Hi

Great script! But now that the downloads are been tracked how do I see them in Google Analytics? If I go to 'Content' and then search for (containing '.doc') as well as getting .doc files I am getting .pdf's in folders called 'doc'. Is there a handier way?

Brian Katz
Brian Katz
August 05, 2008
209.121.68.93
Votes: +1
...

Hi Will
the containing field (in-line filter) uses Regular Expressions) so the . means any character.

'Escape' the . and search for .doc and it will look for the dot literally.

Brian Katz
VKI Studios - Google Analytics Authorized Consultants
http://www.vkistudios.com/analytics.html

0
Will
August 06, 2008
193.1.212.126
Votes: +0
...

Thanks for the reply.

What exactly do you mean by:
"'Escape' the . and search for .doc and it will look for the dot literally." 'Escape'?

Brian Katz
Brian Katz
August 06, 2008
209.121.68.93
Votes: +3
...

Sorry Will - I forgot to provide an example:

escape means preceding the character to be escaped with a

as in .doc

That means that the . will not have mean "any character" but will be regarded literally.

It will still find strings that contain ".doc" anywhere in the string - if you want to force it to find file names *ending* in ".doc" use
.doc$, where $ means the end of the string.

If you want to find all documents in the doc folder search for /doc/

Brian
Brian

0
Will
August 08, 2008
78.16.48.139
Votes: +0
...

Thanks a million Brian! I will try that tomorrow morning.

0
Arthur
August 14, 2008
75.175.71.54
Votes: +0
...

I might be missing something easy, here; this is my first time venturing into my site. I tried to navigate to the http://www.mysite.com/scripts/ but it says the requested URL/scripts is not found on the server. Is there something I am doing wrong? Or is there another place I can upload that code?

Paul Bernier
Paul Bernier
August 20, 2008
70.52.210.188
Votes: +1
...

Great script, use it a lot.

How about identifying documents in the virtual page view, just like external links are?

I changed this line:
if (e.hostname != location.host) lnk = "/external/" + e.hostname + lnk;

For this:
lnk = (e.hostname != location.host) ? "/external/" + e.hostname + lnk : "/document" + lnk;

It gets the job done.

Paul

0
Win
September 05, 2008
165.228.174.68
Votes: +0
...

what a great script!

It saves me lots of time. However, I got some problems with that. I did install tracking scripts as per instructions, but in Google Analytics, I found the following entries in the Top Content.

/outgoing//
/outgoing/void(0)/

so anyone has any idea why that's happened.

It will be really appreciated if someone gives me a hand.

0
Paul
September 10, 2008
74.59.83.107
Votes: +0
...

Hi Win,



From my experience, this happens when you are using a JS function in the href tag.

Are you using something like this? :

< a rel="nofollow" href="/void(0)" onclick="someFunction()" >My link< /a >

Is you are, the "void(0)" is identified as an outgoing link. You could consider the following instead:

< a rel="nofollow" href="/ # " onclick="someFunction();return false;" >My link< /a >

[Remove the spaces in the code]

Cheers

Jeff Krukin
Jeff Krukin
September 13, 2008
65.13.156.103
Votes: +0
...

This is just what I need, but I'm new to Joomla and GA and have two basic questions:

1)If I want to add the GA script that is added to the link, where does it go exactly? For example, a PDF's link is "http://www.jeffkrukin.com/Human Space Connection.pdf" and I'm wondering if I would just put a blank space after the "f" and the the GA script.

2)If I want to use your tracking script, you say to install it to the scripts subdir (in my case that's /templates/ja_antares/scripts). In which file? I don't know which file contains the GA tracking code (the person who installed it is traveling right now), or how to identify that code within the file.

Thank you.

Brian Katz
Brian Katz
September 13, 2008
209.121.68.93
Votes: +0
...

Hi Jeff
1) Links can be manually tagged as follows - this is the one from your website:
< a rel="nofollow" href= " Human Space Connection.pdf" ; target= "_blank" ; onclick= " pageTracker._trackPageview('Human Space Connection.pdf') " >< strong > Read it < /strong >< /a >
I see that your GA script blocks are near the bottom of the page, which is the recommended spot.
pageTracker is created on line 525 of your page: var pageTracker = _gat._getTracker ( " UA-3..."
That should be ok most of the time but if a frequent visitor clicks on the link (which is near the top of the page) before the whole page has loaded and ga.js is received from google-analytics.com, an error will be generated.

As you can see, its not rocket science smilies/grin.gif

2) To use the script and invoke it on a page:
Copy the auto tagging script gatag.js into your scripts folder and then add the following line before the end < /body > tag:
< script type= " text/javascript " src= " /templates/ja_antares/scripts/gatag.js < /script >
It should go at the bottom of the page because it will not apply to links that appear after the call to gatag.js.
As in 1), it does not matter if pageTracker has been created at the time the script is called, because the script only needs pageTracker when the user clicks on the link.

Hope that helps

Brian Katz
VKI Studios - Google Analytics Authorized Consultants
http://www.vkistudios.com/analytics.html

Jeff Krukin
Jeff Krukin
September 13, 2008
65.13.156.103
Votes: +0
...

Brian, thank you very much for the quick response. As I'm not a rocket scientist, please let me know which file in the scripts folder contains the GA script so I know where to place the auto tagging script gatag.js. You say copy it to my scripts folder, but doesn't it need to go in a file in that folder?

It has occurred to me that another reason to use this approach rather than appending tracking code after the PDF is that people may choose not to download the file if they notice the tracking code in the URL.

Thank you.

0
Jack Bremer
September 15, 2008
82.68.187.94
Votes: +0
...

@ Brian Katz
"it does not matter if pageTracker has been created at the time the script is called, because the script only needs pageTracker when the user clicks on the link."
I think I have figured it out now - it doesn't actually change the link codes, it rewrites something invisible so that when clicked it calls in GA?
I have been scouring the source of the page for an hour or so, looking for automatically inserted onclicks but now I think I've got it sussed...
Will check stats in a day or so - if this works, we're onto a winner! smilies/cool.gif

0
eml tin
September 19, 2008
194.255.97.201
Votes: +0
...

hi there, thanks for this script. i've seen a few other variations, but this seems to work.

however, if someone right-clicks (control-click on Mac) and saves the file to disc, it's not counted, because on javascript onClick is never called.

anyone have a solution for that?

Brian Katz
Brian Katz
September 20, 2008
209.121.68.93
Votes: +0
...

Hi Eml
Our JavaScript and Greasemonkey guru suggests using the onmouseup event.

While it may be as likely that the user actually downloads the document because they can dismiss the context menu, it isn't very different.

Brian

0
Eric
September 26, 2008
216.99.2.9
Votes: +0
...

I'm seeing the same issues with "right-clicksave" as not being tracked. Any solutions yet? Does onmouseup work?

Jeff Krukin
Jeff Krukin
September 27, 2008
65.13.156.103
Votes: +0
...

Per my question above on Sept. 12 and Brian's response, I would appreciate clarification of his recommendation that I "Copy the auto tagging script gatag.js into your scripts folder." Don't I need to copy text to a specific file within this folder? In this folder I have two files; index.html and ja.script.js, and neither contains an end < /body > tag as indicated by Brian.

Thank you.

0
lee
September 29, 2008
83.67.80.152
Votes: +0
...

hi i really like the idea for this but i cant seem to get it to work. ive put your code in the footer above teh google tracking code and ive made sure it is the new google tracking code. am i doing anything wrong? how long does it take for it to appear in analytics? it has been days so far.

Brian Katz
Brian Katz
September 30, 2008
209.121.68.93
Votes: +1
...

@Jeff
I'm not sure how the confusion was created but apologize for any part I played in it.

You have a scripts folder and these notes assume that anyone using gatag.js will have one too.
If you are simply keeping all your scripts in the root or some other folder - that folder is what I refer to as your "scripts folder".

One needs to have the gatag.js file in your scripts folder along with your other .js files.

Right-click the link to the gatag.js file at the top of this page, and save it as gatag.js on your computer.

If one simply clicks (left click) the link to the gatag.js file at the top of the page, it will open the file in your browser. Copy and paste all the text into an empty file and save it as gatag.js on your computer.

In either case copy that gatag.js file to the scripts folder on your web server

Add a script tag with a src= reference to the gatag.js file to load gatag.js as has been done with other scripts in the same folder.

Test: To test quickly if its really working, insert the line:
alert("Loading gatag.js");
at the top of the gatag.js file and reload the web page referencing gatag.js. - It should immediately pop up a dialog box with the above message.
Immediately remove that line and resave the file - your visitors don't want to see your laundry smilies/smiley.gif

Another way to test this and all other code is WASP (actually W.A.S.P.)
- see http://blog.vkistudios.com/ind...-with-WASP

The script tag referencing gatag.js is required on every page that has links you need tagged (download, email and external).

Brian Katz
VKI Studios - Google Analytics Authorized Consultants
http://www.vkistudios.com/analytics.html



Brian Katz
Brian Katz
September 30, 2008
209.121.68.93
Votes: +0
...

@Eric
I've not tested the onmouseup event code, but don't see why it should not work.

@Lee
If you post a link to your page, we can see your code and help you. GA data is showing up within an hour or two but does not "settle down" until the following day once all processing is completed.

Brian Katz - Web Analyst - VKI

Jeff Krukin
Jeff Krukin
September 30, 2008
65.13.156.103
Votes: +0
...

Thank you, Brian. I don't know how I didn't understand what in hindsight was your very clear direction to copy the gatag.js file to the scripts folder, rather than copy the text of the gatag.js file into another existing file.

0
lee
September 30, 2008
83.67.80.152
Votes: +0
...

@Brian
i was being stupid i had set up the site so it didnt track my visits! it is working fine smilies/smiley.gif

0
Annie
October 20, 2008
92.132.222.120
Votes: -1
...

It seems I'm now able to send posts : did you get my email ?

0
NWO
October 29, 2008
216.17.156.19
Votes: +0
...

So.. this looks like a well written and useful script, but I still can't get any of the outbound link tracking to show up. The script is being called and downloaded properly in the page (verified using firebug) but it's been a week and still nothing for "/external/" is showing in GA. Reverting back to direct onclick calls for the outbounds still shows plenty of traffic, but nothing shows just using this script.

0
NWO
November 06, 2008
216.17.156.19
Votes: +0
...

Nevermind.. figured it out. The gatag script must be placed near the end of the body of your pages. If you still want to be able to use individual onclick events with GA then the GA script must still be at the top. Seems to be working fine so far with this setup.

0
Josh
November 22, 2008
24.71.223.149
Votes: +1
...

Hello,

I added the code about a week ago, but there seemed to be issues with GA. I then moved GA to the head of my page, and kept your script near the bottom. I only seemed to be getting results for outbounds to .htm links. The many Mp3s I have don't seem to be showing up. Tonight I moved your script up to just before GA at the top of the page, and I guess tomorrow I'll see if it changes anything.
How important is it where the script is? I'm using an older WYSIWYG program to create my site. I couldn't find www.joshholliday.com/scripts, so I created a folder on the site called Scripts, and uploaded it there. Thanks for the help!!!

0
RajuPP
November 22, 2008
79.177.21.47
Votes: +0
...

Hi,
i have placed the js before the GA code in my header file. But I have a very basic question as to how I will be able to track the clicks, especially the outbound clicks? Through Google Analytics only? if so, how exactly? Sorry for the noobish question

0
Josh
November 23, 2008
24.71.223.149
Votes: +0
...

...quick update. The reason it's just showing the .htm links is that I put the GA code on those pages. So for some reason, this one isn't working at all.

0
Kevin
November 27, 2008
195.149.39.172
Votes: +1
...

I have had the script installed on a site for a while now. However, I am confused about how to understand the stats for external links.

If I goto top content in analytics and then "Find page containing" external I get a list of external links, which is fine.

However where I am confused is in the last week the stats state "29 pages containing "external" were viewed a total of 1,750 times"

where

/external// accounts for 1236
/external/ accounts for 284

I also get

/external//history.go(-1) and
/external/history.go(-1)/
(not sure why I get the trailling / )

then the other 25 entries are real links.

Can anone explain what /external// and /external/ are, and why they are proportionally high.

0
Brian
December 13, 2008
72.164.177.250
Votes: +0
...

Ive done as instructed on this page. Ive had it up and going for 3 days. Had multiple contacts download PDF and DOC file. I cannot find them anywhere in GA.

Help?
www.theburmeisters.com/resume

0
David
December 14, 2008
211.30.179.51
Votes: +0
...

Hi David,

I've been stumbling around for a week looking for something like this - gatag.js - fantastic - so time saving - well done for making it available.

Just wondering if there's been any resolution to Danny's question of March the 19th 08

"Danny, if the downloads are loaded via a javascript window, I'm afraid that this javascript won't be able to track the downloads. You could ask ShoreTel about how to do this on the Google Analytics forums."

my site http://www.davidburr.com.au I believe comes under this category although I'm new to this and may be wrong - I hope so.

I'd like to be able to implement the gatag.js script on each of my pages that have links to movies which open in new windows but am a little unsure as to whether these windows fall into the same category as Danny above.

Regards - David B

0
Pete F
December 22, 2008
65.183.135.72
Votes: +0
...

Will this work in a fully Flash site? I think I have the code added correctly but I am not receiving data in GA. Any ideas?

http://spikeadvertising.com/

0
Isha
December 31, 2008
205.132.119.9
Votes: +0
...

I need to track pdfs that are dynamically generated using ASP.net page. Please advice! My .net page generates pdfs using the following code based on the element id. I am assuming registering the script using Page.ClientScript.RegisterClientScriptInclude(Me.GetType(), sFileName.ToString(), "/js/gatag.js")
would do the job but please advice if this would track the documents correctly.


If Not element.IsText Then
'Write input bytes into MemoryStream if not text

'Re-build file from bytes in memory
Dim msPDF As New MemoryStream
msPDF.Write(element.ContentBytes, 0, element.ContentBytes.Length)
msPDF.Seek(0, SeekOrigin.Begin)

'Write memory to response
With Response
.ClearContent()
.ClearHeaders()
.ContentType = element.ContentType
.AppendHeader("Content-Disposition", "attachment; filename=" & sFileName)
.BinaryWrite(msPDF.ToArray())
End With

'Close the stream - Release memory for cleanup
msPDF.Flush()
msPDF.Close()
msPDF = Nothing
Else
'Text - Just write to browser
With Response
.ClearContent()
.ClearHeaders()
.ContentType = element.ContentType
.AppendHeader("Content-Disposition", "attachment; filename=" & sFileName)
for (var l = 0; l < hrefs.length; l++) {
// try {} catch{} block added by erikvold VKI
try{
//protocol, host, hostname, port, pathname, search, hash
if (hrefs[l].protocol == "mailto:") {
startListening(hrefs[l],"click",trackMailto);
} else if (hrefs[l].hostname == location.host) {
var path = hrefs[l].pathname + hrefs[l].search;
var isDoc = path.match(/.(?:pdf)($|&|?)/);
if (isDoc) {
startListening(hrefs[l],"click",trackExternalLinks);
}
} else {
startListening(hrefs[l],"click",trackExternalLinks);
}
}
catch(e){
continue;
}
}
}

function startListening (obj,evnt,func) {
if (obj.addEventListener) {
obj.addEventListener(evnt,func,false);
} else if (obj.attachEvent) {
obj.attachEvent("on" + evnt,func);
}
}

function trackMailto (evnt) {
var href = (evnt.srcElement) ? evnt.srcElement.href : this.href;
var mailto = "/mailto/" + href.substring(7);
if (typeof(pageTracker) == "object") pageTracker._trackPageview(mailto);
}

function trackExternalLinks (evnt) {
var e = (evnt.srcElement) ? evnt.srcElement : this;
while (e.tagName != "A") {
e = e[removed];
}
var lnk = (e.pathname.charAt(0) == "/") ? e.pathname : "/" + e.pathname;
if (e.search && e.pathname.indexOf(e.search) == -1) lnk += e.search;
if (e.hostname != location.host) lnk = "/external/" + e.hostname + lnk;
if (typeof(pageTracker) == "object") pageTracker._trackPageview(lnk);
}

0
Dena
January 15, 2009
64.50.95.2
Votes: +0
...

Thanks for this! I wasn't looking forward to placing the tracking code on each item. This is outstanding.

Installed it on a test page yesterday and have stats today.

Now to install it site-wide.

0
MarketingGuy
February 03, 2009
68.111.67.243
Votes: +0
...

I installed GA via your helpful info. Thanks very much for that.

Am new to Joomla and mixed up on finding folders; i.e. when to use cpanel vs admin, etc.

Site working well so far; http://rtcemarketing.com, but unsure where to go for the simple path to find and add to scripts folder. Please clue me in.

Also, I'm with SiteGround and they have awstats on the site. What is the difference, as it's not easy like here to find support from them. Should I use what your script enables, use awstats, or GA?

Thanks very much
MarketingGuy

0
wildwabbit
February 09, 2009
60.52.29.67
Votes: +0
...

Quote=

So the statistics for the downloads and external links will appear as content items. E.g. Within Google Analytics navigate to the "Content" section then select "Top content". The PDF's will be listed in here along with your websites pages. If you can't see the PDF files use the "Find URL" box and enter pdf then press "Go". This will bring up all the stats for your PDF downloads!

---------------

Is "Find URL" box = "Find Page" box ?

0
Dave
March 09, 2009
216.254.159.221
Votes: +0
...

Great article.

Would that work if I wanted to track clicks on a JavaScript pop-up?

Per example, if I had a form within a JavaScript popup, and I wanted to know how many people reached the form.

Thanks!

0
Rob
March 12, 2009
206.223.168.54
Votes: +0
...

Thanks for this easy script!

We're implementing this but only want to have EXE downloads filter down through to the reporting end.

What is the best way to modify the JS to do this cleanly?

....

var isDoc = path.match(/(? :exe)($|&)/); ??

Many thx
R.

0
Paul
March 16, 2009
80.79.35.121
Votes: +0
...

Hi,

We have implemented the code for automatic tracking on www.ordina.nl.

Does anyone know whether it should work to track downloads on pages like:
http://www.ordina.nl/Downloadcentrum/~/media/Files/Kennis/Whitepapers/folder siebel.ashx?forcedownload=1

Thanks!
Paul

Sumit Mahajan
Sumit Mahajan
March 17, 2009
193.34.231.234
Votes: +1
...

The script is wonderful.Hats off to all who has contributed to this script.

Only wanted to mention one thing about the implementation which seems to be little confusing.I am really sorry if i have offended someone.

I have just called this script thru include file which is already calling GA code.called this script above the GA code call.It worked.

Question: I hope siteoverlay will also work for external links.

Once again want to thanks all.

0
GaryMac
March 20, 2009
83.140.27.82
Votes: +1
...

Fantastic. Really amazed at this. I have over 2000 PDF's on my site. Now they are tracked.

Big thanks and best wishes from Sweden!

0
Alan S. Flint
April 16, 2009
86.172.231.168
Votes: +0
...

Hi,

I was delighted to find your suggestion regarding tracking downloads (in my case .mp3 & .rm audio files), and have started to implement your script across my site. So that we do not end up with confusion, where I had already done it, I am gradually going though the site and removing the on-click Google code. I had not tagged every file, and when I found your suggestion I rejoiced, shouted "thank goodness" I don't have to continue tagging every file link."

However, I have now realised that I may still have an issue. What do I do about the 'streaming' links, mainly with an .m3u extension, pointing of course to the actual .mp3 file? Your script does not register calls upon .m3u files, so what should I do?

Do I have to go back and re-tag the .m3u files with an on-clik tag, or an event tag, or something similar?

Any suggestions? Your help would be very much appreciated.

0
Peter
April 17, 2009
85.80.139.1
Votes: +0
...

This sounds great but I cannot get it to work... I would realy appreciate if you could take a brief look at this page
http://www.rockwool.dk/råd+og.../download

and let me know why the exe file or other pdf' on the site are not tracked...

Thanks in advance

Peter

0
Paul1
April 23, 2009
128.205.138.76
Votes: +0
...

Yesterday, I installed the script and added some extensions not in the original stack -- docx and xlsx, for example. I then ran a test on 5 separate downloads -- .doc, .docx, .xls, .xlsx, and .pdf

Today, I looked at my G.A reports and only 2 of the download types show up -- .doc and .xls. The .docx and .xlsx did not appear on the Content report. Nor did the .pdf.

So I was wondering. Since all of the hits that G.A. normally records are page views anyway -- that is, .htm, .html, .aspx, .php etc. -- why not code your script to do the reverse -- track everything but the file types that G.A. tracks. In other words, make the regex stack an exception list as opposed to an inclusion list. This way we would not have to constantly update the script as new file types evolve.

0
Dukes Online
April 23, 2009
74.62.208.167
Votes: +0
...

Great article! Thanks for the info it was very helpful.

0
Paul1
April 24, 2009
128.205.138.76
Votes: +0
...

Just checked again on the status of .doc, .docx, .xls, .xlsx, and .pdf.

The .doc, .xls, and .pdf downloads show-up. But the .docx and .xlsx do not.

It makes me suspicious of the accuracy and effectiveness of the script.

(FYI, this form gets chopped off in IE7 such that the "Add Comment" button did not appear in my browser.)

0
chris
May 05, 2009
124.168.162.48
Votes: +2
...

Using this code, i'm looking at content statistics for an external page, and the time on page is
00:05:56 , bounce rate is 62.33% and exit rate is 54%.

I thought by definition a link to an external site should have an exit rate of 100%. And how is it measuring the time on page, if it's an external link?

cheers

0
AliW
May 12, 2009
81.171.243.84
Votes: +0
...

Hi David,
thanks for this excellent script!

Is there anyway that it could track links that use the following:
'http://www.somewebsite.com/loader.cfm?csModule=security/getfile&pageid=46700'
where the pageid is unique to each document.

Thanks

0
karel zeman
June 11, 2009
119.73.40.100
Votes: +0
...

Neat idea with the script. If only Google Analytics would be able to track events as goals. It's the only reason for which i still use trackPageView() for tracking downloads.

However your script sounds the easiest solution to use in tracking outbound links.

Thanks for your post.

0
Audiate
June 11, 2009
64.114.25.60
Votes: +0
...

>>If you can't see the PDF files use the "Find URL" box and enter pdf then press "Go".

I can't see a 'Find URL' box anywhere... where on the page is it?
thanks,

0
Rob Gaedtke
June 12, 2009
208.39.234.5
Votes: +0
...

This is a great script. A programmer, Ryan Dyess over at Twelve Horses made some modifications making the tracking in google analytics a bit easier to manage. I will be posting the updated version in the next couple of days but wanted to drop a line and say thanks!

Rob Gaedtke

0
STC Webmaster
June 15, 2009
66.166.186.194
Votes: +0
...

Once the code has been implemented. How can I check if it was installed correctly? The only change I made for testing is the path name of the folder from /scripts/ to /js/. I have referenced the src= accordingly.

0
Anze
June 18, 2009
84.255.253.112
Votes: -1
...

Hey!

I have "a problem" tracking clicks on my images (lightbox; photo gallery). It's like that:

1) Have a page with photos on it.
2) On it are just thumbnails.
3) I'm using lightbox photo gallery, so that when someone clicks on a thumbnail, he/she can see the full-size photo.
4) I would like to track those clicks (checked several pages in the past days, tried writing different codes into HTML, but nothing seems to work).

Code (with thumbnail + full size photo) looks like that:





What & where do I need to write tracking code, so that Google Analytics will show me the number of clicks on my photos?

Thank you in advance for your help!

0
Nick
June 24, 2009
202.161.4.246
Votes: +0
...

Hi All,

Thanks to all who contributed to this article and comments. I thought you might be able to help me.

I've been hunting around for a script whereby I could initiate a Google Analytics Track Event, irrespective of if a browser is used to download a podcast mp3 file. So non browser devices will be tracked

I currently can use GA to track browser click throughs, feedburner to track rss subscriptions, but I want to track the downloads themselves. I don't have access to the log files on my media host (free bandwidth), but can run scripts on my website host.

What I would like to do is have something like the following happen.

1. request comes for www.mysite.com/media/load.php?f=example.mp3
2. this raises php trackevent to GA for 'example.mp3' and redirects to
http://media.mysite.com/example.mp3 the file for download

My current load.php script looks like the following.



Currently at the INSERT POINT i can do something like the following

$f = fopen('log.txt','w+');
fwrite($f,'$Destination_URL');
fclose($f);

But I would prefer to have a GA trackevent to allow me to us the GA interface rather than a scappy log file to monitor downloads.

Anyone got any ideas how to do this, or can you direct me to another example.

Thanks
Nick



Helen Evans
Helen Evans
June 30, 2009
64.114.25.60
Votes: +0
...

Just wanted to bump my question...
"navigate to the "Content" section then select "Top content". The PDF's will be listed in here along with your websites pages. If you can't see the PDF files use the "Find URL" box and enter pdf then press "Go". This will bring up all the stats for your PDF downloads!"
...I can't find a 'Find URL' box anywhere on my Google Analytics page. Can anyone else out there help? thanks,

0
Jen
July 10, 2009
64.128.172.62
Votes: +0
...

Thank you very much! I tried many different ways to solve this and it works great. Only drawback is tracking of PDFs and the like from sources outside the website (i.e., e-mail links and links on other sites). Still need the log files for that.

The only way I could think of for these types of downloads was a redirect of some kind in my htaccess file to a page that runs the GA tracking code. I got close but never settled on a fool-proof working solution.

0
Raidensurfer
July 14, 2009
81.137.210.42
Votes: +0
...

Hi There,

I have just installed this script, I am waiting for Google Analytics to refresh and I will let you know how I get on...

i appreciate you sharing this and I will update with positive feedback once I have seen the results.

Many Thanks
Chris Avery

0
Raidensurfer
July 14, 2009
87.113.29.96
Votes: +1
...

Great,

Worked Perfectly, Well Done and Thank You !!!

0
PeterP
July 17, 2009
75.83.44.21
Votes: +0
...

Hi, I'm not a JS expert, so please bear what may seem like some dumb questions, but :

1. is there any way to tweak your code to record right-click picture downloads?
2. I'm trying to track access to dynamically generated PDFs. As the MIME type of the pages being generated are PDF-- not HTML -- do I assume correctly that there is no way to track these kind of downloads through analytics?

Thanks for publishing your script.

0
jael
July 27, 2009
163.191.30.14
Votes: +0
...

Hi. I wish I could get your code to work on our pages. I have been messing with this for over a month now. I've been unable to get Google's page tracking code to track our pdfs and I can't get this code to work either. I've waited days (weeks) and searched top content for the pdfs. We have about 3,500 exits on the pages that load only pdfs so I know they're being viewed, but we're still not getting a count. I'm unfamiliar with scripting so it's probably something I did, but could it have anything to do with the fact that our home page is an aspx and we use includes (the code is in the header include). Our URL is http://trs.illinois.gov. Thank you for your help.
jael

0
Pan
August 06, 2009
69.204.240.197
Votes: +0
...

Thanks so much!

I just rebuilt the site for my DJ 'family'
Tracking downloads of our dj mixes
is extremely important to us.
We've been known to log over 100Gig
of download bandwidth in a month and we need to know
what and who is being downloaded!

We were using the old google code on the last
version of the site and stepped up to the new version
for our update.

Now all of our links are based in images and image mapping.
Which makes my life easier in many ways but
we could not effectively track downloads without
making total jabberwocky of our mapped links
using the standard call thats included in the link tag.

This is much simpler and fits in nicely without confusing
other scripts running our image maps

Ive got it all plugged in and eagerly await some track stats!

Thanks again!

0
Andrew
August 11, 2009
68.40.180.7
Votes: +0
...

One of my clients had this built into their original site and it works great. I am now trying to modify their GA installation to track pageviews across two domains per the instructions here: http://www.google.com/support/...swer=55503

But it doesn't work. I've triple-checked the installation of each element. Would this JS code be interfering with the pageTracker._link(this.href); onClick event?

Thanks!

0
Imran
August 13, 2009
86.160.128.170
Votes: +0
...

I have added the code accprding to the instructions but its been more than 48 hours nothing has been indexed. can any one tell what could be the reason
you can check it on the website : http://www.chalmor.co.uk

Thanks

0
Emme
August 20, 2009
63.251.87.214
Votes: +0
...

I have this installed on two Web sites and am generally very pleased. However, I am having the same issue as Stefan and Kevin. In my Top Content report, one of the top ten pages is always "/external//". Does anyone know why this occurs?

Anurag
Anurag
August 31, 2009
122.173.196.69
Votes: +1
...

I have added the code in my home page http://dj-jitesh.com/ but i am not able to get the records of download in GA. It might be possible that i am missing something, kindly help me if you can to let me know where i am wrong.

0
Cristian
September 04, 2009
79.114.1.209
Votes: +0
...

I have a .pdf portfolio at http://www.designplus.ro/3D/DesignPlus_3D.pdf and a single page site http://www.designplus.ro

Should the script work if the .pdf is accessed directly from an email and the downloader never actually opens the site, but only saves the pdf?

Thank you so much!

0
Ricky
September 06, 2009
80.203.89.112
Votes: +0
...

We have a link to a PDF that we would like to track. Is it possible to track the downloads without having to make changes to the code, by simply tracking the PDF as a goal? E.g. using a regular expression on .pdf? I have been doing so on another webpage, but can't seem to make it work on this site...

If not, will your solution be able to track people/links linking directly to the file, without going through the webpage?

0
Leslie
September 14, 2009
209.242.172.254
Votes: +0
...

will this track .flv?

0
Alison
October 21, 2009
124.168.161.120
Votes: +0
...

I have a problem with this script. I host work-in-progress pages on my website (domain 1) and upload 'live' pages to the client's site (domain 2) when approved. Google analytics has been set up to montitor domain 2, but the ("UA-xxxxxxx-x") obviously exsists on mirror pages on both sites. When I check the report of downloads, filename.xls downloads are reported that have never been uploaded to the client's site. Is there any way to isolate the development site domain/url from the reports?

0
Contest Listing
October 25, 2009
95.103.80.179
Votes: +0
...

We've just added it to our website www.ContestListing.com and we are curious about results. smilies/smiley.gif

0
Fred Robinson
October 26, 2009
63.254.171.226
Votes: +0
...

Thanks! I'm the Web Analyst for my Company. I also use Site Catalyst which tracks the same downloads out the box, and multiple other analytic applications.

(yes, i'm very busy)..

its great to be able to have a solution that tracks the downloads, but even better to be able to cross reference it with another independent application.

again, thanks!

0
gustavo
November 11, 2009
155.97.243.126
Votes: +0
...

I have installed the script, however, the content does not appear in 'Top Content' and the field 'Find URL' is not there for me.

I would appreciate some help.

0
raj
November 16, 2009
209.213.199.72
Votes: +0
...

Hello,
Can anyone suggest best way to track events.
Actually, I have the pagetracking already in my webpage and need to add event tracking code in Same page and also in dialog boxes(new windows for specific tasks(not require page tracking for these)), how to ensure that I can use the same pageTracker object in the Popup dialogue?
Or do I need to use a different object in the Popup window.
Some of the Labels I am getting from the server after some server side processing.
Can anyone suggest best way to accomplish this?
Thanks in advance.
-Raj

0
dgsdgdg
November 18, 2009
86.100.19.139
Votes: -1
...

http://www.prekybostinklas.lt/...-BUSHMENAS
register for free, collect points and earn prizes

0
Cormac Kernan
November 24, 2009
90.219.229.199
Votes: +2
...

Great article and script. I have ported it to jQuery for those already using jQuery on their site. Exercise caution as this code has not been widely tested yet. This code has a footprint of less than 50% of original code:

$(function() {
$('a').click(function() {
if ($(this).get(0).protocol == 'mailto:') {
var mailto = "/mailto/" + $(this).attr('href').substring(7)
pageTracker._trackPageview(mailto)
} else if ($(this).get(0).hostname == location.host) {
var path = $(this).get(0).pathname + $(this).get(0).search;
var isDoc = path.match(/.(? :doc|eps|jpg|png|svg|xls|ppt|pdf|xls|zip|txt|vsd|vxd|js
|css|rar|exe|wma|mov|avi|wmv|mp3)($|&|?)/);
if (isDoc) {
trackExternalLinks($(this).get(0))
}
} else {
trackExternalLinks($(this).get(0))
}
});
});
trackExternalLinks = function(link) {
var lnk = (link.pathname.charAt(0) == "/") ? link.pathname : "/" + link.pathname
if (link.search && link.pathname.indexOf(link.search) == -1) lnk += link.search
if (link.hostname != location.host) lnk = "/external/" + link.hostname + lnk
pageTracker._trackPageview(lnk)
}

0
Nazia
November 26, 2009
121.243.89.10
Votes: +0
...

Hi All,
Can anybody help me as to where to add this analytics code. Am using this for the first time.

Please advise...

0
priyanka
November 27, 2009
59.179.240.208
Votes: +0
...

I have a web page which consists mainly of thumbnail images which are linked to a .html file which opens in a new but resized window using the javascript "onClick" command.

i want to tarck all html files, open in next window, i used this gatag but no result, pls help....

0
chris
December 01, 2009
203.206.231.248
Votes: +3
...

Hi David

Will there be a version to cope with the new asynchronous GA tracking?

cheers and much appreciated.

0
Neil Covert
December 03, 2009
98.208.140.6
Votes: +1
...

I'm wondering if this script will work for advertising purposes.

If I want to add advertising links to my website, could I use this to track "clicks" or "click-throughs" so I and my advertisers know what is working - and also so I can collect advertising revenue from them once I know how many clicks or click-throughs there were?

Thanks.

Neil

0
deco
December 08, 2009
164.8.217.88
Votes: +4
...

Hy David,

I was wondering if this script is compatible with new Asynchronous GA tracking? And if not do you plan to modify this one to be compatible with new asynchronous ga script?

thanks much appreciated

Baptist Health Care
Baptist Health Care
December 15, 2009
199.190.155.2
Votes: +3
...

would love to see any updates for the new asynchronous tracking code as well.... great script/idea, THANKS!

0
Michael Crye
December 18, 2009
69.90.130.194
Votes: +0
...

We host all our download files on a different server and subdomain. What would be the best way to modify this script to see the subdomain as a part of our parent domain. So that it tracks the downloads and external links correctly. Analytics has been setup to see the two domains as the same thing.

0
hebhansen
January 11, 2010
95.209.253.155
Votes: +0
...

Any experience installing for Drupal?

In site config > goggle analytics -> advanced settings

It states that script tags should be left out and always end using semicolon.

I have entered this in the before field....:
src="http://www.yoursite.com/scripts/gatag.js" type="text/javascript";

Will this work?

0
dgilperez
January 26, 2010
80.37.137.23
Votes: +1
...

Hi there !!

I'm just wondering if this solution would track also when an user browses directly for the pdf URL. There is neither links nor clicks involved in the process ... is there still any solution to track such behaviour??

Thanks !!

0
Matt
January 28, 2010
62.244.178.30
Votes: +1
...

Hi

I would really like to use this on a website but the site uses a Content Management System therefore the links that are produced within the source code do not include the .file ext within the

0
Chris Stevenson
February 03, 2010
152.91.8.168
Votes: +0
...

Hi

I was trying out your script on one of our pages

http://www.aihw.gov.au/publications/index.cfm/title/10776

but I can't get it to work.

I'm not seeing any javascript errors or any statistics in our Google Analytics account.

Your advice would be appreciated.

Thanks,
Chris

0
Mazen Karkoukli
February 04, 2010
216.86.220.194
Votes: +1
...

Hi,

I have a question regarding the Script that tracks downloaded documents. I added the code but I haven't been able to see any recorded data under contents. I am wondering, since all pdf's are opened directly inside the page, when users click on them, would that be considered a downloaded document or not? and what is the best way to track such action?

Thank you,

0
Murah Coy
February 19, 2010
118.96.56.167
Votes: +0
...

does the tracker support for .flv files ?

0
solata10
March 06, 2010
84.255.235.48
Votes: +0
...

hello.

i installed this script, but when i look at source, i see no "onclick=''" in my code ..... is this ok ?
are events inserted in some different way ? or should
they be visible inside my source ?

thanks

0
Jeffrey Barke
March 12, 2010
96.224.43.62
Votes: +0
...

What is gatag.js licensed? MIT? GNU GPL?

Thanks!

0
Jan
March 20, 2010
92.29.45.210
Votes: +1
...

David,
after I installed this tracking code, in which part of GA report am I going to see what outbound links my visitors clicked and what they downloaded?

Thanks

Jan

Jaro Sebek
Jaro Sebek
March 25, 2010
64.196.44.10
Votes: +0
...

Hi David,

How can a pdf be tracked if it is inside an AP div and the Link is coded as [removed]; since it has behaviors such as Go TO URL and SHOW and HIDE? I tried your code above and it did not work.

Also, I noticed that your standard analytics code is slightly different than Google's code, for instance you have [removed] whereas Google has [removed]. Will that matter at all?
Thanks
Jaro

Jaro Sebek
Jaro Sebek
March 25, 2010
64.196.44.10
Votes: +0
...

Hi David,

Just a follow up on my question. I noticed when posted it puts [removed] wherever actual code is used. But Google's standard code can be found here: http://code.google.com/apis/an...rview.html as you probably know.

Jaro

0
ChrisP
April 05, 2010
207.172.56.18
Votes: +0
...

We've had the code in for a week and have not seen any results in analytics. Is the code still working?

0
Chet
April 12, 2010
195.59.180.153
Votes: +0
...

Hi, does anyone know if this script is compatible with SharePoint 2007?

Thanks
Chet

kelvin
kelvin
April 12, 2010
92.3.205.214
Votes: +0
...

Hi
Many thanks for all the info and code.
I have had this on my site for about a week now and have just checked it, all PDFS (Thats what i really wanted it for) have been logged (Downloads that is)

So once again many thanks and i hope this reassures your visitors that it does indeed work.

Regards
Kelvin (Webmaster)

Andrea Bowes
Andrea Bowes
April 21, 2010
81.171.225.126
Votes: +1
...

Hi

Thanks for the code this has saved us so much work, but I've been trying to find the results within Google Analytics and the original instructions given are;

"If you can't see the PDF files use the "Find URL" box and enter pdf then press "Go". This will bring up all the stats for your PDF downloads"

I can't find a "Find URL" box anywhere on the 'Main Content' or 'Top Content' pages!!

And looking through the posting i see a few other people are having this issue but I can see no response or resolution.

The only box i have is at the bottom of the page and that is to apply a filter with the options to Include / exclude.

Please can anyone tell me where I can find this "Find URL" box or how I can find download for .pdf, .doc etc otherwise adding the code is worthless

please help

0
Graphic Jaro
April 21, 2010
64.196.44.10
Votes: +0
...

Four instructions below on how to track downloads:

1. Here is Google Analytics instructions on how to track all "downloads": http://www.google.com/support/...swer=55529

2. Here is another site with instructions on how to track any "downloads": http://www.goodwebpractices.co...cally.html

3. But first you page must have the regular tracking code. You will need to get a tracker number. Here is the site to set up Google Analytics tracking: http://code.google.com/apis/an...rview.html

4. Finally, if you embed pdfs to deeply in code such as javascripted tags, I suggest you make the targeted pdf an image at about 500 pixels and place it in one of your html pages which has the regular (#3 above)tracking code. This way you can track it as an html.

0
Graphic Jaro
April 21, 2010
64.196.44.10
Votes: +1
...

When searching for amount of tracks, I go to Google Analytics and keep doing "view report" until I get to Top Content and then scroll down to "Filter Page" and enter the name or portion of the name I am looking for.

0
Graphic Jaro
April 21, 2010
64.196.44.10
Votes: +0
...

In a previous e-mail I gave four different URL helpful in setting up tracking, including how to track downloads, and this company seems to be checking it out before posting it.

Just keep doing Google searches for what you need until you get your answer or wait for these folks to post my e-mail with the URLs.

0
Graphic Jaro
April 21, 2010
64.196.44.10
Votes: +0
...

Looks like they ok'd the four instructions, see two messages above.

0
Mark Larsen
May 07, 2010
24.96.204.46
Votes: +1
...

Hi- I installed your auto tracking code just before the ga.js. I just want to make sure that it's OK to use your tracking code with the new "asynchronous" Google code that is inserted just before , not . The older code (before Dec 2009, which they still use on initial setup) is inserted at the bottom of the head.

Thanx, Mark

0
Mark Larsen
May 07, 2010
24.96.204.46
Votes: +1
...

Sorry- your message box didn't accept script characters. Lets try again:
Hi- I installed your auto tracking code just before the ga.js. I just want to make sure that it's OK to use your tracking code with the new "asynchronous" Google code that is inserted just before the end of the head , not at the end of the body. The older code (before Dec 2009, which they still use on initial setup) is inserted at the bottom of the body. (Sorry for the confusion.)

Thanx, Mark

0
BHC WebTeam
May 07, 2010
199.190.155.2
Votes: +1
...

Mark, this code is NOT for the new asynchronous tracking way

0
Haggy
May 14, 2010
64.131.170.139
Votes: +0
...

This approach does not work in iWeb since when using an HTML snippet, iWeb creates a separate .html page that gets called in to the parent html page. So essentially gatag.js is tracking an empty page!

Check out this thread
http://discussions.apple.com/thread.jspa?threadID=2420913&tstart=0

0
ChrisR
May 27, 2010
203.206.231.248
Votes: +2
...

With the google analytics changes on May 19, which make async coding the default, I guess gatag.js no longer works?

The recommendation is to put the new Google code at the bottom of the Head statement instead of just before the /body.

For now, we've gone back to the old code, as we really like your tracking of PDFs and external links. But ultimately we'd like to go async.

Are you planning to update gatag.js, or will it just work if we place it beofre the G code in the head?

cheers

0
Dmitrii
June 14, 2010
74.8.245.242
Votes: +0
...

Can I use this scrip to track visitors who right-click an image on my website and save it to their computer?

Thanks,

Dmitrii

0
TMA
July 07, 2010
65.206.82.62
Votes: +1
...

Is there a way to implement this with Asynchronous ga.js?

0
Melanie
July 09, 2010
69.70.166.58
Votes: +0
...

I'm trying to install this on a Joomla website. Can someone help me! Where do I put the script?

0
Dana
July 13, 2010
98.110.192.98
Votes: +1
...

Will this work with Joomla Sites? I just added your code to MedicareSherpa.com. I am actually going to add this code to my day job at TuftsMedicarePreferred.org. I found your code analyzing Medicare.gov. Honestly, this is a huge help and I can't wait to start tracking results, i thought i was going to have to this for every page and pdf. What a time saver. I am definitely a new fan.

0
Dana
July 13, 2010
98.110.192.98
Votes: +1
...

I just added it to my Joomla site. All you have to do is open Extensions, Template Manager, Edit Template, Edit HTML, and place before body tag at the end of your page. Should work across entire site.

0
henry
July 14, 2010
142.232.94.75
Votes: +1
...

I too am wondering if you are planning to make this compatible with the asynchronous analytic code?

0
Melanie
July 14, 2010
69.70.166.58
Votes: +0
...

I pasted the code and created a folder called scripts a the root of my site. I see the code in each page source, but nothing happens.

0
Melanie
July 15, 2010
69.70.166.58
Votes: +0
...

Yipeee.. it works now! I just needed to refresh my Google page. D'uh!

0
study abroad university
July 27, 2010
76.109.110.167
Votes: -1
...

excelent stuff

study abroad university

0
martin
July 29, 2010
87.28.49.141
Votes: +0
...

David

It appears promising, but I can't seem to get it to work. I've added your script, but I am not getting any PDF tracking data since. I have tried moving it (and the GA code) to the bottom of the page. Not sure if the problem may be that I have other js code also using event listeners and it may be clashing.
http://www.magus.co.uk/activestandards/about.html

Thanks

0
Brady
August 14, 2010
68.225.250.25
Votes: +1
...

Thanks so much for this script. It works great for tracking downloads and mailto clicks as an Event. How would I tell Google Analytics to track this as a Goal as well?

Thank you!

0
Magnus
August 17, 2010
90.225.123.110
Votes: +0
...

Hi
What if I have to track the use of right clicks (save target as), what would I use instead of onclick? I have tried onmouseup but tha does not seem to work. Any ideas?

0
Learn English
August 19, 2010
59.103.208.173
Votes: +0
...

Well done.. Greattttttt job. Now I can track the downloads of my pdf files.. Thankssssss a lottt

0
trimbakeshwar
August 24, 2010
122.169.77.64
Votes: +0
...

thanks alot for the information...u have saved my lots of time..i was stuck to this problem ...

0
Goran
August 30, 2010
78.2.116.130
Votes: +0
...

Hi, THANK YOU!!!

You saved me a lot of time tracking downloads on my website: http://free.com.hr - i have it for some time and never knew (except for my server logs) how many downloads i actually have!

Cheers!

0
TammyN
September 09, 2010
114.76.238.77
Votes: +0
...

hi

I was just wondering if you or anyone could help. I need to track downloads of PDF files but these files are being linked from an outlook email message. I dont know how to add tracking code to either the page or the link because
1. the PDF links are not contained in any html pages
2. I cant edit the HTML source of the email message

Thanks

0
Sylvain PINGONT
September 10, 2010
90.53.192.160
Votes: +0
...

Hello,

just a quick question regarding this script, is it still compliant with the new asynchronous tag of Googla Analytics ?

Thanks

0
Gavin Anderson
September 14, 2010
74.203.130.68
Votes: +0
...

smilies/cheesy.gif Wow! Awesome, exactly what I was looking for! Thanks!

0
WhiteDM
September 15, 2010
122.170.79.35
Votes: +1
...

One query David T,

I have created a PDF brochure widgets for different Companies.

If I need to track the downloads & clicks what should I do, as these widgets goes to company who in turn add these widgets on their websites.

So i can't implement the javascript analytic tracking code on their websites.

So how should I track the downloads & clicks?

Code of Widgets:















0
Murray Williams
September 16, 2010
196.25.148.74
Votes: +0
...

Good Day,

I have a question and am battling to find a solution. Would I be able to use the javascript code to not only track who downloaded and clicked on which link but also which joomla user if I supply connection details to the joomla user table in the database but this may cause a security issue.

If anyone has any suggestions please let me know.

0
Anthony Della Fave
September 27, 2010
98.109.160.166
Votes: +0
...

I fould this link regarding the Google Analytics async update. Would anyone be able to suggest how to update the scripts mentioned on this page to work with the new async format?

http://www.google.com/support/forum/p/Google+Analytics/thread?tid=16314668d395d15d&hl=en

"You should be using something like this:

onclick="_gaq.push(['_trackPageview', '/download/mystuff.pdf']);"

The "[removed]" prefix is unnecessary (even in your old code) and you should be using the async syntax for all GA calls."

0
Anthony Della Fave
September 27, 2010
98.109.160.166
Votes: +0
...

I believe I've updated the script to work for the Google analytics async tracking. I also tried to add a section for "tel:" links. I don't think the mailto or tel links are working, but I believe document links (pdf, etc) are. I haven't waited to see yet what shows up in Google analytics, but I'm receiving the _utm.gif file for the tracking of the pdfs, according to Chrome debugging. When I click the mailto or tel links, it gives an error in chrome debugging "Failed to load resource". I'll see tomorrow what, if anything, shows up in Google analytics. FYI, my website is all4dancestudio.com and I'm currently using this script specifically because the interface of my host officelive.com, doesn't allow me to edit the html of the onclick's directly. Hope this helps someone...

It wouldn't let me post the whole modified script, but the important part was changing the pagetracker line to "_gaq.push(['_trackPageview', lnk]);"

0
Anthony Della Fave
September 28, 2010
98.109.160.166
Votes: +4
...

links from mail, tel, and documents wokring with new async tracking:

if (document.getElementsByTagName) {
// Initialize external link handlers
var hrefs = document.getElementsByTagName("a");
for (var l = 0; l < hrefs.length; l++) {
// try {} catch{} block added by erikvold VKI
try{
//protocol, host, hostname, port, pathname, search, hash
if (hrefs[l].protocol == "mailto:") {
startListening(hrefs[l],"click",trackMailto);
} else if (hrefs[l].protocol == "tel:") {
startListening(hrefs[l],"click",trackTelto);
} else if (hrefs[l].hostname == location.host) {
var path = hrefs[l].pathname + hrefs[l].search;
var isDoc = path.match(/.(? :doc|eps|jpg|png|svg|xls|ppt|pdf|xls|zip|txt|vsd|vxd|js
|css|rar|exe|wma|mov|avi|wmv|mp3)($|&|?)/);
if (isDoc) {
startListening(hrefs[l],"click",trackExternalLinks);
}
} else if (!hrefs[l].href.match(/^[removed]/)) {
startListening(hrefs[l],"click",trackExternalLinks);
}
}
catch(e){
continue;
}
}
}

function startListening (obj,evnt,func) {
if (obj.addEventListener) {
obj.addEventListener(evnt,func,false);
} else if (obj.attachEvent) {
obj.attachEvent("on" + evnt,func);
}
}

function trackMailto (evnt) {
var href = (evnt.srcElement) ? evnt.srcElement.href : this.href;
var mailto = "/mailto/" + href.substring(7);
_gaq.push(['_trackPageview', mailto]);
}

function trackTelto (evnt) {
var href = (evnt.srcElement) ? evnt.srcElement.href : this.href;
var telto = "/telto/" + href.substring(4);
_gaq.push(['_trackPageview', telto]);
}

function trackExternalLinks (evnt) {
var e = (evnt.srcElement) ? evnt.srcElement : this;
while (e.tagName != "A") {
e = e[removed];
}
var lnk = (e.pathname.charAt(0) == "/") ? e.pathname : "/" + e.pathname;
if (e.search && e.pathname.indexOf(e.search) == -1) lnk += e.search;
if (e.hostname != location.host) lnk = "/external/" + e.hostname + lnk;
_gaq.push(['_trackPageview', lnk]);

}

0
Rox
October 05, 2010
122.57.150.22
Votes: +0
...

Hi, Does this script track right-clicks as well as left-clicks? ie. Windows users have to right-click to download my mp3, Mac users Ctrl-left click. Thanks

0
Harold Rau
October 07, 2010
24.107.105.142
Votes: -1
...

Does the code you download from the top of this page work with Google Analytics Asynchronous script?

0
Lauren
October 18, 2010
98.233.236.83
Votes: +0
...

I have implemented this script and code on several sites that I manage and it doesn't seem to be tracking any PDF downloads. What am I doing wrong?

0
mrChrisman
October 30, 2010
76.218.112.247
Votes: +0
...

Im using Google Analyticator plugin on WordPress, Self hosted, Im having a hard time adding it directly above the main tracking code, can i just add it to my header.php file, which is where my regular tracking code appears too?

0
Divya
November 03, 2010
122.170.68.207
Votes: +0
...

I have widgets here in which the company can download a PDF. I want to track how many clicks are done for PDF download.

in the widget script.. I have added a code

0
geoff widders
November 04, 2010
86.2.247.235
Votes: +0
...

Hi there, I've clicked on your link 'Google Analytics link tracking JavaScript (click here to download it)' but instead of getting a file download it takes me to a file smilies/sad.gif so not sure what to do. Hope you can help.
thanks
Geoff

0
geoff widders
November 04, 2010
86.2.247.235
Votes: +0
...

Failing the above, can anybody tell me what is wrong with this attempt?
Flight of the Shaman [pdf]
thanks again
Geoff

0
Jesse Drujon
November 12, 2010
72.85.223.208
Votes: +0
...

Hi there. I am having what seems to be a common problem with installing the gatag.js correctly. I have placed it directly above the Google Analytics code as instructed, but it isn't yielding any results (pdf downloads primarily) in the GA dashboard.

If somebody could take a look at my code and let me know if I've done anything wrong, that would be incredibly appreciated.

http://www.wrrb.org

Cheers,

Jesse

0
Free Tax Advice
November 15, 2010
65.34.144.49
Votes: +1
...

Every biz need to know how to track. I will try this system out.

Income Tax Experts

0
Free Tax Advice
November 15, 2010
65.34.144.49
Votes: +0
...

Great tracking code. Everyone should use this on their website.

Tax Experts

0
usha
November 30, 2010
202.141.140.27
Votes: +0
...

i cant see find url box. where is it present?

0
Grega Stern
December 01, 2010
89.212.251.210
Votes: +0
...

This js is pure bliss. I easily changed it to track Events which is even better, because it does not interfere with pageviews count.

Thank you.

0
Gynna Millan
December 03, 2010
144.82.240.70
Votes: +0
...

Hi everyone, I just wanted to ask Im not a web developer but I maintain the website of the company where I work. I want to track the downloads made by visitors of our public documents. I read your solution but i don quite understand how to paste this code. The website work in (CMS) There is one box that ask me straight for the google analytics code. Is in this box where I have to put the long text you recommend? plus the code that start with UA-? also in the code you paste there is one link www.yoursite.com do I have to change it for the URL of the site of the company?
sorry if I am basic but as I said before I am just getting to know how this things work.
I highly appreciate your guidnace in this!!

0
Jan Fuellemann
December 10, 2010
217.92.180.30
Votes: +0
...

Hello,

how can I add .dmg extension to the list of tracked files?

0
Cristina
December 10, 2010
212.166.156.45
Votes: +0
...

Hi David,
and thank you.
It is true that I´m completely amateur but I was just going crazy trying to install the onclick function in evert file tag...plus I´m not able to make it work!!!

I´ve just try this new way to do it, following your advice. My question is: will I see every downloads of every kind of file just by ckecking the GA general content view? That is, I´ve got a pdf and a zip file to track on every page (mine is a ebook website) and I´d like to know which ebook and which format is been downloaded.

Thank you again!

0
habeyhl
December 21, 2010
64.94.16.2
Votes: +1
...

Has anyone been able to modify this script to work with the new Asynchronous tracking code? It uses _gaq.push(['_trackPageview', 'yourfile.pdf']); rather than pageTracker._trackPageview('yourfile.pdf'). My JS skills just aren't cutting it to make the modifications needed.

0
Nick Weynand
December 28, 2010
71.41.147.210
Votes: +0
...

Hi. Thank you so much for providing this!

If I want to track links using your method, does the analytics code and your code need to come before all the links on the page or can it all still reside at the bottom right before the closing body tag?

0
Pradeep
January 06, 2011
111.93.131.133
Votes: +1
...

Hi..This is great! A very useful tool to keep track of our website usage..

Is there a way to retrieve the IP address or the Geographic region of the Users who downloaded the content from our website?
Any help would be greatly appreciated..

Thanks a Lot!

0
Mike M
January 07, 2011
131.156.181.253
Votes: +0
...

Does anyone know if this script works with the new GA Async code?

0
anon
January 07, 2011
199.190.155.2
Votes: -3
...

PEOPLE!!! No one supports this script anymore, NOR will it work w/the now default, GA asynchronous code !!!

While it still works, it will NOT work w/the asynchronous code.

Use [ http://gaaddons.com/ ] instead

0
Anthony Della Fave
February 04, 2011
98.109.160.166
Votes: +0
...

My comment from September 28, 2010 has the code of this tracking script working with the asynchronous code. Does anyone know how it can be updated to track hash tags?

0
Dave A
February 04, 2011
64.119.141.134
Votes: +0
...

This is very helpful to understand how this works. However, I wonder if you have considered how to handle "direct downloads"--i.e. situations where a document is directly linked from another website or shared through an email. In that case, the user will never be on a web page where the javascript can execute. Web log file analysis tools like analog, webtrends, etc. will show that GA underreports file downloads if you have a lot of this kind of thing going on.

I wonder if anyone has written an apache handler for this. Sometimes you configure the webserver to prevent file "leeching" by redirecting unreferred requests for files, and it seems to me you could use that approach to funnel such requests through a page that could then generate the tracking before allowing the user through to the document.

0
Steve L
February 16, 2011
147.185.160.242
Votes: +0
...

Anthony,

Thanks for the modified gatag scrip for async code on Sept. 28. One question, in the old version, the gatag.js script had to come before the GA code. GA says it now needs to come after in order to work. Is this true? Where are you calling the script in relation to the GA script?

0
e-mphasis Internet Marketing
March 04, 2011
62.121.26.225
Votes: +1
...

We use a 'redirect' code that can hide the URL from crawlers and tracks internally but it's certainly nice for webmasters to have the data in analytics.

0
pratik
March 08, 2011
121.246.222.184
Votes: +0
...

Hi,
it seems good..
it provide download file track..
does it track file download (failure/success) for every hit
(failure could be anything, server down, connection breakup, user might himself cancle it)

0
Jack
March 10, 2011
174.28.90.119
Votes: +0
...

In regard to step one of installing the code segment in the "script" folder. I'm assuming the code needs to be pasted into a .txt or possibly .js document that will be uploaded to the "script" folder.

If this is correct what is the name of the file and what extension should be used?

Thanks

0
simon
April 02, 2011
109.129.63.8
Votes: +0
...

Hi,

My website is in php and i had difficulties to enter the tracking code. Thanks to your website I finally mangaged. Great Job

Simon
http://www.ebook-store.eu

0
David Whitehouse
April 07, 2011
173.180.168.221
Votes: +0
...

Hi,
This is a great article and code snippet thanks.

I have a question about implementation. My tracking code is located in a php file and is added at the end of each page as an include. Would I add the script at each page head like any other js script?

Cheers, great job
D

0
justme
April 13, 2011
65.125.28.253
Votes: +1
...

The xls file extension is listed twice in the code.

0
carlosvandy
April 14, 2011
129.59.125.95
Votes: +0
...

hello

like a few other people here I am only getting "/external/" in my content report after implementing this ... no other information about the link address

I saw that NWO solved the same problem by moving everything to the bottom of the page right before but I had no such luck

thanks for any help!

Carlos

0
carlosvandy
April 14, 2011
129.59.115.2
Votes: +0
...

hello

after implementing this a few weeks ago external links are all being represented by only "/external/" in our content report without any other link address information

many thanks for any help!

Carlos

0
Tyler
April 15, 2011
159.238.57.136
Votes: +1
...

Hi there,
I'm trying to get my site to track the downloads, but so far no luck. I've checked over my code again but i'm not seeing anything wrong. I downloaded documents from my site yesterday so I was sure there should be results, but upon checking this morning it has not tracked downloads in the content section of analytics. I'd appreciate the help! My site is: www.communitycolleges.wy.edu

Thanks

0
e-mphasis Internet Marketing
April 18, 2011
77.76.121.65
Votes: +0
...

We're going to be adding some tracked downloads on our site at http://www.e-mphasis.com/, we'd appreciate a few clicks at some point to test it. Thanks

0
e-mphasis Internet Marketing
April 18, 2011
77.76.121.65
Votes: -1
...

Sorry that link came out wrong, try http://www.e-mphasis.com

0
Nancy Holtz
May 02, 2011
205.225.146.106
Votes: +0
...

Inserted your code and js file to pick up download events on our website when using Google analytics. However, we discovered on a given day Urchin is picking up 13,000 download events and your code is only referencing 21 when viewed via Google Analytics. Can you help us determine why your code is not picking up all download events?

0
Jason Mark
May 05, 2011
74.94.190.9
Votes: +0
...

This solution tracks "clicks to PDF downloads" but does anyone know of a solution which will track PDF downloads?

For instance:
1) user A goes to http://www.gravityswitch.com/ourwork/highered/ and downloads one of our PDFs

NOTE: We can see those clicks in Google Analytics with a Javascript like the one described here.

2) that same user copies the URL of the PDF and emails it to a friend: http://www.gravityswitch.com/u...152010.pdf

RESULT: the friend (and everyone the friend shares the PDF with) isn't tracked.
EXPECT: would love to do something on the server-side which actually tracks it all.

NOTE: We do a lot of Drupal work (as well as Wordpress and Expression Engine) so plugins for any of those systems would be great...


0
Sean
May 06, 2011
74.14.99.49
Votes: +0
...

Just wanted to say thanks so much for the script, the tutorial, and the ongoing troubleshooting in these comments. I just came across this and installed it no problem. I was able to go into GA and find the information I want because of the comments here.

Thanks for the help!

0
Alex Munguia
May 29, 2011
99.67.172.219
Votes: +0
...

Have a question. I am new at this stuff and from what i have heard so far is that with this code you could track downloads on your site. My question is that if you have a download page on your site and you want to keep track of all the files that are being downloaded on that page of your site only, is it necessary to add the code in all pages of your site?

0
Alex Munguia
May 29, 2011
99.67.172.219
Votes: +0
...

Also, doesn't Google provides you your own piece of code when you signed in your Google Analytic s account?
Where do you enter the piece of code on you html page?

0
Alex Munguia
May 29, 2011
99.67.172.219
Votes: +0
...

I would really appreciate if someone could help me.

0
Al
June 09, 2011
81.136.230.197
Votes: +0
...

Thank you very much. This script has been extremely useful.

Initially we had problems as
var hrefs = document.getElementsByTagName("a");
wasn't returning any objects because the DOM wasn't loaded when it was called.

To solve it we wrapped the
if (document.getElementsByTagName) {
...rest of your code here...
}
code inside a function.

Then we called it using the startListening function like this

window.onload = startListening(window, 'load', initGaTag);

function initGaTag () {
if (document.getElementsByTagName) {
...rest of your code here...
}
}

All the best
Al

0
Ester
June 19, 2011
76.175.232.139
Votes: +0
...

I am trying to track links on
chimehost and wondering if this works with latest version of code from Google.

0
Jason
June 22, 2011
195.149.3.163
Votes: +0
...

I'm quite sure this does not work

I have the updated tracking code, had this js file running for the past few weeks above the analytics and im getting nothing filewise in GA.

No files only web pages, nothing in events either.
Am i missing something or have google updated their code for this not to work?

J

0
vietnam tours
June 26, 2011
123.17.130.168
Votes: +0
...

Thank you very much. This script has been extremely useful.

Initially we had problems as
var hrefs = document.getElementsByTagName("a");
wasn't returning any objects because the DOM wasn't loaded when it was called.

To solve it we wrapped the
if (document.getElementsByTagName) {
...rest of your code here...
}
code inside a function.

Then we called it using the startListening function like this

window.onload = startListening(window, 'load', initGaTag);

function initGaTag () {
if (document.getElementsByTagName) {
...rest of your code here...
}
}

All the best
Al
vietnam tours

0
richardbhong@yahoo.com
August 02, 2011
112.205.143.56
Votes: +0
...

Thanks for this post. Worth reading. I just do have a problems tracking my old post to the new post. Is there am I missing or done wrong? Thanks and looking forward for more...

0
Ethan Wayne
September 06, 2011
184.57.49.22
Votes: +0
...

There is a new Asynchronous Google Analytics tracker and tracking file downloads is slightly different.

I'm using Entourage.js to track file downloads automatically and it's working for me:

http://techoctave.com/c7/posts/58-entourage-js-automatic-download-tracking-for-asynchronous-google-analytics

The author has a detailed instruction guide.

0
Yu Ming
September 11, 2011
184.57.49.22
Votes: +0
...

I use the asnyc automatic too. It is updated for Google anyc. It's the automatic download tracker.

0
asianventure
October 04, 2011
117.6.128.148
Votes: +0
...

I am using on my site http://www.asianventure.com

0
ot
October 05, 2011
204.57.75.174
Votes: +0
...

Does anyone have an updated gatag.js code that would work with Google's asynchronous tracking code? I am pretty sure it does not work

0
p
October 08, 2011
184.57.49.22
Votes: +0
...

It works!

http://techoctave.com/entourage/

0
p
October 08, 2011
184.57.49.22
Votes: +0
...

It works!
http://techoctave.com/entourage/

Sorry double post

0
Mr Ronz
October 12, 2011
2.124.107.223
Votes: +0
...

Hi,

I've installes as instructed, but cannot see anything showing up in the Analytics content... It's been only 2 days, but the other tracking stuff started working after 24 hours...

I've made the site in iWeb (I know, I know...) so may well have got something wrong.

I see you've kindly looked at a few peoples sites - could you possibly have a look at http://www.emmysunicorn.com.

There is a zip file download on there that I'm desperate to track.

(And while you're there feel free to download the songs and have a listen!)

Cheers

Ronz

0
benb
January 16, 2012
81.154.49.21
Votes: +0
...

Great article thankyou.

One question - will this script work with a Joomla site?

Thanks
Ben

0
George
February 01, 2012
62.7.85.240
Votes: +1
...

Is it working with the new async Google code?

0
Robert
February 02, 2012
57.67.195.200
Votes: +1
...

Hi,

I tried the gatag.js script on www.rijnhal.com website and due to Firebug gatag.js and ga.js are both loaded on all pages. However it is not tracking the external links in Google Analytics. I hear people tlaking about async Google code and I don't know what that means but perhaps that's my problem as well.

By the way the site is running Joomla v.2.5

Hope someone has a solution because being able to track external links will help us.

Kind regards,

Robert

0
James Brack
February 15, 2012
87.82.199.162
Votes: +0
...

I hope someone can help me? My site uses ashx handlers to download the files, and I'm wondering whether gatag.js will track this type of download

0
Hasan Tanvir
March 09, 2012
193.239.220.249
Votes: +0
...

This solution has worked for us. Thank you team!!

God bless you All smilies/smiley.gif

0
Yameen Khan
March 16, 2012
122.176.108.211
Votes: +0
...

hii David

is this code use to track multiple PDF files separately, how can i know that this particular file is downloaded.

please help

0
Donnie
March 31, 2012
99.26.176.62
Votes: +0
...

Can you track an already downloaded file on the computer after connection was broke and file was deleted?

0
Mou
April 12, 2012
81.159.16.62
Votes: +0
...

Thank you

0
Rugerfred
April 15, 2012
93.36.116.63
Votes: +0
...

Where i can see the results of the tracking?

0
???
April 25, 2012
98.126.196.122
Votes: +0
...

If the bean is mildewed, throw it away as the mildew will spread to uninfected beans.

Write comment
 
  smaller | bigger
 

busy
 
Created by David Towers of Beetham Tower Manchester