Are there any .NET frameworks for collecting data similar to Google Analytics, for example to know how many people use a specific feature or how many people launch the app. The only solution that I have found is EQATEC Analytics which is pretty good, but doesn't show which feature or which versions of the app are being used. Based on the API it appears that it does collect the data, it just doesn't present it.
-
http://www.trackerbird.com is a good alternative, with very extensive filtering/segmentation. Disclaimer: I am affiliated with the company. – Dive50 Jul 24 '13 at 20:21
-
possible duplicate of [How to use analytics for desktop applications?](http://stackoverflow.com/questions/1554062/how-to-use-analytics-for-desktop-applications) – David d C e Freitas Feb 03 '14 at 23:29
7 Answers
Disclaimer: I am a developer on this product so I may be a bit biased.
You should check out the new functionality available in Dotfuscator Community Edition shipping in Visual Studio 2010 (now out in Beta). It provides a free code injection engine to insert usage tracking functionality directly into your .NET binaries. This will work on any .NET application from .NET 1.0 through 4.0. Since it is a post compile code injection solution you can even accomplish basic run time usage and feature tracking without modifying your source code.
We are writing a number of blog posts covering these topics. A summary of the new features is here What Is Runtime Intelligence .
An overview blog post on how to implement is at What's New with Dotfuscator in Visual Studio 2010 Beta 1 .
I have also started a more in depth series, covering details and some usage ideas, with the first article here Correlating Downloads to Usage With Visual Studio 2010 .
There is also a commercial product with more feature than are available in the free version. In addition we also provide similar functionality for Java applications, using our DashO product as the code injection engine.

- 6,338
- 1
- 23
- 18
Use Google Analytics "Universal Analytics." It's trivial to send the RESTful payloads it expects. Since your app doesn't serve pages, send "Events" instead. You can still use the G.A. "Flow" views etc to see not only counts but also maps of user behavior -- what the users did first, then next, etc. Invaluable from a UX standpoint.

- 3,295
- 1
- 16
- 20
I have recently released a .net library that allows you to log page views from native .net code.
Its called GoogleAnalyticsDotNet and can be found here:
http://www.diaryofaninja.com/projects/details/ga-dot-net
Example API usage:
GooglePageView pageView = new GooglePageView("My page title",
"www.mydomain.com",
"/my-page-url.html");
TrackingRequest request = new RequestFactory().BuildRequest(pageView);
GoogleTracking.FireTrackingEvent(request);
API Usage for events:
int? eventValue = 100;
GoogleEvent googleEvent = new GoogleEvent("mydomain.com",
"Event Category",
"Event Action",
"Event Label",
eventValue);
TrackingRequest request =
new RequestFactory().BuildRequest(googleEvent, HttpContext.Current);
GoogleTracking.FireTrackingEvent(request); I will be adding transaction support soon

- 6,460
- 5
- 59
- 83
I would suggest Trackerbird Software Analytics. Has some very neat filters and visualizations.

- 145
- 1
- 4
Just an update to the EQATEC Analytics post from Keivan: EQATEC was acquired by Telerik in March and the new website URL is

- 2,909
- 17
- 36

- 111
- 2
StatHat is AMAZINGLY simple and super fast. I just started testing their stuff out for out .net WinForm client app and it is looking great.
All you have to do is include one file into your solution, and you can start logging stats right away
They have event/action stats and they also have running total stats.
They have support for many different libraries. I literally had this up and running in 2 minutes from sign up to first logged event.

- 3,436
- 11
- 44
- 75
-
-
@StevenJeuris It literally supports everything. Even prolog and scheme. It's amazing – jordan May 15 '14 at 20:43
-
I wasn't referring to supported languages, but to what can be tracked. It seems only numerals are possible? What about associated data, linking data to particular users, etc ... (sidenote, I did not down vote and appreciated the link) – Steven Jeuris May 16 '14 at 14:48
-
You have a string to play with. You can literally place anything you can imagine in the string, then filter the events based on user, company, application etc... and then have reports emailed to certain emails every day or week or month. You should see the giant list of different events that are being tracked on my stathat. I actually use clicky as a main, but it took custom code to post to from C#. Stathat just worked in a very short amount of time with no custom code. – jordan May 16 '14 at 15:25
Google Analytics isn't just for websites, they have bindings for:
- .NET (C# etc)
- Objective-C
- Android
- iOS (Apple)
- Gadgets
- Chrome Extensions
- Flash/Flex
- Silverlight (C# essentially)
So you can use Google Analytics pretty much anywhere, and they don't seem to have too much of an issue with it.
See also: Google Analytics Core Reporting API Client Libraries & Sample Code

- 7,481
- 4
- 58
- 67