I am developing shareware and I am interested in knowing how many times my products has been installed on users machines. I am not looking for security or license questions but I am just interested in the conversion ratio (installations vs. registrations). I thought about a simple servlet which will be called from my clients with a UID and which will count the distinct UID calls. Does anyone know of a more elegant solution or something ready to use? My client software is written in .NET. Best regards Sebastian
Asked
Active
Viewed 246 times
3
-
Whatever you choose, make it opt-in: users must click something to send the notification. Going after precise vanity metrics might have the net effect of turning users away from your software. You could prompt, once, after a few days of use? – ixe013 May 23 '12 at 21:17
-
ixe013: you are right and I wanted to ask the user for permission although I will definitly not send anything that might be considered as personal data – bash74 May 23 '12 at 21:34
-
Take a look at Visual Studio Application Insights. https://azure.microsoft.com/en-us/documentation/articles/app-insights-windows-desktop/ – smedasn Apr 24 '16 at 15:57
1 Answers
0
A bit old question, but I had the same question just one year ago. I am also a shareware developer, and like you, I wanted to know the conversion rate between free installations and paying users. My software was working under MacOS and Windows so I wanted a cross-platform solution.
I ended up making my own solution. For Windows, it is a DLL that you can call from your application and send the usage data to Google Analytics (as a shareware dev, you probably already have a Google Analytics account). I chose Google Analytics as the reporting platform because it is free, so is my DLL (for the moment; I do not know in the future).
More info at: https://www.starmessagesoftware.com/softmeter/sdk-api
Sending usage data is very easy. Example:
// don't forget to pick user's consent
bool userGaveConsent = .....(pick from the app settings)....
start("MyApp", "1.0", "Free trial", "Windows edition", "UA-12345-0", userGaveConsent);
// you can send any number and combination of pageViews, screenViews, events, exceptions
sendScreenview("Main screen");
sendEvent("Registration", "User entered registration code", 1 );
sendException("Error while importing a custom file", false);
stop(void);

Mike
- 436
- 5
- 9