It's always bothered me that Google Analytics (and similar embedded web traffic monitoring services) can only see a reflection of the traffic going to my server and can only see page visits since it depends on the browser executing a Javascript snippet. If I want to track real downloads of a software package (ZIP file), there's no way Google Analytics can possibly tell me that because its javascript can't be attached to a ZIP file. Is there a way I can upload my log files to Google so that the pointy-haired boss can see downloads of our ZIP/PDF/BIN files and not just visits to the download page?
5 Answers
The only true way to analyze web traffic on your site is to look at the actual log files on your web server with something like WebTrends, SmarterStats, AWStats, etc.
It's always bothered me too that Google Analytics doesn't track file downloads out-of-the-box. One would think this is a common scenario...
I had the same issue and Googled around. Learned two things. First, make sure you're using the newer Asynchronous Google Analytics. The asynchronous GA will make your website load faster. Finally, track file downloads automatically. The manual recommendation made by Google gets tiring quickly - especially if you have a lot of file downloads like me.
To track file downloads automatically, I use an extension to Google Analytics called Entourage.js:
The developer has a really good installation guide and an explanation of his thought process while developing the extension. Check it out!
For me it was as easy as installing Entourage.js into my scripts directory like so:
<script type="text/javascript" src="/scripts/entourage.js"></script>
Followed by my GA code afterwards.
Google Analytics can't analyse your log files, for that you'd need the paid version called Urchin. What you can do though is track clicks/interactions on links to files. You can track clicks in two ways, as virtual page views or as events. Generally speaking, event tracking would be the recommended way to track downloads.
-
I have not seen a setup where Google Analytics Events is helpful specifically for tracking use/downloads of files that aren't html. An Event seems to require that the viewer take an action on a link. So, it tracks an event on a link or button, not the load of the resource at that address. This is significant because the file may actually be reached through a link in an email, text or typed in the address bar. Commented Dec 31, 2016 at 19:18
I'm going to add another answer here too. Based on the Google Analytics documentation for their iOS and Android SDN, it's possible to send traffic events from non-webpages. Some people have figured out how to use this API to send traffic directly from your server-side server-side application code, so now you can use the Google Analytics API to send traffic events manually from your download handler. Here's a link to the relevant libraries depending on your framework of choice:
- (PHP) php-ga: http://code.google.com/p/php-ga/
- (.NET) google-gdata: http://code.google.com/p/google-gdata/
Update: The Google Analytics Measurement Protocol Developer Guide has instructions for issuing your own REST-style API calls to track whatever data you wish. This can include things like file downloads, calls to an API endpoint, or anything else.
May be common sense and so no one posted but I'll suggest it anyways.
You can create a confirmation page [auto download] that directs a download visitor to after the file has been clicked.It works for us because we only have a handful of files so might not work for all.
Example: Page to download application file is actually just a link to another page. This page has an action to automatically download file when page is fully loaded. We create an action in GA if a visitor reaches this page because visiting this page always auto downloads the file. We use wordpress and there are several free extensions that provide this functional and can be set up in under 5 minutes.
One item on our wish list is to be able and link the website download visitor to the GA installed within the application so we could see such metrics for installed or not.