0

We have a range of web applications here that allow users to download selected data from a number of databases and online services. Mainly Environmental information. We can track users visiting web pages using tools like Piwik or Google Analytics. We also want to track the amount of resource or data that they use, possibly also applying limits to record downloads.

If this was a single DB system we could track rows delivered within the db. However here we have a SOA with a range of sources and sinks. What I envisage is a service that can be messaged by other systems to register or track the amount of a resource used. e.g User Andrew was sent 125MB of water quality data.

The central data metering service tracks usage messages from a variety of sources, produces reports and where appropriate applies caps or billing limits. This service might be expanded to include processing as well as data download.

I would consider this to be a not unusual requirement but I can't find much in the way of existing software for it - perhaps because I am not using the correct terminology.

SO my questions:

  1. What would you call this service - what keywords will lead me to existing systems?
  2. What solutions already exist in this area - in particular FOSS or cloud based systems?
  3. Could something like Google Analytics be persuaded to operate in this fashion?

1 Answers1

0

It would be possible to do with the measurement protocol from Google Universal Analytics in conjunction with the user id feature in Analytics and one or more custom dimensions.

The measurement protocol is a language agnostic vaguely REST-like (inasfar as you send a bunch of parameters to an endpoint) protocol to send tracking data to the Google servers.

User id is a feature to recognize authenticated users across devices and multiple visits.

If the various parts of your setup send http calls build to the measurement protocol and include the user id to recognize the user and a value for a custom dimension for the file size (or rather a custom metric if you want to have sums and averages) and maybe a custom dimension for the file name you can send this to you Analytics account and build a custom report for downloads.

Note that the user id is an internal id that is used to link together visits by the same user from multiple devices - it is not something that shows up in the reports that would allow you to report on individual users in the Analytics interface (if you want that you need to include another id as custom dimension, and you have to check with the Google TOS what kind of id is allowed). Plus you'd need a dedicated data view in GA for sessions with a user id which will not show unauthenicated users.

Eike Pierstorff
  • 31,996
  • 4
  • 43
  • 62
  • Thanks for the pointers into GA. This seems complex when we have known signed in users, so I'm still interested in any existing software solutions. – Andrew Watkins Jun 26 '14 at 22:57